diff --git a/CHANGELOG b/CHANGELOG
index 20e7a36a38c83e77511d058c8e9f459732964672..879c3a6ca5fe7c62c2a0760b5352336420d6fea9 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,26 @@
 Changelog
 ================================================================================
 
+Release 1.3.0
+--------------------------------------------------------------------------------
+
+* Apply Apache Version 2.0 License to the project
+* 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
+* 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
+* SampleMonteCarlo function moved to Python. This makes it possible to provide 
+  sampler/closer/scorer/cooler objects implemented in both, Python and C++
+* Action script for sidechain modelling
+* Allow sequence profiles as input for build-model action script.
+* Recipe for Docker / Singularity container 
+* Check peptide bonds when building a RawModel. Treat as gap if bond is 
+  stereochemically problematic despite being in sequence.
+* Several minor bug fixes, improvements, and speed-ups  
+
+
 Release 1.2.0
 --------------------------------------------------------------------------------
 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f8f1e39cc62f23c259804f99dcfe3d8e91afaa36..6b0cd5ce9587fc7fc40ec58d40b2ad68155077b7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,7 +16,7 @@ include(PROMOD3)
 
 # versioning info
 set(PROMOD3_VERSION_MAJOR 1)
-set(PROMOD3_VERSION_MINOR 2)
+set(PROMOD3_VERSION_MINOR 3)
 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})
@@ -86,7 +86,7 @@ if(NOT DISABLE_DOCUMENTATION)
   # set this to the URL corresponding to the version of OST you are using
   set(OST_DOC_URL "https://www.openstructure.org/docs/dev")
 endif()
-find_package(OPENSTRUCTURE 1.8 REQUIRED 
+find_package(OPENSTRUCTURE 1.8 REQUIRED
              COMPONENTS io mol seq seq_alg mol_alg conop img mol_mm)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
@@ -135,6 +135,7 @@ add_subdirectory(extras)
 add_subdirectory(cmake_support)
 if(NOT DISABLE_DOCUMENTATION)
   add_changelog_to_doc(FILE "${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG")
+  add_license_to_doc(FILE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
   add_subdirectory(doc)
 endif()
 
diff --git a/COPYING.BSD b/COPYING.BSD
deleted file mode 100644
index 655966c9db44962696bd54dc2766a3f3626010e9..0000000000000000000000000000000000000000
--- a/COPYING.BSD
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- Copyright (c) 2011, Intel Corporation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- * Neither the name of Intel Corporation nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
diff --git a/COPYING.README b/COPYING.README
deleted file mode 100644
index 74e3823187fd997f265bf17dfd0105ff0f9a548f..0000000000000000000000000000000000000000
--- a/COPYING.README
+++ /dev/null
@@ -1,2 +0,0 @@
-Some files contain third-party code under BSD licenses, whence the other
-COPYING.* files here.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..c90fd010a07f1e1e6de3e5c1004a1bc2ffba9edf
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,210 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+ProMod3 bundles the file "FindEigen3.cmake", which is availabe under a 
+"2-clause BSD" license. For details, see cmake_support/FindEigen3.cmake.
+
+ProMod3 bundles the file "cmake.py", which is available under a 
+"3-clause BSD" license. For details, see doc/cmake.py and 
+doc/Copyright_cmake.py.txt
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000000000000000000000000000000000000..87ee5943e15a61d9b43b602ad07e169f97f3762a
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,11 @@
+ProMod3 - A Versatile Homology Modelling Toolbox
+Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+                         Biozentrum - University of Basel
+
+ProMod3 is developed in the Schwede lab at the Biozentrum - University of Basel. 
+The main authors are: Gabriel Studer, Gerardo Tauriello, Stefan Bienert, 
+Marco Biasini, Niklaus Johner
+                             
+If you find this software useful, please cite:
+TO BE PUBLISHED
+
diff --git a/README b/README
index 225a68587660452c2e5006b3d7e1b4a1dcd70a4e..29003a0217e5bb4a96d18823be72d6817dabf46f 100644
--- a/README
+++ b/README
@@ -1,6 +1,20 @@
-=============== ProMod3 -- Homology Modelling Engine ==============
+  _____           __  __           _ ____ 
+ |  __ \         |  \/  |         | |___ \ 
+ | |__) | __ ___ | \  / | ___   __| | __) |
+ |  ___/ '__/ _ \| |\/| |/ _ \ / _` ||__ < 
+ | |   | | | (_) | |  | | (_) | (_| |___) |
+ |_|   |_|  \___/|_|  |_|\___/ \__,_|____/ 
+                                           
 
-Information on ProMod3 may be found at doc/html/index.html. 
+ProMod3 is a modelling engine based on the OpenStructure computational 
+structural biology framework (www.openstructure.org) 
+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.
 
+Get started with the docs: www.openstructure.org/promod3
+
+Please do not hesitate to contact us for feedback or troubleshooting:
+
+ost-users@maillist.unibas.ch 
 
-=============== The ProMod3 Team ==================================
diff --git a/actions/CMakeLists.txt b/actions/CMakeLists.txt
index fe50a9c8053e4bb8ad55d8e98937412a4253dd1a..7a5c3f164fad0733fae888cae9049d60171c95d6 100644
--- a/actions/CMakeLists.txt
+++ b/actions/CMakeLists.txt
@@ -6,3 +6,4 @@ pm_action_init()
 pm_action(pm-build-model actions)
 pm_action(pm-build-rawmodel actions)
 pm_action(pm-help actions)
+pm_action(pm-build-sidechains actions)
diff --git a/actions/doc/index.rst b/actions/doc/index.rst
index 4820610c7519c44d285f2b8e76ce9fb87c6f667a..450ffa57d28ef1f491876e3f468880a55741713d 100644
--- a/actions/doc/index.rst
+++ b/actions/doc/index.rst
@@ -20,7 +20,7 @@ with
 .. code-block:: console
 
   $ pm build-model [-h] (-f <FILE> | -c <FILE> | -j <OBJECT>|<FILE>)
-                   (-p <FILE> | -e <FILE>) [-o <FILENAME>]
+                   (-p <FILE> | -e <FILE>) [-s <FILE>] [-o <FILENAME>]
 
 Example usage:
 
@@ -105,6 +105,30 @@ sequence names are:
 Example: ``... -p data/2jlp.pdb.gz``, where the pdb file has chains ``A``,
 ``B``, ``C`` and the template sequence is named ``2jlp.A|55``.
 
+
+You can optionally specify sequence profiles to be added (``-s``) and linked 
+to the corresponding target sequences. This has an impact on loop scoring with 
+the database approach. 
+The profiles can be provided as plain files or gzipped. Following file 
+extensions are understood: .hhm, .hhm.gz, .pssm, .pssm.gz.
+Consider to use :meth:`ost.bindings.hhblits.HHblits.A3MToProfile` if you have a 
+file in a3m format at hand. 
+
+* 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
+
+* Every profile must have a unique sequence to avoid ambiguities
+
+* All or nothing - You cannot provide profiles for only a subset of
+  target sequences
+
+Example usage:
+
+.. code-block:: console
+
+  $ pm build-model -f aln.fasta -p tpl.pdb -s prof.hhm
+
 Possible exit codes of the action:
 
 - 0: all went well
@@ -113,4 +137,56 @@ Possible exit codes of the action:
 - 3: failed to perform modelling (internal error)
 - 4: failed to write results to file
 - other non-zero: failure in argument checking
-  (see :class:`promod3.core.pm3argparse.PM3ArgumentParser`)
\ No newline at end of file
+  (see :class:`promod3.core.pm3argparse.PM3ArgumentParser`)
+
+
+Sidechain Modelling
+--------------------------------------------------------------------------------
+
+You can (re-)construct the sidechains in a model from the command line.
+
+.. code-block:: console
+
+  $ usage: build-sidechains [-h] (-p <FILE> | -e <FILE>) [-o <FILENAME>] [-k] [-n]
+                            [-r] [-i] [-s]
+
+Example usage:
+
+.. code-block:: console
+
+  $ pm build-sidechains -p input.pdb
+
+This reads a structure stored in in.pdb, strips all sidechains, 
+detects and models disulfid bonds and reconstructs all sidechains with the 
+flexible rotamer model. The result is stored as :file:`out.pdb`. 
+The output filename can be controlled with the ``-o`` flag.
+
+A structure can be provided in PDB (``-p``) or in any format readable by the
+:func:`ost.io.LoadEntity` method (``-e``). In the latter case, the format is
+chosen by file ending. Recognized File Extensions: ``.ent``, ``.pdb``,
+``.ent.gz``, ``.pdb.gz``, ``.cif``, ``.cif.gz``. 
+
+Several flags control the modelling behaviour:
+
+.. option:: -k, --keep-sidechains 
+
+  Keep existing sidechains.
+
+.. option:: -n, --no-disulfids
+
+  Do not build disulfid bonds before sidechain optimization
+
+.. option:: -r, --rigid-rotamers 
+
+  Do not use rotamers with subrotamers
+
+.. option:: -i, --backbone-independent
+
+  Use backbone independent rotamer library 
+  (from :meth:`promod3.sidechain.LoadLib`) instead of the default backbone 
+  dependent one (from :meth:`promod3.sidechain.LoadBBDepLib`)
+
+.. option:: -s, --no-subrotamer-optimization
+
+  Dont do subrotamer optimization if flexible rotamer model is used
+
diff --git a/actions/pm-build-model b/actions/pm-build-model
index 1dcd882c96ebdf1a5a71af4a4d4126771d8237f0..4170252f5270c4a539423499dd9b8abc8756cbd6 100755
--- a/actions/pm-build-model
+++ b/actions/pm-build-model
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''
 Automatically build a model from alignments and template structures.
 
@@ -23,6 +39,7 @@ ost.PushVerbosityLevel(2)
 parser = pm3argparse.PM3ArgumentParser(__doc__, action=True)
 parser.AddAlignment()
 parser.AddStructure(attach_views=True)
+parser.AddProfile()
 parser.AssembleParser()
 parser.add_argument('-o', '--model-file', metavar='<FILENAME>', type=str,
                     default='model.pdb', help='File to store model coordinates'+
@@ -43,11 +60,16 @@ for aln in opts.alignments:
     for i in range(1, aln.GetCount()):
         ost.mol.alg.AssignSecStruct(aln.GetSequence(i).GetAttachedView())
 
-
 # model it
 try:
     # get raw model
     mhandle = modelling.BuildRawModel(opts.alignments)
+    # add profiles if any
+    # no psipred predictions are added, as the default modelling pipeline
+    # we're using here never looks at them. If we need psipred predictions,
+    # pssm files would not be sufficient and we would be restricted to hhm.
+    if len(opts.profiles) > 0:
+        modelling.SetSequenceProfiles(mhandle, opts.profiles)
     # build final model
     final_model = modelling.BuildFromRawModel(mhandle)
 except Exception as ex:
diff --git a/actions/pm-build-rawmodel b/actions/pm-build-rawmodel
index 7b5260e39c6554e1765ac928033982afa375ac89..c86000142fc3983cf6ba665ff87e8ddf7231164b 100755
--- a/actions/pm-build-rawmodel
+++ b/actions/pm-build-rawmodel
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''
 Create a very basic raw model from alignments and template structures.
 Conserved parts are copied from the template and an incomplete pdb file is
diff --git a/actions/pm-build-sidechains b/actions/pm-build-sidechains
new file mode 100644
index 0000000000000000000000000000000000000000..72a0ddfc6a57d9bdca6fd07d70269d47f570abce
--- /dev/null
+++ b/actions/pm-build-sidechains
@@ -0,0 +1,90 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+'''
+Automatically (re-)construct sidechains in a protein model.
+
+Example usage:
+  pm build-sidechains in.pdb 
+    This reads a structure stored in in.pdb, strips all sidechains, 
+    detects and models disulfid bonds and reconstructs all sidechains with the 
+    flexible rotamer model. The result is stored as out.pdb
+'''
+
+import os
+import ost
+from ost import io, settings
+from promod3 import modelling, sidechain
+from promod3.core import pm3argparse, helper
+
+# make sure we see output when passing '-h'
+ost.PushVerbosityLevel(2)
+
+# parse command line
+parser = pm3argparse.PM3ArgumentParser(__doc__, action=True)
+
+parser.AddStructure()
+parser.AssembleParser()
+parser.add_argument('-o', '--out-file', metavar='<FILENAME>', type=str,
+                    default='out.pdb', help='File to store coordinates ' +
+                                            '(default: %(default)s)')
+parser.add_argument('-k', '--keep-sidechains', action='store_true',
+                    help='Keep existing sidechains')
+parser.add_argument('-n', '--no-disulfids', action='store_true',
+                    help='Do not build disulfid bonds before sidechain ' + 
+                         'optimization')
+parser.add_argument('-r', '--rigid-rotamers', action='store_true',
+                    help='Do not use rotamers with subrotamers')
+parser.add_argument('-i', '--backbone-independent', action='store_true',
+                    help='Use backbone independent rotamer library instead ' +
+                         'of the default backbone dependent one')
+parser.add_argument('-s', '--no-subrotamer-optimization', action='store_true',
+                    help='Dont do subrotamer optimization if flexible ' +
+                         'rotamer model is used.')
+
+opts = parser.Parse()
+
+ost.PushVerbosityLevel(3)
+
+if len(opts.structures) != 1:
+    helper.MsgErrorAndExit("Expect exactly one input structure", 4)
+
+prot = opts.structures[0]
+rotamer_model = "frm"
+if opts.rigid_rotamers:
+    rotamer_model = "rrm"
+
+lib = None
+if opts.backbone_independent:
+    lib = sidechain.LoadLib()
+
+opt_subrot = True
+if opts.no_subrotamer_optimization:
+    opt_subrot = False
+
+# do sidechain modelling
+modelling.ReconstructSidechains(prot, keep_sidechains=opts.keep_sidechains,
+                                build_disulfids=opts.no_disulfids==False, 
+                                rotamer_model=rotamer_model, 
+                                rotamer_library=lib, 
+                                optimize_subrotamers=opt_subrot)
+
+# output
+ost.PopVerbosityLevel()
+io.SavePDB(prot, opts.out_file)
+if not os.path.isfile(opts.out_file):
+    helper.MsgErrorAndExit("Failed to write model file '%s'." % opts.model_file, 4)
+
diff --git a/actions/pm-help b/actions/pm-help
index 274026ad1e9c616a8bee12fbbd03688f8b560c99..5c44cc63b796ff0e300f87f6e8468ac6f093b4cc 100755
--- a/actions/pm-help
+++ b/actions/pm-help
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''
 Just list all actions (pm-.* files) available.
 '''
diff --git a/actions/tests/test_action_build-model.py b/actions/tests/test_action_build-model.py
index a0889fd0c048c720c04d8ec7d4c07fba01f22047..a4b33c83f6a12a40c3432e34f50fc0db9835b46c 100644
--- a/actions/tests/test_action_build-model.py
+++ b/actions/tests/test_action_build-model.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Unit tests for the 'build-model' action.
 """
diff --git a/actions/tests/test_action_build-rawmodel.py b/actions/tests/test_action_build-rawmodel.py
index 3f222c62a0644597920c1d7654764deb2e94a818..3f9af6d9762e9c893c5de5565ba0493be52c4b9c 100644
--- a/actions/tests/test_action_build-rawmodel.py
+++ b/actions/tests/test_action_build-rawmodel.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Unit tests for the 'build-rawmodel' action.
 """
diff --git a/actions/tests/test_action_help.py b/actions/tests/test_action_help.py
index 74f24159ca4209d9211f6762a4c9279f9e9ce3cd..98309e33ea01711751e865279383e43146e2c3c9 100644
--- a/actions/tests/test_action_help.py
+++ b/actions/tests/test_action_help.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Unit tests for the 'help' action.
 
diff --git a/actions/tests/test_actions.py b/actions/tests/test_actions.py
index 243d47b0d969ce518b7f7a552a8c62aa511ea9a2..f84622aae3cf8653e77d9db65ef24f93ee6e54ba 100644
--- a/actions/tests/test_actions.py
+++ b/actions/tests/test_actions.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 unittest.TestCase class providing common functionality for testing actions.
 """
diff --git a/cmake_support/FindBoost.cmake b/cmake_support/FindBoost.cmake
deleted file mode 100644
index e784de62ff5b451435a10116c3b8ea2c196a4191..0000000000000000000000000000000000000000
--- a/cmake_support/FindBoost.cmake
+++ /dev/null
@@ -1,881 +0,0 @@
-# - Try to find Boost include dirs and libraries
-# Usage of this module as follows:
-#
-# == Using Header-Only libraries from within Boost: ==
-#
-#   find_package( Boost 1.36.0 )
-#   if(Boost_FOUND)
-#      include_directories(${Boost_INCLUDE_DIRS})
-#      add_executable(foo foo.cc)
-#   endif()
-#
-#
-# == Using actual libraries from within Boost: ==
-#
-#   set(Boost_USE_STATIC_LIBS   ON)
-#   set(Boost_USE_MULTITHREADED ON)
-#   find_package( Boost 1.36.0 COMPONENTS date_time filesystem system ... )
-#
-#   if(Boost_FOUND)
-#      include_directories(${Boost_INCLUDE_DIRS})
-#      add_executable(foo foo.cc)
-#      target_link_libraries(foo ${Boost_LIBRARIES})
-#   endif()
-#
-#
-# The components list needs to contain actual names of boost libraries only,
-# such as "date_time" for "libboost_date_time".  If you're using parts of
-# Boost that contain header files only (e.g. foreach) you do not need to
-# specify COMPONENTS.
-#
-# You should provide a minimum version number that should be used. If you provide this 
-# version number and specify the REQUIRED attribute, this module will fail if it
-# can't find the specified or a later version. If you specify a version number this is
-# automatically put into the considered list of version numbers and thus doesn't need
-# to be specified in the Boost_ADDITIONAL_VERSIONS variable (see below).
-#
-# NOTE for Visual Studio Users:
-#     Automatic linking is used on MSVC & Borland compilers by default when
-#     #including things in Boost.  It's important to note that setting
-#     Boost_USE_STATIC_LIBS to OFF is NOT enough to get you dynamic linking,
-#     should you need this feature.  Automatic linking typically uses static
-#     libraries with a few exceptions (Boost.Python is one).
-#
-#     Please see the section below near Boost_LIB_DIAGNOSTIC_DEFINITIONS for
-#     more details.  Adding a TARGET_LINK_LIBRARIES() as shown in the example
-#     above appears to cause VS to link dynamically if Boost_USE_STATIC_LIBS
-#     gets set to OFF.  It is suggested you avoid automatic linking since it
-#     will make your application less portable.
-#
-# =========== The mess that is Boost_ADDITIONAL_VERSIONS (sorry?) ============
-#
-# OK, so the Boost_ADDITIONAL_VERSIONS variable can be used to specify a list of
-# boost version numbers that should be taken into account when searching
-# for Boost. Unfortunately boost puts the version number into the
-# actual filename for the libraries, so this variable will certainly be needed
-# in the future when new Boost versions are released.
-#
-# Currently this module searches for the following version numbers:
-# 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1, 1.35, 1.35.0, 1.35.1,
-# 1.36, 1.36.0, 1.36.1, 1.37, 1.37.0, 1.38, 1.38.0
-#
-# NOTE: If you add a new major 1.x version in Boost_ADDITIONAL_VERSIONS you should
-# add both 1.x and 1.x.0 as shown above.  Official Boost include directories
-# omit the 3rd version number from include paths if it is 0 although not all
-# binary Boost releases do so.
-#
-# SET(Boost_ADDITIONAL_VERSIONS "0.99" "0.99.0" "1.78" "1.78.0")
-#
-# ============================================================================
-#
-# Variables used by this module, they can change the default behaviour and
-# need to be set before calling find_package:
-#
-#   Boost_USE_MULTITHREADED      Can be set to OFF to use the non-multithreaded
-#                                boost libraries.  If not specified, defaults
-#                                to ON.
-#
-#   Boost_USE_STATIC_LIBS        Can be set to ON to force the use of the static
-#                                boost libraries. Defaults to OFF.
-#
-# Other Variables used by this module which you may want to set.
-#
-#   Boost_ADDITIONAL_VERSIONS    A list of version numbers to use for searching
-#                                the boost include directory.  Please see
-#                                the documentation above regarding this
-#                                annoying, but necessary variable :(
-#
-#   Boost_DEBUG                  Set this to TRUE to enable debugging output
-#                                of FindBoost.cmake if you are having problems.
-#                                Please enable this before filing any bug
-#                                reports.
-# 
-#   Boost_COMPILER               Set this to the compiler suffix used by Boost
-#                                (e.g. "-gcc43") if FindBoost has problems finding
-#                                the proper Boost installation
-#
-# These last three variables are available also as environment variables:
-#
-#   BOOST_ROOT or BOOSTROOT      The preferred installation prefix for searching for
-#                                Boost.  Set this if the module has problems finding
-#                                the proper Boost installation.
-#
-#   BOOST_INCLUDEDIR             Set this to the include directory of Boost, if the
-#                                module has problems finding the proper Boost installation
-#
-#   BOOST_LIBRARYDIR             Set this to the lib directory of Boost, if the
-#                                module has problems finding the proper Boost installation
-#
-# Variables defined by this module:
-#
-#   Boost_FOUND                         System has Boost, this means the include dir was
-#                                       found, as well as all the libraries specified in
-#                                       the COMPONENTS list.
-#
-#   Boost_INCLUDE_DIRS                  Boost include directories: not cached
-#
-#   Boost_INCLUDE_DIR                   This is almost the same as above, but this one is
-#                                       cached and may be modified by advanced users
-#
-#   Boost_LIBRARIES                     Link to these to use the Boost libraries that you
-#                                       specified: not cached
-#
-#   Boost_LIBRARY_DIRS                  The path to where the Boost library files are.
-#
-#   Boost_VERSION                       The version number of the boost libraries that
-#                                       have been found, same as in version.hpp from Boost
-#
-#   Boost_LIB_VERSION                   The version number in filename form as
-#                                       it's appended to the library filenames
-#
-#   Boost_MAJOR_VERSION                 major version number of boost
-#   Boost_MINOR_VERSION                 minor version number of boost
-#   Boost_SUBMINOR_VERSION              subminor version number of boost
-#
-#   Boost_LIB_DIAGNOSTIC_DEFINITIONS    [WIN32 Only] You can call
-#                                       add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINTIIONS})
-#                                       to have diagnostic information about Boost's
-#                                       automatic linking outputted during compilation time.
-#
-# For each component you specify in find_package(), the following (UPPER-CASE)
-# variables are set.  You can use these variables if you would like to pick and
-# choose components for your targets instead of just using Boost_LIBRARIES.
-#
-#   Boost_${COMPONENT}_FOUND            True IF the Boost library "component" was found.
-#
-#   Boost_${COMPONENT}_LIBRARY          Contains the libraries for the specified Boost
-#                                       "component" (includes debug and optimized keywords
-#                                       when needed).
-#
-# =====================================================================
-#
-#
-#  Copyright (c) 2006-2008 Andreas Schneider <mail@cynapses.org>
-#  Copyright (c) 2007      Wengo
-#  Copyright (c) 2007      Mike Jackson
-#  Copyright (c) 2008      Andreas Pakulat <apaku@gmx.de>
-#
-#  Redistribution AND use is allowed according to the terms of the New
-#  BSD license.
-#  For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-
-
-
-#-------------------------------------------------------------------------------
-#  FindBoost functions & macros
-#
-############################################
-#
-# Check the existence of the libraries.
-#
-############################################
-# This macro was taken directly from the FindQt4.cmake file that is included
-# with the CMake distribution. This is NOT my work. All work was done by the
-# original authors of the FindQt4.cmake file. Only minor modifications were
-# made to remove references to Qt and make this file more generally applicable
-# And ELSE/ENDIF pairs were removed for readability.
-#########################################################################
-
-MACRO (_Boost_ADJUST_LIB_VARS basename)
-  IF (Boost_INCLUDE_DIR )
-    IF (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)
-      # if the generator supports configuration types then set
-      # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
-      IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-        SET(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
-      ELSE()
-        # if there are no configuration types and CMAKE_BUILD_TYPE has no value
-        # then just use the release libraries
-        SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} )
-      ENDIF()
-      # FIXME: This probably should be set for both cases
-      SET(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
-    ENDIF()
-
-    # if only the release version was found, set the debug variable also to the release version
-    IF (Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG)
-      SET(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE})
-      SET(Boost_${basename}_LIBRARY       ${Boost_${basename}_LIBRARY_RELEASE})
-      SET(Boost_${basename}_LIBRARIES     ${Boost_${basename}_LIBRARY_RELEASE})
-    ENDIF()
-
-    # if only the debug version was found, set the release variable also to the debug version
-    IF (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)
-      SET(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG})
-      SET(Boost_${basename}_LIBRARY         ${Boost_${basename}_LIBRARY_DEBUG})
-      SET(Boost_${basename}_LIBRARIES       ${Boost_${basename}_LIBRARY_DEBUG})
-    ENDIF()
-    
-    IF (Boost_${basename}_LIBRARY)
-      set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE FILEPATH "The Boost ${basename} library")
-
-      # Remove superfluous "debug" / "optimized" keywords from
-      # Boost_LIBRARY_DIRS
-      FOREACH(_boost_my_lib ${Boost_${basename}_LIBRARY})
-        GET_FILENAME_COMPONENT(_boost_my_lib_path "${_boost_my_lib}" PATH)
-        LIST(APPEND Boost_LIBRARY_DIRS ${_boost_my_lib_path})
-      ENDFOREACH()
-      LIST(REMOVE_DUPLICATES Boost_LIBRARY_DIRS)
-
-      set(Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIRS} CACHE FILEPATH "Boost library directory")
-      SET(Boost_${basename}_FOUND ON CACHE INTERNAL "Whether the Boost ${basename} library found")
-    ENDIF(Boost_${basename}_LIBRARY)
-
-  ENDIF (Boost_INCLUDE_DIR )
-  # Make variables changeble to the advanced user
-  MARK_AS_ADVANCED(
-      Boost_${basename}_LIBRARY
-      Boost_${basename}_LIBRARY_RELEASE
-      Boost_${basename}_LIBRARY_DEBUG
-  )
-ENDMACRO (_Boost_ADJUST_LIB_VARS)
-
-#-------------------------------------------------------------------------------
-
-#
-# Runs compiler with "-dumpversion" and parses major/minor
-# version with a regex.
-#
-FUNCTION(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION)
-
-  EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
-    ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
-    OUTPUT_VARIABLE _boost_COMPILER_VERSION
-  )
-  STRING(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
-    _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
-
-  SET(${_OUTPUT_VERSION} ${_boost_COMPILER_VERSION} PARENT_SCOPE)
-ENDFUNCTION()
-
-#
-# End functions/macros
-#  
-#-------------------------------------------------------------------------------
-
-
-
-
-IF(NOT DEFINED Boost_USE_MULTITHREADED)
-    SET(Boost_USE_MULTITHREADED TRUE)
-ENDIF()
-
-if(Boost_FIND_VERSION_EXACT)
-  # The version may appear in a directory with or without the patch
-  # level, even when the patch level is non-zero.
-  set(_boost_TEST_VERSIONS
-    "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}"
-    "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-else(Boost_FIND_VERSION_EXACT)
-  # The user has not requested an exact version.  Among known
-  # versions, find those that are acceptable to the user request.
-  set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
-    "1.46" "1.45" "1.44" "1.43" "1.42" "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0"
-    "1.39" "1.38.0" "1.38" "1.37.0" "1.37" "1.36.1" "1.36.0" "1.36" "1.35.1" 
-    "1.35.0" "1.35" "1.34.1" "1.34.0" "1.34" "1.33.1" "1.33.0" "1.33")
-  set(_boost_TEST_VERSIONS)
-  if(Boost_FIND_VERSION)
-    set(_Boost_FIND_VERSION_SHORT "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-    # Select acceptable versions.
-    foreach(version ${_Boost_KNOWN_VERSIONS})
-      if(NOT "${version}" VERSION_LESS "${Boost_FIND_VERSION}")
-        # This version is high enough.
-        list(APPEND _boost_TEST_VERSIONS "${version}")
-      elseif("${version}.99" VERSION_EQUAL "${_Boost_FIND_VERSION_SHORT}.99")
-        # This version is a short-form for the requested version with
-        # the patch level dropped.
-        list(APPEND _boost_TEST_VERSIONS "${version}")
-      endif()
-    endforeach(version)
-  else(Boost_FIND_VERSION)
-    # Any version is acceptable.
-    set(_boost_TEST_VERSIONS "${_Boost_KNOWN_VERSIONS}")
-  endif(Boost_FIND_VERSION)
-endif(Boost_FIND_VERSION_EXACT)
-
-# The reason that we failed to find Boost. This will be set to a
-# user-friendly message when we fail to find some necessary piece of
-# Boost.
-set(Boost_ERROR_REASON)
-
-SET( _boost_IN_CACHE TRUE)
-IF(Boost_INCLUDE_DIR)
-
-  # On versions < 1.35, remove the System library from the considered list
-  # since it wasn't added until 1.35.
-  if(Boost_FIND_VERSION AND Boost_FIND_COMPONENTS)
-     math(EXPR _boost_maj "${Boost_VERSION} / 100000")
-     math(EXPR _boost_min "${Boost_VERSION} / 100 % 1000")
-     if(${_boost_maj}.${_boost_min} VERSION_LESS 1.35)
-       list(REMOVE_ITEM Boost_FIND_COMPONENTS system)
-     endif()
-  endif()
-
-  FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
-    STRING(TOUPPER ${COMPONENT} COMPONENT)
-    IF(NOT Boost_${COMPONENT}_FOUND)
-      SET( _boost_IN_CACHE FALSE)
-    ENDIF(NOT Boost_${COMPONENT}_FOUND)
-  ENDFOREACH(COMPONENT)
-ELSE(Boost_INCLUDE_DIR)
-  SET( _boost_IN_CACHE FALSE)
-ENDIF(Boost_INCLUDE_DIR)
-
-IF (_boost_IN_CACHE)
-  # in cache already
-  SET(Boost_FOUND TRUE)
-  FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
-    STRING(TOUPPER ${COMPONENT} COMPONENT)
-    _Boost_ADJUST_LIB_VARS( ${COMPONENT} )
-    SET(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${COMPONENT}_LIBRARY})
-  ENDFOREACH(COMPONENT)
-  SET(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR})
-  IF(Boost_VERSION AND NOT "${Boost_VERSION}" STREQUAL "0")
-    MATH(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")
-    MATH(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")
-    MATH(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")
-  ENDIF(Boost_VERSION AND NOT "${Boost_VERSION}" STREQUAL "0")
-  if(Boost_DEBUG)
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                     "boost ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION} "
-                     "is already in the cache.  For debugging messages, please clear the cache.")
-  endif()
-ELSE (_boost_IN_CACHE)
-  # Need to search for boost
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "Boost not in cache")
-    # Output some of their choices
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "Boost_USE_MULTITHREADED = ${Boost_USE_MULTITHREADED}")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "Boost_USE_STATIC_LIBS = ${Boost_USE_STATIC_LIBS}")
-  endif()
-
-  IF(WIN32)
-    # In windows, automatic linking is performed, so you do not have
-    # to specify the libraries.  If you are linking to a dynamic
-    # runtime, then you can choose to link to either a static or a
-    # dynamic Boost library, the default is to do a static link.  You
-    # can alter this for a specific library "whatever" by defining
-    # BOOST_WHATEVER_DYN_LINK to force Boost library "whatever" to be
-    # linked dynamically.  Alternatively you can force all Boost
-    # libraries to dynamic link by defining BOOST_ALL_DYN_LINK.
-  
-    # This feature can be disabled for Boost library "whatever" by
-    # defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining
-    # BOOST_ALL_NO_LIB.
-  
-    # If you want to observe which libraries are being linked against
-    # then defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking
-    # code to emit a #pragma message each time a library is selected
-    # for linking.
-    SET(Boost_LIB_DIAGNOSTIC_DEFINITIONS 
-      "-DBOOST_LIB_DIAGNOSTIC" CACHE STRING "Boost diagnostic define")
-  ENDIF(WIN32)
-
-  SET(_boost_INCLUDE_SEARCH_DIRS
-    C:/boost/include
-    C:/boost
-    "$ENV{ProgramFiles}/boost"
-    /sw/local/include
-  )
-
-  # If BOOST_ROOT was defined in the environment, use it.
-  if (NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL "")
-    set(BOOST_ROOT $ENV{BOOST_ROOT})
-  endif(NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL "")
-
-  # If BOOSTROOT was defined in the environment, use it.
-  if (NOT BOOST_ROOT AND NOT $ENV{BOOSTROOT} STREQUAL "")
-    set(BOOST_ROOT $ENV{BOOSTROOT})
-  endif(NOT BOOST_ROOT AND NOT $ENV{BOOSTROOT} STREQUAL "")
-
-  # If BOOST_INCLUDEDIR was defined in the environment, use it.
-  IF( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" )
-    set(BOOST_INCLUDEDIR $ENV{BOOST_INCLUDEDIR})
-  ENDIF( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" )
-  
-  # If BOOST_LIBRARYDIR was defined in the environment, use it.
-  IF( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" )
-    set(BOOST_LIBRARYDIR $ENV{BOOST_LIBRARYDIR})
-  ENDIF( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" )
-  
-  IF( BOOST_ROOT )
-    file(TO_CMAKE_PATH ${BOOST_ROOT} BOOST_ROOT)
-  ENDIF( BOOST_ROOT )
-
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "Declared as CMake or Environmental Variables:")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "  BOOST_ROOT = ${BOOST_ROOT}")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "  BOOST_INCLUDEDIR = ${BOOST_INCLUDEDIR}")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "  BOOST_LIBRARYDIR = ${BOOST_LIBRARYDIR}")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
-  endif()
-
-  IF( BOOST_ROOT )
-    SET(_boost_INCLUDE_SEARCH_DIRS 
-      ${BOOST_ROOT}/include 
-      ${BOOST_ROOT}
-      ${_boost_INCLUDE_SEARCH_DIRS})
-  ENDIF( BOOST_ROOT )
-
-  IF( BOOST_INCLUDEDIR )
-    file(TO_CMAKE_PATH ${BOOST_INCLUDEDIR} BOOST_INCLUDEDIR)
-    SET(_boost_INCLUDE_SEARCH_DIRS 
-      ${BOOST_INCLUDEDIR} ${_boost_INCLUDE_SEARCH_DIRS})
-  ENDIF( BOOST_INCLUDEDIR )
-
-  # ------------------------------------------------------------------------
-  #  Search for Boost include DIR 
-  # ------------------------------------------------------------------------
-  # Try to find Boost by stepping backwards through the Boost versions
-  # we know about.
-  IF( NOT Boost_INCLUDE_DIR )
-    # Build a list of path suffixes for each version.
-    SET(_boost_PATH_SUFFIXES)
-    FOREACH(_boost_VER ${_boost_TEST_VERSIONS})
-      # Add in a path suffix, based on the required version, ideally
-      # we could read this from version.hpp, but for that to work we'd
-      # need to know the include dir already
-      set(_boost_BOOSTIFIED_VERSION)
-
-      # Transform 1.35 => 1_35 and 1.36.0 => 1_36_0
-      IF(_boost_VER MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")
-          STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3" 
-            _boost_BOOSTIFIED_VERSION ${_boost_VER})
-      ELSEIF(_boost_VER MATCHES "[0-9]+\\.[0-9]+")
-          STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\1_\\2" 
-            _boost_BOOSTIFIED_VERSION ${_boost_VER})
-      ENDIF()
-      
-      list(APPEND _boost_PATH_SUFFIXES "boost-${_boost_BOOSTIFIED_VERSION}")
-      list(APPEND _boost_PATH_SUFFIXES "boost-${_boost_VER}")
-      if(WIN32)
-        # For BoostPro's underscores (and others?)
-        list(APPEND _boost_PATH_SUFFIXES "boost_${_boost_BOOSTIFIED_VERSION}")
-      endif()
-
-    ENDFOREACH(_boost_VER)
-      
-    if(Boost_DEBUG)
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                     "Include debugging info:")
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                     "  _boost_INCLUDE_SEARCH_DIRS = ${_boost_INCLUDE_SEARCH_DIRS}")
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                     "  _boost_PATH_SUFFIXES = ${_boost_PATH_SUFFIXES}")
-    endif()
-
-    # Look for a standard boost header file.
-    FIND_PATH(Boost_INCLUDE_DIR
-      NAMES         boost/config.hpp
-      HINTS         ${_boost_INCLUDE_SEARCH_DIRS}
-      PATH_SUFFIXES ${_boost_PATH_SUFFIXES}
-      )
-  ENDIF( NOT Boost_INCLUDE_DIR )
-  
-  # ------------------------------------------------------------------------
-  #  Extract version information from version.hpp
-  # ------------------------------------------------------------------------
-
-  IF(Boost_INCLUDE_DIR)
-    # Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp
-    # Read the whole file:
-    #
-    SET(BOOST_VERSION 0)
-    SET(BOOST_LIB_VERSION "")
-    FILE(READ "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS)
-    if(Boost_DEBUG)
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                     "location of version.hpp: ${Boost_INCLUDE_DIR}/boost/version.hpp")
-    endif()
-  
-    STRING(REGEX REPLACE ".*#define BOOST_VERSION ([0-9]+).*" "\\1" Boost_VERSION "${_boost_VERSION_HPP_CONTENTS}")
-    STRING(REGEX REPLACE ".*#define BOOST_LIB_VERSION \"([0-9_]+)\".*" "\\1" Boost_LIB_VERSION "${_boost_VERSION_HPP_CONTENTS}")
-  
-    SET(Boost_LIB_VERSION ${Boost_LIB_VERSION} CACHE INTERNAL "The library version string for boost libraries")
-    SET(Boost_VERSION ${Boost_VERSION} CACHE INTERNAL "The version number for boost libraries")
-    
-    IF(NOT "${Boost_VERSION}" STREQUAL "0")
-      MATH(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")
-      MATH(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")
-      MATH(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")
-
-      set(Boost_ERROR_REASON
-          "${Boost_ERROR_REASON}Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}\nBoost include path: ${Boost_INCLUDE_DIR}")
-    ENDIF(NOT "${Boost_VERSION}" STREQUAL "0")
-    if(Boost_DEBUG)
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                     "version.hpp reveals boost "
-                     "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
-    endif()
-  ELSE(Boost_INCLUDE_DIR)
-    set(Boost_ERROR_REASON
-      "${Boost_ERROR_REASON}Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.")
-  ENDIF(Boost_INCLUDE_DIR)
-  
-  # ------------------------------------------------------------------------
-  #  Suffix initialization and compiler suffix detection.
-  # ------------------------------------------------------------------------
-
-  # Setting some more suffixes for the library
-  SET (Boost_LIB_PREFIX "")
-  if ( WIN32 AND Boost_USE_STATIC_LIBS )
-    SET (Boost_LIB_PREFIX "lib")
-  endif()
-
-  if (Boost_COMPILER)
-    set(_boost_COMPILER ${Boost_COMPILER})
-    if(Boost_DEBUG)
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                     "using user-specified Boost_COMPILER = ${_boost_COMPILER}")
-    endif()
-  else(Boost_COMPILER)
-    # Attempt to guess the compiler suffix
-    # NOTE: this is not perfect yet, if you experience any issues
-    # please report them and use the Boost_COMPILER variable
-    # to work around the problems.
-    if (MSVC90)
-      SET (_boost_COMPILER "-vc90")
-    elseif (MSVC80)
-      SET (_boost_COMPILER "-vc80")
-    elseif (MSVC71)
-      SET (_boost_COMPILER "-vc71")
-    elseif (MSVC70) # Good luck!
-      SET (_boost_COMPILER "-vc7") # yes, this is correct
-    elseif (MSVC60) # Good luck!
-      SET (_boost_COMPILER "-vc6") # yes, this is correct
-    elseif (BORLAND)
-      SET (_boost_COMPILER "-bcb")
-    elseif("${CMAKE_CXX_COMPILER}" MATCHES "icl" 
-        OR "${CMAKE_CXX_COMPILER}" MATCHES "icpc") 
-      if(WIN32)
-        set (_boost_COMPILER "-iw")
-      else()
-        set (_boost_COMPILER "-il")
-      endif()
-    elseif (MINGW)
-      if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
-          SET(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34
-      else()
-        _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
-        SET (_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}")
-      endif()
-    elseif (UNIX)
-      if (CMAKE_COMPILER_IS_GNUCXX)
-        if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
-          SET(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34
-        else()
-          _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
-          # Determine which version of GCC we have.
-          IF(APPLE)
-            IF(Boost_MINOR_VERSION)
-              IF(${Boost_MINOR_VERSION} GREATER 35)
-                # In Boost 1.36.0 and newer, the mangled compiler name used
-                # on Mac OS X/Darwin is "xgcc".
-                SET(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}")
-              ELSE(${Boost_MINOR_VERSION} GREATER 35)
-                # In Boost <= 1.35.0, there is no mangled compiler name for
-                # the Mac OS X/Darwin version of GCC.
-                SET(_boost_COMPILER "")
-              ENDIF(${Boost_MINOR_VERSION} GREATER 35)
-            ELSE(Boost_MINOR_VERSION)
-              # We don't know the Boost version, so assume it's
-              # pre-1.36.0.
-              SET(_boost_COMPILER "")
-            ENDIF(Boost_MINOR_VERSION)
-          ELSE()
-            SET (_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
-          ENDIF()
-        endif()
-      endif (CMAKE_COMPILER_IS_GNUCXX)
-    endif()
-    if(Boost_DEBUG)
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-        "guessed _boost_COMPILER = ${_boost_COMPILER}")
-    endif()
-  endif(Boost_COMPILER)
-
-  SET (_boost_MULTITHREADED "-mt")
-  if( NOT Boost_USE_MULTITHREADED )
-    set (_boost_MULTITHREADED "")
-  endif()
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-      "_boost_MULTITHREADED = ${_boost_MULTITHREADED}")
-  endif()
-
-  SET( _boost_STATIC_TAG "")
-  set( _boost_ABI_TAG "")
-  IF (WIN32)
-    IF(MSVC)
-      SET (_boost_ABI_TAG "g")
-    ENDIF(MSVC)
-    IF( Boost_USE_STATIC_LIBS )
-      SET( _boost_STATIC_TAG "-s")
-    ENDIF( Boost_USE_STATIC_LIBS )
-  ENDIF(WIN32)
-  SET (_boost_ABI_TAG "${_boost_ABI_TAG}d")
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-      "_boost_STATIC_TAG = ${_boost_STATIC_TAG}")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-      "_boost_ABI_TAG = ${_boost_ABI_TAG}")
-  endif()
-
-  # ------------------------------------------------------------------------
-  #  Begin finding boost libraries
-  # ------------------------------------------------------------------------
-  
-  SET(_boost_LIBRARIES_SEARCH_DIRS
-    C:/boost/lib
-    C:/boost
-    "$ENV{ProgramFiles}/boost/boost_${Boost_MAJOR_VERSION}_${Boost_MINOR_VERSION}_${Boost_SUBMINOR_VERSION}/lib"
-    "$ENV{ProgramFiles}/boost"
-    /sw/local/lib
-  )
-  IF( BOOST_ROOT )
-    SET(_boost_LIBRARIES_SEARCH_DIRS 
-${BOOST_ROOT}/lib
-${BOOST_ROOT}/lib/boost-${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}
-      ${BOOST_ROOT}/stage/lib
-      ${_boost_LIBRARIES_SEARCH_DIRS})
-message("boost searchdirs:${_boost_LIBRARIES_SEARCH_DIRS}")
-  ENDIF( BOOST_ROOT )
-
-  IF( BOOST_LIBRARYDIR )
-    file(TO_CMAKE_PATH ${BOOST_LIBRARYDIR} BOOST_LIBRARYDIR)
-    SET(_boost_LIBRARIES_SEARCH_DIRS 
-      ${BOOST_LIBRARYDIR} ${_boost_LIBRARIES_SEARCH_DIRS})
-  ENDIF( BOOST_LIBRARYDIR )
-
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-      "_boost_LIBRARIES_SEARCH_DIRS = ${_boost_LIBRARIES_SEARCH_DIRS}")
-  endif()
-
-  FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
-    STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-    SET( Boost_${UPPERCOMPONENT}_LIBRARY "Boost_${UPPERCOMPONENT}_LIBRARY-NOTFOUND" )
-    SET( Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE "Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE-NOTFOUND" )
-    SET( Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG "Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG-NOTFOUND")
-
-    # Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
-    IF( Boost_USE_STATIC_LIBS )
-      SET( _boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
-      IF(WIN32)
-        SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
-      ELSE(WIN32)
-        SET(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
-      ENDIF(WIN32)
-    ENDIF( Boost_USE_STATIC_LIBS )
-
-    FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
-        NAMES  ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}
-        HINTS  ${_boost_LIBRARIES_SEARCH_DIRS}
-    )
-
-    FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
-        NAMES  ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_boost_ABI_TAG}
-        HINTS  ${_boost_LIBRARIES_SEARCH_DIRS}
-    )
-
-    _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})
-    IF( Boost_USE_STATIC_LIBS )
-      SET(CMAKE_FIND_LIBRARY_SUFFIXES ${_boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
-    ENDIF( Boost_USE_STATIC_LIBS )
-  ENDFOREACH(COMPONENT)
-  # ------------------------------------------------------------------------
-  #  End finding boost libraries
-  # ------------------------------------------------------------------------
-
-  SET(Boost_INCLUDE_DIRS
-    ${Boost_INCLUDE_DIR}
-  )
-
-  SET(Boost_FOUND FALSE)
-  IF(Boost_INCLUDE_DIR)
-    SET( Boost_FOUND TRUE )
-
-    # Check the version of Boost against the requested version.
-    if (Boost_FIND_VERSION AND NOT Boost_FIND_VERSION_MINOR)
-      message(SEND_ERROR "When requesting a specific version of Boost, you must provide at least the major and minor version numbers, e.g., 1.34")
-    endif (Boost_FIND_VERSION AND NOT Boost_FIND_VERSION_MINOR)
-    if(Boost_MAJOR_VERSION LESS "${Boost_FIND_VERSION_MAJOR}" )
-      set( Boost_FOUND FALSE )
-      set(_Boost_VERSION_AGE "old")
-    elseif(Boost_MAJOR_VERSION EQUAL "${Boost_FIND_VERSION_MAJOR}" )
-      if(Boost_MINOR_VERSION LESS "${Boost_FIND_VERSION_MINOR}" )
-        set( Boost_FOUND FALSE )
-        set(_Boost_VERSION_AGE "old")
-      elseif(Boost_MINOR_VERSION EQUAL "${Boost_FIND_VERSION_MINOR}" )
-        if( Boost_FIND_VERSION_PATCH AND Boost_SUBMINOR_VERSION LESS "${Boost_FIND_VERSION_PATCH}" )
-          set( Boost_FOUND FALSE )
-          set(_Boost_VERSION_AGE "old")
-        endif( Boost_FIND_VERSION_PATCH AND Boost_SUBMINOR_VERSION LESS "${Boost_FIND_VERSION_PATCH}" )
-      endif( Boost_MINOR_VERSION LESS "${Boost_FIND_VERSION_MINOR}" )
-    endif( Boost_MAJOR_VERSION LESS "${Boost_FIND_VERSION_MAJOR}" )
-
-    if (Boost_FOUND AND Boost_FIND_VERSION_EXACT)
-      # If the user requested an exact version of Boost, check
-      # that. We already know that the Boost version we have is >= the
-      # requested version.
-      set(_Boost_VERSION_AGE "new")
-
-      # If the user didn't specify a patchlevel, it's 0.
-      if (NOT Boost_FIND_VERSION_PATCH)
-        set(Boost_FIND_VERSION_PATCH 0)
-      endif (NOT Boost_FIND_VERSION_PATCH)
-      
-      # We'll set Boost_FOUND true again if we have an exact version match.
-      set(Boost_FOUND FALSE)
-      if(Boost_MAJOR_VERSION EQUAL "${Boost_FIND_VERSION_MAJOR}" )
-        if(Boost_MINOR_VERSION EQUAL "${Boost_FIND_VERSION_MINOR}" )
-          if(Boost_SUBMINOR_VERSION EQUAL "${Boost_FIND_VERSION_PATCH}" )
-            set( Boost_FOUND TRUE )
-          endif(Boost_SUBMINOR_VERSION EQUAL "${Boost_FIND_VERSION_PATCH}" )
-        endif( Boost_MINOR_VERSION EQUAL "${Boost_FIND_VERSION_MINOR}" )
-      endif( Boost_MAJOR_VERSION EQUAL "${Boost_FIND_VERSION_MAJOR}" )
-    endif (Boost_FOUND AND Boost_FIND_VERSION_EXACT)
-
-    if(NOT Boost_FOUND)
-      # State that we found a version of Boost that is too new or too old.
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}\nDetected version of Boost is too ${_Boost_VERSION_AGE}. Requested version was ${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-      if (Boost_FIND_VERSION_PATCH)
-        set(Boost_ERROR_REASON 
-          "${Boost_ERROR_REASON}.${Boost_FIND_VERSION_PATCH}")
-      endif (Boost_FIND_VERSION_PATCH)
-      if (NOT Boost_FIND_VERSION_EXACT)
-        set(Boost_ERROR_REASON "${Boost_ERROR_REASON} (or newer)")
-      endif (NOT Boost_FIND_VERSION_EXACT)
-      set(Boost_ERROR_REASON "${Boost_ERROR_REASON}.")
-    endif (NOT Boost_FOUND)
-
-    if (Boost_FOUND)
-      set(_boost_CHECKED_COMPONENT FALSE)
-      set(_Boost_MISSING_COMPONENTS)
-      foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-        string(TOUPPER ${COMPONENT} COMPONENT)
-        set(_boost_CHECKED_COMPONENT TRUE)
-        if(NOT Boost_${COMPONENT}_FOUND)
-          string(TOLOWER ${COMPONENT} COMPONENT)
-          list(APPEND _Boost_MISSING_COMPONENTS ${COMPONENT})
-          set( Boost_FOUND FALSE)
-        endif(NOT Boost_${COMPONENT}_FOUND)
-      endforeach(COMPONENT)
-    endif (Boost_FOUND)
-
-    if(Boost_DEBUG)
-      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] Boost_FOUND = ${Boost_FOUND}")
-    endif()
-
-    if (_Boost_MISSING_COMPONENTS)
-      # We were unable to find some libraries, so generate a sensible
-      # error message that lists the libraries we were unable to find.
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}\nThe following Boost libraries could not be found:\n")
-      foreach(COMPONENT ${_Boost_MISSING_COMPONENTS})
-        set(Boost_ERROR_REASON
-          "${Boost_ERROR_REASON}        boost_${COMPONENT}\n")
-      endforeach(COMPONENT)
-
-      list(LENGTH Boost_FIND_COMPONENTS Boost_NUM_COMPONENTS_WANTED)
-      list(LENGTH _Boost_MISSING_COMPONENTS Boost_NUM_MISSING_COMPONENTS)
-      if (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
-        set(Boost_ERROR_REASON
-          "${Boost_ERROR_REASON}No Boost libraries were found. You may need to set Boost_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
-      else (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
-        set(Boost_ERROR_REASON
-          "${Boost_ERROR_REASON}Some (but not all) of the required Boost libraries were found. You may need to install these additional Boost libraries. Alternatively, set Boost_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
-      endif (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
-    endif (_Boost_MISSING_COMPONENTS)
-
-    IF( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT )
-      # Compatibility Code for backwards compatibility with CMake
-      # 2.4's FindBoost module.
-
-      # Look for the boost library path.
-      # Note that the user may not have installed any libraries
-      # so it is quite possible the Boost_LIBRARY_PATH may not exist.
-      SET(_boost_LIB_DIR ${Boost_INCLUDE_DIR})
-    
-      IF("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+")
-        GET_FILENAME_COMPONENT(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
-      ENDIF ("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+")
-    
-      IF("${_boost_LIB_DIR}" MATCHES "/include$")
-        # Strip off the trailing "/include" in the path.
-        GET_FILENAME_COMPONENT(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
-      ENDIF("${_boost_LIB_DIR}" MATCHES "/include$")
-    
-      IF(EXISTS "${_boost_LIB_DIR}/lib")
-        SET (_boost_LIB_DIR ${_boost_LIB_DIR}/lib)
-      ELSE(EXISTS "${_boost_LIB_DIR}/lib")
-        IF(EXISTS "${_boost_LIB_DIR}/stage/lib")
-          SET(_boost_LIB_DIR ${_boost_LIB_DIR}/stage/lib)
-        ELSE(EXISTS "${_boost_LIB_DIR}/stage/lib")
-          SET(_boost_LIB_DIR "")
-        ENDIF(EXISTS "${_boost_LIB_DIR}/stage/lib")
-      ENDIF(EXISTS "${_boost_LIB_DIR}/lib")
-    
-      IF(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}")
-        SET(Boost_LIBRARY_DIRS ${_boost_LIB_DIR} CACHE FILEPATH "Boost library directory")
-      ENDIF(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}")
-
-    ENDIF( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT )
-
-  ELSE(Boost_INCLUDE_DIR)
-    SET( Boost_FOUND FALSE)
-  ENDIF(Boost_INCLUDE_DIR)
-
-  IF (Boost_FOUND)
-      IF (NOT Boost_FIND_QUIETLY)
-        MESSAGE(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
-      ENDIF(NOT Boost_FIND_QUIETLY)
-      IF (NOT Boost_FIND_QUIETLY)
-        MESSAGE(STATUS "Found the following Boost libraries:")
-      ENDIF(NOT Boost_FIND_QUIETLY)
-      FOREACH ( COMPONENT  ${Boost_FIND_COMPONENTS} )
-        STRING( TOUPPER ${COMPONENT} UPPERCOMPONENT )
-        IF ( Boost_${UPPERCOMPONENT}_FOUND )
-          IF (NOT Boost_FIND_QUIETLY)
-            MESSAGE (STATUS "  ${COMPONENT}")
-          ENDIF(NOT Boost_FIND_QUIETLY)
-          SET(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${UPPERCOMPONENT}_LIBRARY})
-        ENDIF ( Boost_${UPPERCOMPONENT}_FOUND )
-      ENDFOREACH(COMPONENT)
-  ELSE (Boost_FOUND)
-      IF (Boost_FIND_REQUIRED)
-        message(SEND_ERROR "Unable to find the requested Boost libraries.\n${Boost_ERROR_REASON}")
-      ENDIF(Boost_FIND_REQUIRED)
-  ENDIF(Boost_FOUND)
-
-  # show the Boost_INCLUDE_DIRS AND Boost_LIBRARIES variables only in the advanced view
-  MARK_AS_ADVANCED(Boost_INCLUDE_DIR
-      Boost_INCLUDE_DIRS
-      Boost_LIBRARY_DIRS
-  )
-ENDIF(_boost_IN_CACHE)
-
diff --git a/cmake_support/PROMOD3.cmake b/cmake_support/PROMOD3.cmake
index db12a874b6b7060d95ae6904aea51c5bccd4f017..6c7ae410fd2d23bbb8a9200be273080d926a116e 100644
--- a/cmake_support/PROMOD3.cmake
+++ b/cmake_support/PROMOD3.cmake
@@ -1162,6 +1162,22 @@ macro(add_changelog_to_doc)
   set(PM3_DOC_CHANGELOG "${_ARG_CLOG_FILE}" CACHE INTERNAL "" FORCE)
 endmacro(add_changelog_to_doc)
 
+#-------------------------------------------------------------------------------
+# Synopsis:
+#   add_license_to_doc(FILE license file)
+#
+# Description:
+#   Add a LICENSE file to the documentation.
+#   FILE - name of the license file
+#-------------------------------------------------------------------------------
+macro(add_license_to_doc)
+  parse_argument_list(_ARG_LICENSE "FILE" "" ${ARGN})
+  if(NOT _ARG_LICENSE_FILE)
+    message(FATAL_ERROR "invalid use of add_license_to_doc(): file missing")
+  endif()
+  set(PM3_DOC_LICENSE "${_ARG_LICENSE_FILE}" CACHE INTERNAL "" FORCE)
+endmacro(add_license_to_doc)
+
 #-------------------------------------------------------------------------------
 # Synopsis:
 #   pm_action_init()
diff --git a/config/src/config.hh.in b/config/src/config.hh.in
index d5fd0ccef3fb4510eae5051b87fa758eb9356295..b864eb0aaf25ac8b75030c3dbe9c0db27002392e 100644
--- a/config/src/config.hh.in
+++ b/config/src/config.hh.in
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /*
   DO NOT EDIT the '.hh' file, it is processed from a template '.hh.in' by CMake.
 */
diff --git a/container/Dockerfile b/container/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..481b72fd03297d248d83c76c8e0b6a0ada521ceb
--- /dev/null
+++ b/container/Dockerfile
@@ -0,0 +1,141 @@
+FROM ubuntu:18.04
+
+# ARGUMENTS
+###########
+ARG OPENSTRUCTURE_VERSION="1.9.0"
+ARG PROMOD_VERSION="1.3.0"
+ARG SRC_FOLDER="/usr/local/src"
+ARG CPUS_FOR_MAKE=2
+ARG COMPLIB_DIR="/usr/local/share/ost_complib"
+ARG OPENMM_VERSION="7.1.1"
+ARG OPENMM_INCLUDE_PATH="/usr/local/openmm/include/"
+ARG OPENMM_LIB_PATH="/usr/local/openmm/lib/"
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+# INSTALL SYSTEM DEPS
+#####################
+RUN apt-get update -y && apt-get install -y cmake \
+										                        sip-dev \
+										                        libtiff-dev \
+										                        libfftw3-dev \
+										                        libeigen3-dev \
+										                        libboost-all-dev \
+										                        libpng-dev \
+										                        python2.7 \
+										                        python-qt4 \
+                                            python-numpy \
+                                            python-scipy \
+                                            python-pandas \
+                                            python-matplotlib \
+										                        qt4-qtconfig \
+										                        qt4-qmake \
+										                        libqt4-dev \
+										                        libpng-dev \
+										                        wget \
+										                        gfortran \
+										                        python-pip \
+                                            python-sphinx \
+										                        tar \
+										                        libbz2-dev \
+										                        doxygen \
+										                        swig \
+										                        clustalw \
+                                            dssp \
+                                            locales && \
+                      # CLEANUP
+                      rm -rf /var/lib/apt/lists/*
+
+# SET LOCALE
+############
+# RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment
+# RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
+# RUN echo "LANG=en_US.UTF-8" > /etc/locale.conf
+# RUN locale-gen en_US.UTF-8
+
+# ENVIRONMENT
+##############################################################################
+ENV OPENSTRUCTURE_VERSION="${OPENSTRUCTURE_VERSION}"
+ENV PROMOD_VERSION="${PROMOD_VERSION}"
+ENV OST_ROOT="/usr/local"
+ENV DNG_ROOT="/usr/local"
+ENV PROMOD_ROOT="/usr/local"
+ENV PYTHONPATH="/usr/local/lib64/python2.7/site-packages:${PYTHONPATH}"
+ENV LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/openmm/lib/$LD_LIBRARY_PATH"
+ENV QT_X11_NO_MITSHM=1
+
+# COMPILE OPENMM FROM SOURCES. INSTALL TO /usr/local
+####################################################
+RUN cd ${SRC_FOLDER} && \
+    wget -O openmm-${OPENMM_VERSION}.tar.gz -nc https://github.com/pandegroup/openmm/archive/${OPENMM_VERSION}.tar.gz && \
+    mkdir ${SRC_FOLDER}/openmm-${OPENMM_VERSION} && \
+    tar xf openmm-${OPENMM_VERSION}.tar.gz -C ${SRC_FOLDER}/openmm-${OPENMM_VERSION} --strip-components=1 && \
+    mkdir -p ${SRC_FOLDER}/openmm-${OPENMM_VERSION}/build && \
+    cd ${SRC_FOLDER}/openmm-${OPENMM_VERSION}/build && \
+    cmake .. && make -j $CPUS_FOR_MAKE && make install && \
+    cd ${SRC_FOLDER}/openmm-${OPENMM_VERSION}/build/python && \
+    python setup.py build && python setup.py install && \
+    cd ${SRC_FOLDER} && rm ${SRC_FOLDER}/openmm-${OPENMM_VERSION}.tar.gz && \
+    rm -rf ${SRC_FOLDER}/openmm-${OPENMM_VERSION}
+
+# INSTALL OST
+#############
+RUN cd ${SRC_FOLDER} && \
+    # copy ost release
+    wget -O openstructure-${OPENSTRUCTURE_VERSION}.tar.gz -nc https://git.scicore.unibas.ch/schwede/openstructure/repository/${OPENSTRUCTURE_VERSION}/archive.tar.gz && \
+    mkdir openstructure-${OPENSTRUCTURE_VERSION} && \
+    tar xf openstructure-${OPENSTRUCTURE_VERSION}.tar.gz -C ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION} --strip-components=1 && \
+    mkdir -p ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION}/build && \
+    cd ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION}/build && \
+    # cmake ost
+    cmake .. -DPYTHON_LIBRARIES=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
+             -DOPTIMIZE=ON \
+             -DENABLE_MM=ON \
+             -DCOMPILE_TMTOOLS=1 \
+             -DOPEN_MM_LIBRARY=$OPENMM_LIB_PATH/libOpenMM.so \
+             -DOPEN_MM_INCLUDE_DIR=$OPENMM_INCLUDE_PATH \
+             -DOPEN_MM_PLUGIN_DIR=$OPENMM_LIB_PATH/plugins \
+             -DENABLE_GFX=ON \
+             -DENABLE_GUI=ON && \
+    make -j ${CPUS_FOR_MAKE} &&\
+    # get the compound library \
+    wget ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif.gz &&\
+    stage/bin/chemdict_tool create components.cif.gz compounds.chemlib pdb && stage/bin/chemdict_tool update modules/conop/data/charmm.cif compounds.chemlib charmm &&\
+    mkdir -p $COMPLIB_DIR && chmod a+rw -R $COMPLIB_DIR && mv compounds.chemlib $COMPLIB_DIR && \
+    # rerun cmake and specify compount lib location
+    cmake .. -DCOMPOUND_LIB=$COMPLIB_DIR/compounds.chemlib && \
+    # Build OST with compound library
+    make -j ${CPUS_FOR_MAKE} && make check && make install && \
+    # cleanup
+    cd ${SRC_FOLDER} && rm ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION}.tar.gz && \
+    rm -rf ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION} && \
+    # BEND AROUND COMPOUND LIB
+    # By default, the compound library is moved to 
+    # /usr/local/share/openstructure/compounds.chemlib upon building
+    # We replace that file with a symbolic link to the compound.chemlib in
+    # $COMPLIB_DIR
+    # The advantage is that we can later on mount any directory containing this file
+    # in that directory and override the compound lib with updated versions.
+    rm /usr/local/share/openstructure/compounds.chemlib && \
+    ln -s $COMPLIB_DIR/compounds.chemlib /usr/local/share/openstructure/compounds.chemlib
+
+# INSTALL ProMod3
+#################
+RUN cd ${SRC_FOLDER} && \
+    # copy promod release
+    wget -O promod-${PROMOD_VERSION}.tar.gz -nc https://git.scicore.unibas.ch/schwede/ProMod3/repository/${PROMOD_VERSION}/archive.tar.gz && \
+    mkdir promod-${PROMOD_VERSION} && \
+    tar xf promod-${PROMOD_VERSION}.tar.gz -C ${SRC_FOLDER}/promod-${PROMOD_VERSION} --strip-components=1 && \
+    mkdir -p ${SRC_FOLDER}/promod-${PROMOD_VERSION}/build && \
+    cd ${SRC_FOLDER}/promod-${PROMOD_VERSION}/build && \
+    # Build and install ProMod3
+    cmake .. -DOST_ROOT=/usr/local \
+             -DPYTHON_LIBRARIES=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
+             -DOPTIMIZE=ON \
+             -DENABLE_SSE=1 && \
+             make && make codetest && make install && \
+    # cleanup
+    cd ${SRC_FOLDER} && rm ${SRC_FOLDER}/promod-${PROMOD_VERSION}.tar.gz && \
+    rm -rf ${SRC_FOLDER}/promod-${PROMOD_VERSION}
+
+WORKDIR /home
diff --git a/container/Singularity b/container/Singularity
new file mode 100644
index 0000000000000000000000000000000000000000..7fb04357d405209c1b3251b15542344e9ffa4ae2
--- /dev/null
+++ b/container/Singularity
@@ -0,0 +1,116 @@
+BootStrap: docker
+Registry: http://localhost:5000
+Namespace:
+From: promod:latest
+
+%post
+##############################################################################
+# POST
+##############################################################################
+
+# CHANGE DASH TO BASH
+rm /bin/sh
+ln -sf /bin/bash /bin/sh
+
+# INSTALL NGL AND JUPYTER WITH PIP
+######################################
+pip install --no-cache-dir nglview==1.1.6 \
+                           jupyter==1.0.0
+
+# SETUP JUPYTER
+###############
+mkdir -p /usr/local/share/ipython
+mkdir -p /usr/local/share/jupyter
+mkdir -p /usr/local/etc/jupyter
+mkdir -p /usr/local/share/jupyter/runtime
+mkdir -p /usr/local/share/jupyter/kernels/ost-kernel
+chmod a+rw -R /usr/local/share/ipython
+chmod a+rw -R /usr/local/share/jupyter
+chmod a+rw -R /usr/local/etc/jupyter
+chmod a+rw -R /usr/local/share/jupyter/runtime
+cat > /usr/local/share/jupyter/kernels/ost-kernel/kernel.json <<EOF
+{
+	"display_name": "OST",
+	"language": "python",
+	"argv": [
+		"python",
+		"-m", "ipykernel",
+        "-f", "{connection_file}",
+		"--InteractiveShellApp.exec_PYTHONSTARTUP=False",
+		"--InteractiveShellApp.exec_files=['/usr/local/lib64/python2.7/site-packages/ost/ost_startup.py']"
+	],
+	"env": {
+	}
+}
+EOF
+
+jupyter nbextension enable nglview --py --sys-prefix
+
+%environment
+##############################################################################
+# ENVIRONMENT
+##############################################################################
+export QT_X11_NO_MITSHM=1
+export IPYTHONDIR=/usr/local/share/ipython
+export JUPYTER_CONFIG_DIR=/usr/local/etc/jupyter
+export JUPYTER_PATH=/usr/local/share/jupyter
+export JUPYTER_RUNTIME_DIR=$JUPYTER_PATH/runtime
+
+%apprun Notebook
+##############################################################################
+# NOTEBOOK APP
+##############################################################################
+jupyter notebook --NotebookApp.iopub_data_rate_limit=10000000 --no-browser "$@"
+
+%apphelp Notebook
+A Jupyter notebook playground with OST ProMod3 and nglview.
+
+Usage:
+
+    singularity run --app Notebook <IMAGE> [options]
+
+The Jupyter notebook is run by default with `--NotebookApp.iopub_data_rate_limit=10000000`
+and `--no-browser` options.
+
+Useful options when running on remote server:
+    --ip=<Unicode> (NotebookApp.ip)
+        Default: 'localhost'
+        The IP address the notebook server will listen on.
+    --port=<Integer> (NotebookApp.port)
+        Default: 8888
+        The port the notebook server will listen on.
+
+Copy the URL to the browser and launch the notebook with OST kernel. This will
+load all necessary OST components just like in the OST shell.
+ProMod3 modules can be imported as needed. We also enabled
+the nglview widget to interactively view molecular structures and trajectories.
+For more details on how to use nglview see http://nglviewer.org/nglview/latest/.
+
+As the Singularity mounts $HOME by default, Jupyter and Ipython config files
+are moved to separate directories. Proper environmental variables are also set.
+
+To list of all available options:
+
+    singularity run --app Notebook <IMAGE> --help
+
+%runscript
+##############################################################################
+# RUNSCRIPT
+##############################################################################
+cat << EOF
+Singularity container for OST $OPENSTRUCTURE_VERSION and ProMod3 $PROMOD_VERSION
+
+This container can run the ost, pm or chemdict_tool executables. 
+For convenience, a jupyter notebook playground with OST, ProMod3 and nglview is 
+available.
+
+To run ost, pm or chemdict_tool executables, use the exec command.
+E.g. to run scripts with pm:
+
+singularity exec <IMAGE> pm my_script.py [options]
+
+To get more information on how to run the Notebook run:
+
+singularity help --app Notebook <IMAGE NAME>
+EOF
+
diff --git a/core/doc/geometry.rst b/core/doc/geometry.rst
index 3d36b1bd13c2506eb51fad21c9bd61712a9ad5c8..1ac82fac9c1ecc650be29cd7a099f122ed7a6a5a 100644
--- a/core/doc/geometry.rst
+++ b/core/doc/geometry.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Geometry functions
 ================================================================================
 
@@ -53,7 +69,7 @@ Geometry functions
 .. function:: ConstructCBetaPos(n_pos, ca_pos, c_pos)
 
   Constructs position of C-beta atom given the positions of the backbone nitrogen,
-  C-alpha and c atoms.
+  C-alpha and C atoms.
 
   :param n_pos: Position of nitrogen atom
   :type n_pos:  :class:`~ost.geom.Vec3`
diff --git a/core/doc/graph_minimizer.rst b/core/doc/graph_minimizer.rst
index a1ddb9639f2816086ee62f64861e5e2e5b9dacb2..a38bca5895963caf439339bf5e57af6459d10847 100644
--- a/core/doc/graph_minimizer.rst
+++ b/core/doc/graph_minimizer.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Graph Minimizer
 ================================================================================
 
@@ -228,8 +244,3 @@ a set :math:`X=[x_1, x_2, ..., x_n]` that minimizes:
                         representing the single solutions minimizing
                         the overall energy function.
                         The second element is the according energy value.          
-
-
-.. [goldstein1994] Goldstein RF (1994). Efficient rotamer elimination applied to protein side-chains and related spin glasses. Biophys J.
-
-.. [leach1998] Leach AR, Lemon AP (1998). Explring the conformational space of prootein side chains using dead-end elimination and the A* algorithm. Proteins.
diff --git a/core/doc/helper.rst b/core/doc/helper.rst
index 03d2cef127c61cb16af4680f5580673c34dae2e7..6684d1247ae7c8a53785187b4dd24a4b38737ac0 100644
--- a/core/doc/helper.rst
+++ b/core/doc/helper.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.core.helper` - Shared Functionality For the Everything
 ================================================================================
 
diff --git a/core/doc/index.rst b/core/doc/index.rst
index 2af5fca9cace92deef375d4857a1c9b55f9ec0d5..91b0d9c39c77212b3747e804b1a12191f422a213 100644
--- a/core/doc/index.rst
+++ b/core/doc/index.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.core` - ProMod3 Core Functionality
 ================================================================================
 
diff --git a/core/doc/pm3argparse.rst b/core/doc/pm3argparse.rst
index 927faf547e89cc54e508fa38abfbf18b39fb217b..f6a048252ec82ce7dabbb48da87a242e26d82aa4 100644
--- a/core/doc/pm3argparse.rst
+++ b/core/doc/pm3argparse.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.core.pm3argparse` - Parsing Command Lines
 ================================================================================
 
diff --git a/core/doc/runtime_profiling.rst b/core/doc/runtime_profiling.rst
index 07c51ad5bb447b99aaf0335a1cd5f8e48d4a5c75..44bd8621a4ad7a5b77b185f5a9be069afbc9440c 100644
--- a/core/doc/runtime_profiling.rst
+++ b/core/doc/runtime_profiling.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Runtime profiling
 ================================================================================
 
diff --git a/core/doc/setcompoundschemlib.rst b/core/doc/setcompoundschemlib.rst
index fb0223432967ffc2ed53d542191c52fce4fb770b..2c6e660ffb8e1cf6d4d3df93a7f16fda04340724 100644
--- a/core/doc/setcompoundschemlib.rst
+++ b/core/doc/setcompoundschemlib.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :func:`~promod3.SetCompoundsChemlib`
 ================================================================================
 
diff --git a/core/init/__init__.py.in b/core/init/__init__.py.in
index 13cbe40a2ada8bb58cbb9a62a540424e485baf83..3be41dac459e2ba3cbeed1f8ae70cecb281470c9 100644
--- a/core/init/__init__.py.in
+++ b/core/init/__init__.py.in
@@ -1,3 +1,18 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 # enable access to loop and modelling via "import promod3"
 import promod3.core
 import promod3.sidechain
diff --git a/core/pymod/__init__.py b/core/pymod/__init__.py
index 4254903896c35f8649996983219c43382bb03390..1eac336f15bb63c7f87c2b62c281dbcb444572be 100644
--- a/core/pymod/__init__.py
+++ b/core/pymod/__init__.py
@@ -1,2 +1,18 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from _core import *
 from _filecache import FileCache
diff --git a/core/pymod/_filecache.py b/core/pymod/_filecache.py
index 7fb9e5e2671124b914b2cec628ac91f50d8ffbd3..26b25b2484e3d0f5c428ad8452e0ae581b420c2d 100644
--- a/core/pymod/_filecache.py
+++ b/core/pymod/_filecache.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import os
 import shutil
 
diff --git a/core/pymod/export_geom.cc b/core/pymod/export_geom.cc
index c00233c513d754f8bfc31ec0b1aa105e3350e507..b26d5dba8f0bea9980182ac7804b461994ba9c5c 100644
--- a/core/pymod/export_geom.cc
+++ b/core/pymod/export_geom.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/export_helper.hh>
 #include <promod3/core/message.hh>
diff --git a/core/pymod/export_graph_minimizer.cc b/core/pymod/export_graph_minimizer.cc
index bd301c84f7a3289d6ee1f3f9e91f8975be0718f7..a652c9a9ca37786161badd2e0acd1f0e63465414 100644
--- a/core/pymod/export_graph_minimizer.cc
+++ b/core/pymod/export_graph_minimizer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/core/graph_minimizer.hh>
diff --git a/core/pymod/export_runtime_profiling.cc b/core/pymod/export_runtime_profiling.cc
index 7386a4af9bc0e7f9aed7c0f61ed564cf0cc39ac7..aa61d4881968cafed2fdbb676567c72e29cd831e 100644
--- a/core/pymod/export_runtime_profiling.cc
+++ b/core/pymod/export_runtime_profiling.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <boost/shared_ptr.hpp>
diff --git a/core/pymod/helper.py b/core/pymod/helper.py
index 91e9d6a5783805caca7b10f2ffe94dbdb01ef77f..3d6d6a09b58b8428804bf6c23f0017d620431e7f 100644
--- a/core/pymod/helper.py
+++ b/core/pymod/helper.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Uncategorised functions which may come handy at several places.
 """
diff --git a/core/pymod/pm3argparse.py b/core/pymod/pm3argparse.py
index b8b6a640bf92ae736bfdfe6a3bddb827919f68ea..d4c9643f23532260f831e265e98178271792b129 100644
--- a/core/pymod/pm3argparse.py
+++ b/core/pymod/pm3argparse.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Extensions for the argparse module.
 """
@@ -232,6 +248,17 @@ def _LoadEntity(filename):
                                    str(exc), 33)
     return ent
 
+def _FetchProfileFromFile(filename):
+    """Load generic profile file from filename and return it."""
+    argstr = "'--seqprof " + filename + "'"
+    helper.FileExists("Profile", 51, filename)
+    try:
+        prof = io.LoadSequenceProfile(filename)
+    except Exception, exc:
+        helper.MsgErrorAndExit(argstr + ": failure to parse profile file: " +
+                               str(exc), 52)        
+    return prof
+
 def _GetChains(structures, structure_sources):
     """Get chain id to entity view (single chain) mapping (dict)."""
     # IDs: (file_base = base file name with no extensions)
@@ -398,6 +425,8 @@ class PM3ArgumentParser(argparse.ArgumentParser):
             self._AssembleAlignment()
         if 'STRUCTURE' in self.activate:
             self._AssembleStructure()
+        if 'PROFILE' in self.activate:
+            self._AssembleProfile()
 
     def AddAlignment(self, allow_multitemplate=False):
         """Commandline options for alignments.
@@ -474,7 +503,7 @@ class PM3ArgumentParser(argparse.ArgumentParser):
     def AddStructure(self, attach_views=False):
         """Commandline options for structures.
 
-        Activate everything needed to load alignments to the argument parser.
+        Activate everything needed to load structures to the argument parser.
         Command line arguments are then added in :meth:`AssembleParser` and the
         input is post processed and checked in :meth:`Parse`.
 
@@ -532,6 +561,48 @@ class PM3ArgumentParser(argparse.ArgumentParser):
         if attach_views:
             self.activate.add('ATTACH_VIEWS')
 
+    def AddProfile(self):
+        """Commandline options for profiles
+
+        Activate everything needed to load profiles to the argument parser.
+        Command line arguments are then added in :meth:`AssembleParser` and the
+        input is post processed and checked in :meth:`Parse`.
+
+        Options/arguments added:
+
+        * ``-s/--seqprof <FILE>`` - Sequence profile in any format readable
+          by the :meth:`ost.io.LoadSequenceProfile` method. Format is chosen by 
+          file ending. Recognized file extensions: .hhm, .hhm.gz, .pssm, 
+          .pssm.gz. Consider to use 
+          :meth:`ost.bindings.hhblits.HHblits.A3MToProfile` if you have a file 
+          in a3m format at hand. 
+
+        Notes:
+
+        * 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
+
+        * every profile must have a unique sequence to avoid ambiguities
+
+        * all or nothing - you cannot provide profiles for only a subset of
+          target sequences
+
+        Attributes added to the namespace returned by :meth:`Parse`:
+
+        * :attr:`profiles` - :class:`list` of :class:`ost.seq.ProfileHandle`, 
+          ordered to match the target sequences.
+
+        Exit codes related to profile input:
+
+        * 51 - a given profile file does not exist
+        * 52 - failure to read a given profile file 
+        * 53 - a profile cannot be mapped to any target sequence
+        * 54 - profile sequences are not unique
+        * 55 - only subset of target sequences is covered by profile
+        """
+        self.activate.add('PROFILE')
+
     def _AssembleAlignment(self):
         """Actually add alignment arguments/options."""
         aln_grp = self.add_mutually_exclusive_group(required=True)
@@ -571,6 +642,14 @@ class PM3ArgumentParser(argparse.ArgumentParser):
                              ".ent.gz, .pdb.gz, .cif, .cif.gz.",
                              action='append', default=list())
 
+    def _AssembleProfile(self):
+        self.add_argument('-s', '--seqprof', metavar=('<FILE>'),
+                          help="Sequence profile in any format readable by "+
+                          "OST's io.LoadSequenceProfile method. Format is "+
+                          "chosen by file ending. Recognized File Extensions: "+
+                          ".hhm, .hhm.gz, .pssm, .pssm.gz", action='append',
+                          default=list())
+
 class PM3OptionsNamespace(object):
     # class will grow, so for the moment pylint is ignored
     #pylint: disable=too-few-public-methods
@@ -591,6 +670,8 @@ class PM3OptionsNamespace(object):
             self._PostProcessStructure()
         if 'ATTACH_VIEWS' in activated:
             self._AttachViews()
+        if 'PROFILE' in activated:
+            self._PostProcessProfile()
 
     def _PostProcessAlignment(self):
         #pylint: disable=no-member
@@ -640,6 +721,42 @@ class PM3OptionsNamespace(object):
         for aln in self.alignments:
             _AttachViewsToAln(aln, chain_entities)
 
+    def _PostProcessProfile(self):
+        """Get Profiles from command line input."""
+        self.profiles = list()
+
+        if len(self.seqprof) == 0:
+            # no profiles provided, remember the all or nothing principle
+            # so not having any profile is fine
+            return
+
+        loaded_profiles = list()
+        for src in self.seqprof:
+            loaded_profiles.append(_FetchProfileFromFile(src))
+
+        prof_sequences = [p.sequence for p in loaded_profiles]
+
+        # check uniqueness of loaded profiles
+        if len(set(prof_sequences)) != len(prof_sequences):
+            helper.MsgErrorAndExit("All sequence profiles must have unique " +
+                                   "sequence.", 54)
+
+        # map onto alignment target sequences
+        trg_sequences = [aln.GetSequence(0).GetGaplessString() \
+                         for aln in self.alignments]
+        for s in trg_sequences:
+            try:
+                self.profiles.append(loaded_profiles[prof_sequences.index(s)])
+            except Exception, exc:
+                helper.MsgErrorAndExit("Could not find profile with sequence " +
+                                       "that exactly matches trg seq: " + s, 55)
+
+        # We found a profile for every target sequence. So if the size of unique 
+        # target sequences is not the same as for unique profile sequences, 
+        # we know that we have additional profiles that never got mapped
+        if len(set(trg_sequences)) != len(set(prof_sequences)):
+            helper.MsgErrorAndExit("Could not map every profile to a target " +
+                                   "sequence", 53)
 
 #  LocalWords:  param attr prog argparse ArgumentParser bool sys os init str
 #  LocalWords:  progattr descattr argpinit argv formatter meth args namespace
diff --git a/core/pymod/wrap_core.cc b/core/pymod/wrap_core.cc
index ae1381eb24b990738ffa5c5751665f231856ff2f..8891cf7a2b2d814d96a36ce1cdce4fa0a7c852e4 100644
--- a/core/pymod/wrap_core.cc
+++ b/core/pymod/wrap_core.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 
 void export_geom();
diff --git a/core/src/check_io.hh b/core/src/check_io.hh
index 8ddb610ad84e8a779eedd9725a38ddb071cec7bb..e4013eca3009ec9a26f0f77d912644c13dd954fc 100644
--- a/core/src/check_io.hh
+++ b/core/src/check_io.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines procedures to check validity of binary files.
 /// (see portableIO doc for details)
 
diff --git a/core/src/cluster.cc b/core/src/cluster.cc
index 3c579730429acd631911538e2df574101ff955cf..d9bbd65e15696fe12875208f7d4d2c078956d786 100644
--- a/core/src/cluster.cc
+++ b/core/src/cluster.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/cluster.hh>
 #include <promod3/core/message.hh>
 
diff --git a/core/src/cluster.hh b/core/src/cluster.hh
index 5c86bf02796e6566ba7fbcdbc3fef71ec655a46d..d9d475d35e921a5dbee3af30e9af51bb4394f00f 100644
--- a/core/src/cluster.hh
+++ b/core/src/cluster.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_LOOP_CLUSTER_HH
 #define PROMOD_LOOP_CLUSTER_HH
 
diff --git a/core/src/dynamic_spatial_organizer.hh b/core/src/dynamic_spatial_organizer.hh
index 455389667c1fd725595dad3276d308a4c7a55ffb..9565e49e3f1471e3f23d95bd9d74d5da6f988cf0 100644
--- a/core/src/dynamic_spatial_organizer.hh
+++ b/core/src/dynamic_spatial_organizer.hh
@@ -1,11 +1,24 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_DYNAMIC_SPATIAL_ORGANIZER_HI
 #define PROMOD3_DYNAMIC_SPATIAL_ORGANIZER_HI
 
 #include <vector>
 #include <map>
-#include <cmath>
-#include <limits>
-#include <stdint.h>
 
 #include <ost/geom/geom.hh>
 
@@ -19,91 +32,43 @@ class SpatialOrganizerCell{
 
 public:
 
-  SpatialOrganizerCell(): num_items_(0),
-          capacity_(32) {
-    x_ = new Real[capacity_];
-    y_ = new Real[capacity_];
-    z_ = new Real[capacity_];
-    pointers_ = new ITEM*[capacity_];
-    distance_buffer_ = new Real[capacity_];
-  }
-
-  ~SpatialOrganizerCell() {
-    delete [] x_;
-    delete [] y_;
-    delete [] z_;
-    delete [] pointers_;
-    delete [] distance_buffer_;
+  SpatialOrganizerCell() {
+    x_.reserve(32);
+    y_.reserve(32);
+    z_.reserve(32);
+    pointers_.reserve(32);
+    distance_buffer_.reserve(32);
   }
 
   void AddItem(ITEM* item, Real x, Real y, Real z) {
-
-    int idx = this->GetIdx(item);   
-    if(idx != -1) {
-      throw promod3::Error("Item is already in spatial organizer cell!");
-    }
-
-    if(num_items_ == capacity_) {
-      capacity_ *= 2;
-
-      Real* new_x = new Real[capacity_];
-      Real* new_y = new Real[capacity_];
-      Real* new_z = new Real[capacity_];
-      ITEM** new_pointers = new ITEM*[capacity_];
-      Real* new_distance_buffer_ = new Real[capacity_];
-
-      memcpy(new_x, x_, num_items_ * sizeof(Real));
-      memcpy(new_y, y_, num_items_ * sizeof(Real));
-      memcpy(new_z, z_, num_items_ * sizeof(Real));
-      memcpy(new_pointers, pointers_, num_items_ * sizeof(ITEM*));
-
-      delete [] x_;
-      delete [] y_;
-      delete [] z_;
-      delete [] pointers_;
-      delete [] distance_buffer_;
-
-      x_ = new_x;
-      y_ = new_y;
-      z_ = new_z;
-      pointers_ = new_pointers;
-      distance_buffer_ = new_distance_buffer_;
-    }
-
-    x_[num_items_] = x;
-    y_[num_items_] = y;
-    z_[num_items_] = z;
-    pointers_[num_items_] = item;
-    ++num_items_;
+    x_.push_back(x);
+    y_.push_back(y);
+    z_.push_back(z);
+    pointers_.push_back(item);
+    distance_buffer_.push_back(0.0);
   }
 
   void RemoveItem(ITEM* item) {
-
-    if(num_items_ == 0) {
-      throw promod3::Error("Cannot remove item from empty spatial organizer cell!");
-    }
-
-    int idx = this->GetIdx(item);
-   
-    if(idx == -1) {
+    typename std::vector<ITEM*>::iterator it = 
+    std::find(pointers_.begin(), pointers_.end(), item);
+    if(it == pointers_.end()) {
       throw promod3::Error("Cannot Remove inexistent item from spatial organizer cell!");
     }
-
-    if(idx < (num_items_-1)) {
-      int num_bytes = (num_items_-(idx+1))*sizeof(Real);
-      memmove(&x_[idx],&x_[idx+1],num_bytes);
-      memmove(&y_[idx],&y_[idx+1],num_bytes);
-      memmove(&z_[idx],&z_[idx+1],num_bytes);
-      memmove(&pointers_[idx],&pointers_[idx+1], (num_items_-(idx+1))*sizeof(ITEM*));
-    }
-    --num_items_;
+    int idx = std::distance(pointers_.begin(), it);
+    x_.erase(x_.begin() + idx);
+    y_.erase(y_.begin() + idx);
+    z_.erase(z_.begin() + idx);
+    pointers_.erase(pointers_.begin() + idx);
+    distance_buffer_.pop_back();
   }
 
   void ResetPos(ITEM* item, Real x, Real y, Real z) {
-    int idx = this->GetIdx(item);
-    if(idx == -1) {
-      throw promod3::Error("Cannot reset pos of inexistent item from spatial organizer cell!");      
+    typename std::vector<ITEM*>::iterator it = 
+    std::find(pointers_.begin(), pointers_.end(), item);
+    if(it == pointers_.end()) {
+      throw promod3::Error("Cannot Remove inexistent item from spatial organizer cell!");
     }
+    int idx = std::distance(pointers_.begin(), it);
     x_[idx] = x;
     y_[idx] = y;
     z_[idx] = z;
@@ -114,15 +79,16 @@ public:
 
     Real dx, dy, dz;
     Real squared_cutoff = dist*dist;
+    int num_items = x_.size();
 
-    for(int i = 0; i < num_items_; ++i) {
+    for(int i = 0; i < num_items; ++i) {
       dx = x_[i] - x;
       dy = y_[i] - y;
       dz = z_[i] - z; 
       distance_buffer_[i] = dx*dx + dy*dy + dz*dz;
     }
 
-    for(int i = 0; i < num_items_; ++i) {
+    for(int i = 0; i < num_items; ++i) {
       if(distance_buffer_[i] <= squared_cutoff) {
         result_vec.push_back(std::make_pair(pointers_[i],std::sqrt(distance_buffer_[i])));
       }
@@ -130,22 +96,11 @@ public:
   }
 
 private:
-
-
-  int GetIdx(ITEM* ptr) {
-    for(int i = 0; i < num_items_; ++i) {
-      if(pointers_[i] == ptr) return i;
-    }
-    return -1;
-  }
-
-  int num_items_;
-  int capacity_;
-  Real* x_;
-  Real* y_;
-  Real* z_;
-  ITEM** pointers_;
-  Real* distance_buffer_;
+  std::vector<Real> x_;
+  std::vector<Real> y_;
+  std::vector<Real> z_;
+  std::vector<ITEM*> pointers_;
+  mutable std::vector<Real> distance_buffer_;
 };
 
 //! spatial organizer
@@ -200,6 +155,7 @@ private:
 
   typedef std::map<Index,SpatialOrganizerCell<ITEM>*> ItemMap;
 
+
 public:
 
   DynamicSpatialOrganizer(Real delta,
@@ -222,15 +178,12 @@ public:
   }
 
   void Add(ITEM* item, const geom::Vec3& pos) {
-
     Index indx=gen_index(pos);
     typename ItemMap::iterator it = map_.find(indx);
-
     if(it == map_.end()) {
       map_[indx] = new SpatialOrganizerCell<ITEM>;
       it = map_.find(indx);
     }
-
     it->second->AddItem(item,pos[0],pos[1],pos[2]);
   }
 
@@ -248,28 +201,20 @@ public:
   void Reset(ITEM* item, const geom::Vec3& actual_pos, const geom::Vec3& new_pos) {
     Index actual_indx=gen_index(actual_pos);
     Index new_indx=gen_index(new_pos);
-    if(actual_indx != new_indx) {
-      typename ItemMap::iterator i = map_.find(actual_indx);
-      if(i != map_.end()) {
-        typename ItemMap::iterator j = map_.find(new_indx);
-        if(j == map_.end()) {
-          map_[new_indx] = new SpatialOrganizerCell<ITEM>;
-          j = map_.find(new_indx);
-        }
-        i->second->RemoveItem(item);
-        j->second->AddItem(item,new_pos[0],new_pos[1],new_pos[2]);
-        return;
-      }    
-      throw promod3::Error("Could not find specified item in dynamic spatial organizer!");
+    typename ItemMap::iterator i = map_.find(actual_indx);
+    if(i == map_.end()) {
+      throw promod3::Error("Could not find specified item in dynamic spatial organizer!"); 
     }
-    else{
-      typename ItemMap::iterator i = map_.find(actual_indx);
-      if(i != map_.end()) {
-        i->second->ResetPos(item,new_pos[0],new_pos[1],new_pos[2]);
-      }
-      else{
-        throw promod3::Error("Could not find specified item in dynamic spatial organizer!");
+    if(actual_indx == new_indx) {
+      i->second->ResetPos(item,new_pos[0],new_pos[1],new_pos[2]);
+    } else {
+      typename ItemMap::iterator j = map_.find(new_indx);
+      if(j == map_.end()) {
+        map_[new_indx] = new SpatialOrganizerCell<ITEM>;
+        j = map_.find(new_indx);
       }
+      i->second->RemoveItem(item);
+      j->second->AddItem(item,new_pos[0],new_pos[1],new_pos[2]);
     }
   }
 
@@ -332,7 +277,6 @@ public:
     return return_vec;
   }
 
-
   void Clear() {
     for(typename ItemMap::iterator i = map_.begin(); i != map_.end(); ++i) {
       delete i->second;
@@ -348,9 +292,8 @@ private:
   mutable WithinList result_buffer_;
 
   Index gen_index(const geom::Vec3& pos) const {
-    Index nrvo(static_cast<int>(round(pos[0]/delta_)),
-               static_cast<int>(round(pos[1]/delta_)),
-               static_cast<int>(round(pos[2]/delta_)));
+    Index nrvo(std::floor(pos[0]/delta_), std::floor(pos[1]/delta_),
+               std::floor(pos[2]/delta_));
     return nrvo;
   }
 };
diff --git a/core/src/eigen_types.hh b/core/src/eigen_types.hh
index 8eff20ee824802fee2c78246bcc9126a5fc48c47..773998c0c393179e37f0c9c89ce1804905217f53 100644
--- a/core/src/eigen_types.hh
+++ b/core/src/eigen_types.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_EIGEN_TYPES_HH
 #define PROMOD3_EIGEN_TYPES_HH
 
diff --git a/core/src/enumerator.hh b/core/src/enumerator.hh
index 3fa65d54ca902e04f3ceee273fd0f98f2c4839ea..1eb1790e1e8124611c948c38757e2677b2ce9a5f 100644
--- a/core/src/enumerator.hh
+++ b/core/src/enumerator.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_CORE_ENUMERATOR_HH
 #define PM3_CORE_ENUMERATOR_HH
 
diff --git a/core/src/export_helper.hh b/core/src/export_helper.hh
index 5f6bd0c89dd10beb34e6566d289348a19e39952d..9f86b080d6a26ed49e00f5024b41b2aa2a72c288 100644
--- a/core/src/export_helper.hh
+++ b/core/src/export_helper.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines helpers to convert STL objects to python objects
 
 #ifndef PROMOD3_EXPORT_HELPERS_HH
diff --git a/core/src/geom_base.cc b/core/src/geom_base.cc
index 5b956ad31f6eb6513d7ccd9a9b9faeee6e2350b4..de84ef134953f7de798b4c678295cd2396479b23 100644
--- a/core/src/geom_base.cc
+++ b/core/src/geom_base.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <cmath>
 #include <cassert>
 #include <promod3/core/geom_base.hh>
diff --git a/core/src/geom_base.hh b/core/src/geom_base.hh
index 405907b704f2e4939db62e603d2da9421d61173e..8307a7192f797037943a9fa9d05fab5c85ba3911 100644
--- a/core/src/geom_base.hh
+++ b/core/src/geom_base.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_GEOM_BASE_HH
 #define PROMOD3_GEOM_BASE_HH
 
diff --git a/core/src/geom_stems.cc b/core/src/geom_stems.cc
index b1bf3cf1978f6e43bab68cd05834e96e3614e9d8..2194e1a775ba7615297d9409e2320a2cb2e5544c 100644
--- a/core/src/geom_stems.cc
+++ b/core/src/geom_stems.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/geom_stems.hh>
 #include <cmath>
 #include <cassert>
diff --git a/core/src/geom_stems.hh b/core/src/geom_stems.hh
index 09069d8a1a3edb867fe1bf68f2aa12064071bc23..fc0128bf8d35f0a0b4cf4c318710870e0d4871b7 100644
--- a/core/src/geom_stems.hh
+++ b/core/src/geom_stems.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_GEOM_STEMS_HH
 #define PROMOD3_GEOM_STEMS_HH
 
diff --git a/core/src/graph.cc b/core/src/graph.cc
index 995a6517eb9705e6099bce090b0636fa86dbd741..90082ccaaec1a7d08db9674088b1ef596b3d6866 100644
--- a/core/src/graph.cc
+++ b/core/src/graph.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/graph.hh>
 #include <promod3/core/message.hh>
 #include <algorithm>
diff --git a/core/src/graph.hh b/core/src/graph.hh
index 2638e8276cd7dc03e4352d7021b4d7047256217c..7187be85c776c451610ccab47aedbc916fbe168c 100644
--- a/core/src/graph.hh
+++ b/core/src/graph.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_GRAPH_HH
 #define PROMOD3_GRAPH_HH
 
diff --git a/core/src/graph_minimizer.cc b/core/src/graph_minimizer.cc
index e524efc2fb53447967c9c37b2f9fc985072b1b00..0f9bd8fd05d25610376ffa6087b1418ad25fd0ee 100644
--- a/core/src/graph_minimizer.cc
+++ b/core/src/graph_minimizer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <algorithm>
 #include <queue>
 #include <limits>
diff --git a/core/src/graph_minimizer.hh b/core/src/graph_minimizer.hh
index 410cc21d0eb4664f1b6c8ef70e4b7caf6ec6535b..28e9df7b9324a7d81845d39e321cb843b99f30a6 100644
--- a/core/src/graph_minimizer.hh
+++ b/core/src/graph_minimizer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_GRAPH_MINIMIZER_HH
 #define PROMOD3_GRAPH_MINIMIZER_HH
 
diff --git a/core/src/message.hh b/core/src/message.hh
index f0d4368ed6bba7588f2d1483f38e6d177207f9f6..c652f2bab02703d4edc0635aec78856b54b4bbad 100644
--- a/core/src/message.hh
+++ b/core/src/message.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_MESSAGE_HH
 #define PROMOD3_MESSAGE_HH
 
diff --git a/core/src/portable_binary_data_sink.hh b/core/src/portable_binary_data_sink.hh
index 40e3fdab7809ffd7a6cb824ae4a4525ef4537f78..c3c8c9e93e1013747f0981862882a98ded0124e2 100644
--- a/core/src/portable_binary_data_sink.hh
+++ b/core/src/portable_binary_data_sink.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines a portable binary data sink.
 /// This generates files to be read by PortableBinaryDataSink.
 /// The interface is compatible with ost-like data sinks.
diff --git a/core/src/portable_binary_data_source.hh b/core/src/portable_binary_data_source.hh
index b97491520197be70645d6c2b796b9c318bd00c17..00d80a50d5c1ea69ce48f68fab080c82d0124e57 100644
--- a/core/src/portable_binary_data_source.hh
+++ b/core/src/portable_binary_data_source.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines a portable binary data source.
 /// This works with files dumped by PortableBinaryDataSink.
 /// The interface is compatible with ost-like data sources.
diff --git a/core/src/portable_binary_serializer.hh b/core/src/portable_binary_serializer.hh
index 8c5a570cd784c210784b6a91892c411c6157dd49..4a5b52efab05161da16c1bf30c66828e81eb4f5a 100644
--- a/core/src/portable_binary_serializer.hh
+++ b/core/src/portable_binary_serializer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Define everything needed for portable I/O.
 /// Here we include any custom Serialize function.
 /// Main classes are PortableBinaryDataSink and PortableBinaryDataSource.
diff --git a/core/src/runtime_profiling.hh b/core/src/runtime_profiling.hh
index 379b6e40c5febcf5c0c003d327f5c5b5b51f36ee..343666befacf48c27eb5b1b7f27e300aea93864c 100644
--- a/core/src/runtime_profiling.hh
+++ b/core/src/runtime_profiling.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines functionality for runtime profiling.
 /// All profiling can be completely turned off by setting 
 /// PM3_RUNTIME_PROFILING_LEVEL=0
diff --git a/core/src/superpose.cc b/core/src/superpose.cc
index 717b9de6b7fb06794fa42412ce072d3d69c93a9a..0e06a6e6994588fd83c925f26cabe64b05d5dc4f 100644
--- a/core/src/superpose.cc
+++ b/core/src/superpose.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/superpose.hh>
 #include <Eigen/SVD>
 #include <Eigen/Geometry>
diff --git a/core/src/superpose.hh b/core/src/superpose.hh
index 8a3fdcec3b0c4d4e8e3ce13c7bdce1ef286304d1..2fd82314a9fbeb3ab2510ba478963793f4490dfd 100644
--- a/core/src/superpose.hh
+++ b/core/src/superpose.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_SUPERPOSE_HH
 #define PROMOD3_SUPERPOSE_HH
 
diff --git a/core/src/tetrahedral_polytope.cc b/core/src/tetrahedral_polytope.cc
index 576ab1fd82093f5c4c0c8cc6a18f8c987577796d..40bf460479765da8c31d5451a3b14f28fea49154 100644
--- a/core/src/tetrahedral_polytope.cc
+++ b/core/src/tetrahedral_polytope.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/tetrahedral_polytope.hh>
 #include <limits>
 
diff --git a/core/src/tetrahedral_polytope.hh b/core/src/tetrahedral_polytope.hh
index 3a2863b2854aaca9f2eee184c5fa9a8260d3125e..31c88a77d99719ddd68e1da69d51dc0201ed9275 100644
--- a/core/src/tetrahedral_polytope.hh
+++ b/core/src/tetrahedral_polytope.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_CORE_TETRAHEDRAL_POLYTOPE_HH
 #define PROMOD3_CORE_TETRAHEDRAL_POLYTOPE_HH
 
diff --git a/core/src/tree.cc b/core/src/tree.cc
index 4bf941d486b4583a2d6b9ea8cc8e22bbad364236..8e32afb18e0f80d14e1337b544015efe29a7b464 100644
--- a/core/src/tree.cc
+++ b/core/src/tree.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/tree.hh>
 #include <promod3/core/message.hh>
 #include <stack>
diff --git a/core/src/tree.hh b/core/src/tree.hh
index c8a1628c78cfeb609a7fd3063bf6ff86476fa9d9..dd45dc327e907021c6176a14e8fc09bced8fe2b2 100644
--- a/core/src/tree.hh
+++ b/core/src/tree.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_TREE_HH
 #define PROMOD3_TREE_HH
 
diff --git a/core/tests/CMakeLists.txt b/core/tests/CMakeLists.txt
index b7eebec0e86b04939ab02ac83281e74ac17ab1ef..829a9961c6ff7488d0b5ea3761f75bbe7b40987a 100644
--- a/core/tests/CMakeLists.txt
+++ b/core/tests/CMakeLists.txt
@@ -23,6 +23,10 @@ set(CORE_TEST_DATA
   data/aln_tpl/5d52-1_cut.pdb
   data/aln_tpl/5d52-1_cut_A.fasta
   data/aln_tpl/5d52-1_cut_B.fasta
+  data/aln_tpl/1crn.hhm
+  data/aln_tpl/1crn_corrupted.hhm
+  data/aln_tpl/5ua4_B.fasta
+  data/aln_tpl/5ua4_B.hhm
   data/fasta/alignment.fas
   data/fasta/1ake.fas
   data/fasta/1ake_1.fas
@@ -31,6 +35,7 @@ set(CORE_TEST_DATA
   data/fasta/1ake.fas.gz
   data/fasta/1ake_nel.fas
   data/fasta/1ake_sw.fas
+
 )
 
 promod3_unittest(MODULE core
diff --git a/core/tests/data/aln_tpl/1crn.hhm b/core/tests/data/aln_tpl/1crn.hhm
new file mode 100644
index 0000000000000000000000000000000000000000..eb35d07151bbc66ea6f979f155f3f1fef9cf2d40
--- /dev/null
+++ b/core/tests/data/aln_tpl/1crn.hhm
@@ -0,0 +1,180 @@
+HHsearch 1.5
+NAME  c6a0deb50c4f69619d193f0fde0517c2
+FAM   
+FILE  seq01
+COM   /scicore/soft/apps/HH-suite/2.0.16-goolf-1.4.10/bin/hhmake -i /scratch/14369431.1.short.q/tmpqOaEJI/seq01.a3m -o /scratch/14369431.1.short.q/tmpqOaEJI/seq01.hhm 
+DATE  Mon Mar  7 14:19:45 2016
+LENG  46 match states, 46 columns in multiple alignment
+FILT  55 out of 57 sequences passed filter (-id 90 -cov 0 -qid 0 -qsc -20.00 -diff 100)
+NEFF  3.8 
+SEQ
+>ss_pred PSIPRED predicted secondary structure
+CCCCCCHHHHHHHHHCCCCCCCHHHHHHHCCCEEECCCCCCCCCCC
+>ss_conf PSIPRED confidence values
+9877783554421111168998455542048366208989999999
+>Consensus
+xsCCpstxaRnxYnxCrxxgxsxxxCaxxsgCkixsgxxCPxxyxx
+>c6a0deb50c4f69619d193f0fde0517c2
+TTCCPSIVARSNFNVCRLPGTPEAICATYTGCIIIPGATCPGDYAN
+>gi|115605364|gb|ABJ15789.1| putative thionin precursor [Polygonum sibiricum]
+-SCCQTTTARNIYNSCRLAGGSRERCASLSGCKHVTGNTCSPGWEK
+>gi|4007745|emb|CAA65316.1| purothionin [Secale cereale]
+-SCCKSTLGRNCYNLCRTRGAQK-LCANFCRCKLISSTSCPKEFPK
+>gi|17381172|gb|AAL36398.1| putative thionin protein [Arabidopsis thaliana]gi|62320644|dbj|BAD95310.1| putative thionin [Arabidopsis thaliana]
+-TCCPSQSTRKGFEDCISEGNLQILCSAESGCRDTYVGYCPSGFPY
+>gi|802170|gb|AAB33011.1| crambin precursor=thionin variant Thi2Ca12 [Crambe abyssinica, seeds, Peptide Partial, 135 aa]
+-SCCPTKSARNTFDVCRLTGTSMGLCAAISECKILSVTKCPSNLPY
+>gi|21553588|gb|AAM62681.1| thionin Thi2.2 [Arabidopsis thaliana]
+-ICCPTKDDRSVYFVCMLSVSSQFYCLLKSKCKNTSQTICPPGYTN
+>gi|15218931|ref|NP_176784.1| thionin [Arabidopsis thaliana]gi|44888531|sp|Q9C8D6.1|THN24_ARATH RecName: Full=Probable thionin-2.4; Contains: RecName: Full=Probable thionin-2.4; Contains: RecName: Full=Acidic protein; Flags: Precursorgi|12322605|gb|AAG51299.1|AC026480_6 thionin, putative [Arabidopsis thaliana]gi|14190505|gb|AAK55733.1|AF380652_1 At1g66100/F15E12_20 [Arabidopsis thaliana]gi|15809774|gb|AAL06815.1| At1g66100/F15E12_20 [Arabidopsis thaliana]gi|332196341|gb|AEE34462.1| thionin [Arabidopsis thaliana]
+-ICCPSIQARTFYNACLFAVGSPSSCIRNSSCLDISESTCPRGYTN
+>gi|1729954|sp|Q05806.1|THN5_WHEAT RecName: Full=Type-5 thionin; Contains: RecName: Full=Type-5 thionin; AltName: Full=Type V thionin; Contains: RecName: Full=Acidic protein; Flags: Precursorgi|21885|emb|CAA43844.1| wheat type V thionin [Triticum aestivum]gi|21887|emb|CAA43845.1| wheat type V thionin [Triticum aestivum]
+-DCGANPFKVACFNSCLLGPSTVFQCADFCACRLPAG---------
+>gi|120564556|gb|ABM30200.1| thionin [Brassica juncea]
+-SCCPSTAARWAYYLCTNSWPLTPLCISHTGC-IESETTCPPGYPY
+>gi|545031|gb|AAB29760.1| thionin precursor {clone Thi1Va1} [Viscum album=mistletoe, Peptide, 115 aa]
+-ICCRAPAGKKCYNLCTA-lLSSE-TCANTCYCKDVSGETCPAD---
+#
+NULL   3706	5728	4211	4064	4839	3729	4763	4308	4069	3323	5509	4640	4464	4937	4285	4423	3815	3783	6325	4665	
+HMM    A	C	D	E	F	G	H	I	K	L	M	N	P	Q	R	S	T	V	W	Y	
+       M->M	M->I	M->D	I->M	I->I	D->M	D->D	Neff	Neff_I	Neff_D
+       0	*	*	0	*	0	*	*	*	*	
+T 1    *	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	0	*	*	*	1
+       0	*	*	*	*	*	*	1000	0	0	
+
+T 2    *	*	4186	*	*	5283	*	2677	*	5264	*	*	*	*	*	833	3153	3986	*	*	2
+       0	*	*	*	*	*	*	3941	0	0	
+
+C 3    *	0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	3
+       0	*	*	*	*	*	*	3941	0	0	
+
+C 4    *	122	*	*	5259	4186	*	*	*	*	*	*	*	*	*	*	*	*	*	*	4
+       0	*	*	*	*	*	*	3941	0	0	
+
+P 5    4186	*	*	*	*	*	*	*	3250	*	*	*	549	5753	2856	*	*	*	*	*	5
+       0	*	*	*	*	*	*	3941	0	0	
+
+S 6    5271	*	4429	*	*	*	*	*	*	*	*	2329	*	*	5941	866	2612	*	*	*	6
+       0	*	*	*	*	*	*	3941	0	0	
+
+I 7    *	*	5440	4820	*	*	*	3810	4212	*	5935	4983	3272	3386	4684	5283	1068	5174	*	*	7
+       0	*	*	*	*	*	*	3941	0	0	
+
+V 8    2614	*	4805	*	4186	*	*	3036	*	3320	*	*	*	4094	*	2750	1838	5660	5873	*	8
+       0	*	*	*	*	*	*	3941	0	0	
+
+A 9    646	*	4264	*	*	2749	*	*	4186	*	*	*	*	*	*	3803	4903	*	*	*	9
+       0	*	*	*	*	*	*	3941	0	0	
+
+R 10   *	*	*	*	*	*	*	5975	4265	*	*	*	*	*	189	*	*	4186	*	*	10
+       0	*	*	*	*	*	*	3941	0	0	
+
+S 11   4186	*	*	3803	*	*	*	5935	3608	*	*	836	*	*	*	2953	5214	*	4935	5259	11
+       0	*	*	*	*	*	*	3941	0	0	
+
+N 12   4935	1544	*	4787	5214	3942	*	2698	5264	*	4684	3736	*	5164	5174	*	3934	3625	*	*	12
+       0	*	*	*	*	*	*	3941	0	0	
+
+F 13   *	*	*	*	2199	*	*	*	*	*	*	*	*	*	*	*	*	*	*	354	13
+       0	*	*	*	*	*	*	3941	0	0	
+
+N 14   *	*	4222	3844	4805	*	*	*	*	5264	*	510	*	*	*	4983	5283	5464	*	4935	14
+       0	*	*	*	*	*	*	3941	0	0	
+
+V 15   2800	*	3844	*	*	*	*	5271	*	2403	5174	*	*	*	*	2663	3074	1902	*	*	15
+       0	*	*	*	*	*	*	3941	0	0	
+
+C 16   *	0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	16
+       0	*	*	*	*	*	*	3941	0	0	
+
+R 17   *	*	*	*	*	*	6200	2932	*	3611	4805	*	*	*	558	*	4093	*	*	*	17
+       0	*	*	*	*	*	*	3941	0	0	
+
+L 18   3969	*	*	*	2171	*	*	3956	*	1318	5174	4935	*	*	5264	3115	6073	4979	*	*	18
+       38	*	5271	*	*	*	*	3941	0	0	
+
+P 19   3003	*	*	4863	*	3441	*	*	*	5901	*	*	2369	4784	2418	3812	2907	3735	*	4814	19
+       41	*	5155	0	*	0	*	3898	1025	1025	
+
+G 20   *	*	*	*	4949	454	6123	*	*	4542	*	*	3604	*	*	*	*	3948	4909	*	20
+       72	*	4354	*	*	*	0	3901	0	1033	
+
+T 21   2209	5224	*	*	*	2278	*	*	*	*	*	3752	4867	*	*	2344	2028	*	*	*	21
+       39	5224	*	0	*	669	1430	3845	1023	1191	
+
+P 22   5624	*	*	*	*	*	*	5870	*	3138	*	*	1935	4054	*	1200	3439	*	*	*	22
+       0	*	*	*	*	0	*	3903	0	1033	
+
+E 23   5952	6850	*	3099	*	*	4802	5475	3316	*	4903	*	4232	2872	1627	5880	4176	4193	*	5287	23
+       184	*	3059	*	*	*	*	3943	0	0	
+
+A 24   4442	*	3710	2779	2989	4157	*	4702	*	*	*	*	1565	*	5707	4382	3234	*	*	*	24
+       28	5707	*	0	*	0	*	3843	1000	1329	
+
+I 25   4358	*	*	*	6658	*	5279	3244	4611	2579	*	5958	*	4193	3566	3476	2812	2484	*	4816	25
+       0	*	*	*	*	*	*	3943	0	0	
+
+C 26   *	31	*	*	*	*	*	*	*	*	*	*	*	*	*	5573	*	*	*	*	26
+       0	*	*	*	*	*	*	3943	0	0	
+
+A 27   560	6231	*	*	*	4233	*	3636	*	4029	4985	*	*	*	*	3609	*	*	*	*	27
+       0	*	*	*	*	*	*	3943	0	0	
+
+T 28   2460	*	3819	*	*	4273	*	5850	2738	4816	*	3203	*	4985	3239	2607	3596	*	*	*	28
+       0	*	*	*	*	*	*	3943	0	0	
+
+Y 29   4929	*	5658	4919	2879	4802	4950	3737	4252	1699	5444	5287	5995	*	5262	*	3899	3734	*	4566	29
+       0	*	*	*	*	*	*	3943	0	0	
+
+T 30   3911	1554	*	*	*	*	*	*	*	*	*	*	*	*	*	1040	3227	*	*	*	30
+       0	*	*	*	*	*	*	3943	0	0	
+
+G 31   4193	*	3877	5850	*	811	*	*	4816	*	*	*	*	*	2699	4815	4659	*	*	5301	31
+       0	*	*	*	*	*	*	3943	0	0	
+
+C 32   *	0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	32
+       47	*	4950	*	*	*	*	3943	0	0	
+
+I 33   *	*	*	4672	*	*	*	2865	809	3414	*	*	*	4933	3475	*	*	4789	*	*	33
+       0	*	*	*	*	0	*	3904	0	1044	
+
+I 34   *	*	3573	4802	*	*	3933	921	*	2779	*	3898	*	*	4839	*	5475	5952	*	*	34
+       0	*	*	*	*	*	*	3943	0	0	
+
+I 35   *	*	5287	4950	4358	*	*	1603	*	3869	*	*	4193	6130	*	3498	3006	2227	*	*	35
+       46	*	4985	*	*	*	*	3943	0	0	
+
+P 36   4173	*	2874	*	5250	*	*	5139	*	4792	*	*	4633	4645	5394	1055	4050	*	*	3805	36
+       201	*	2941	*	*	*	0	3881	0	1045	
+
+G 37   5480	*	5485	3849	*	869	*	*	*	*	*	*	*	4548	5245	3819	4686	2648	*	*	37
+       22	*	6064	*	*	0	*	3796	0	1453	
+
+A 38   4564	*	4944	5167	*	1910	*	*	4653	4470	*	3572	4946	*	5111	2927	1892	*	*	*	38
+       0	*	*	*	*	0	*	3775	0	1000	
+
+T 39   *	4660	*	5366	4744	6406	*	3919	2193	*	*	4099	*	5382	5207	3976	1348	*	*	4782	39
+       0	*	*	*	*	*	*	3764	0	0	
+
+C 40   *	58	*	*	*	*	*	*	4660	*	*	*	*	*	*	*	*	*	*	*	40
+       0	*	*	*	*	*	*	3764	0	0	
+
+P 41   *	*	4306	*	*	*	*	*	3731	*	*	6351	322	4587	*	5643	*	*	*	*	41
+       0	*	*	*	*	*	*	3764	0	0	
+
+G 42   4398	*	6402	*	*	4592	*	*	4079	*	*	4374	1200	*	3395	2109	5063	*	*	*	42
+       0	*	*	*	*	*	*	3764	0	0	
+
+D 43   *	*	2024	6014	4769	1231	4660	*	*	*	*	4386	3096	4744	*	4862	*	*	*	*	43
+       0	*	*	*	*	*	*	3764	0	0	
+
+Y 44   *	*	*	*	2991	*	4830	*	*	3705	*	*	*	*	*	*	*	*	2806	691	44
+       0	*	*	*	*	*	*	3718	0	0	
+
+A 45   4566	*	3231	5056	*	*	*	3467	*	*	*	5405	1034	*	5100	6384	2896	4532	*	*	45
+       35	5366	*	4087	87	*	*	3718	1002	0	
+
+N 46   *	*	4370	*	*	*	2588	*	1723	*	*	2200	*	*	5953	*	*	*	*	2008	46
+       0	*	*	0	*	*	*	3699	0	0	
+
+//
diff --git a/core/tests/data/aln_tpl/1crn_corrupted.hhm b/core/tests/data/aln_tpl/1crn_corrupted.hhm
new file mode 100644
index 0000000000000000000000000000000000000000..01765421ff452e8094d103970ff78277a80e1a5e
--- /dev/null
+++ b/core/tests/data/aln_tpl/1crn_corrupted.hhm
@@ -0,0 +1,185 @@
+#######################################################################
+# THIS FILE IS CORRUPTED!!!!!!!!!                                     #
+# First three amino acids do not have the right number of frequencies #
+#######################################################################
+
+HHsearch 1.5
+NAME  c6a0deb50c4f69619d193f0fde0517c2
+FAM   
+FILE  seq01
+COM   /scicore/soft/apps/HH-suite/2.0.16-goolf-1.4.10/bin/hhmake -i /scratch/14369431.1.short.q/tmpqOaEJI/seq01.a3m -o /scratch/14369431.1.short.q/tmpqOaEJI/seq01.hhm 
+DATE  Mon Mar  7 14:19:45 2016
+LENG  46 match states, 46 columns in multiple alignment
+FILT  55 out of 57 sequences passed filter (-id 90 -cov 0 -qid 0 -qsc -20.00 -diff 100)
+NEFF  3.8 
+SEQ
+>ss_pred PSIPRED predicted secondary structure
+CCCCCCHHHHHHHHHCCCCCCCHHHHHHHCCCEEECCCCCCCCCCC
+>ss_conf PSIPRED confidence values
+9877783554421111168998455542048366208989999999
+>Consensus
+xsCCpstxaRnxYnxCrxxgxsxxxCaxxsgCkixsgxxCPxxyxx
+>c6a0deb50c4f69619d193f0fde0517c2
+TTCCPSIVARSNFNVCRLPGTPEAICATYTGCIIIPGATCPGDYAN
+>gi|115605364|gb|ABJ15789.1| putative thionin precursor [Polygonum sibiricum]
+-SCCQTTTARNIYNSCRLAGGSRERCASLSGCKHVTGNTCSPGWEK
+>gi|4007745|emb|CAA65316.1| purothionin [Secale cereale]
+-SCCKSTLGRNCYNLCRTRGAQK-LCANFCRCKLISSTSCPKEFPK
+>gi|17381172|gb|AAL36398.1| putative thionin protein [Arabidopsis thaliana]gi|62320644|dbj|BAD95310.1| putative thionin [Arabidopsis thaliana]
+-TCCPSQSTRKGFEDCISEGNLQILCSAESGCRDTYVGYCPSGFPY
+>gi|802170|gb|AAB33011.1| crambin precursor=thionin variant Thi2Ca12 [Crambe abyssinica, seeds, Peptide Partial, 135 aa]
+-SCCPTKSARNTFDVCRLTGTSMGLCAAISECKILSVTKCPSNLPY
+>gi|21553588|gb|AAM62681.1| thionin Thi2.2 [Arabidopsis thaliana]
+-ICCPTKDDRSVYFVCMLSVSSQFYCLLKSKCKNTSQTICPPGYTN
+>gi|15218931|ref|NP_176784.1| thionin [Arabidopsis thaliana]gi|44888531|sp|Q9C8D6.1|THN24_ARATH RecName: Full=Probable thionin-2.4; Contains: RecName: Full=Probable thionin-2.4; Contains: RecName: Full=Acidic protein; Flags: Precursorgi|12322605|gb|AAG51299.1|AC026480_6 thionin, putative [Arabidopsis thaliana]gi|14190505|gb|AAK55733.1|AF380652_1 At1g66100/F15E12_20 [Arabidopsis thaliana]gi|15809774|gb|AAL06815.1| At1g66100/F15E12_20 [Arabidopsis thaliana]gi|332196341|gb|AEE34462.1| thionin [Arabidopsis thaliana]
+-ICCPSIQARTFYNACLFAVGSPSSCIRNSSCLDISESTCPRGYTN
+>gi|1729954|sp|Q05806.1|THN5_WHEAT RecName: Full=Type-5 thionin; Contains: RecName: Full=Type-5 thionin; AltName: Full=Type V thionin; Contains: RecName: Full=Acidic protein; Flags: Precursorgi|21885|emb|CAA43844.1| wheat type V thionin [Triticum aestivum]gi|21887|emb|CAA43845.1| wheat type V thionin [Triticum aestivum]
+-DCGANPFKVACFNSCLLGPSTVFQCADFCACRLPAG---------
+>gi|120564556|gb|ABM30200.1| thionin [Brassica juncea]
+-SCCPSTAARWAYYLCTNSWPLTPLCISHTGC-IESETTCPPGYPY
+>gi|545031|gb|AAB29760.1| thionin precursor {clone Thi1Va1} [Viscum album=mistletoe, Peptide, 115 aa]
+-ICCRAPAGKKCYNLCTA-lLSSE-TCANTCYCKDVSGETCPAD---
+#
+NULL   3706	5728	4211	4064	4839	3729	4763	4308	4069	3323	5509	4640	4464	4937	4285	4423	3815	3783	6325	4665	
+HMM    A	C	D	E	F	G	H	I	K	L	M	N	P	Q	R	S	T	V	W	Y	
+       M->M	M->I	M->D	I->M	I->I	D->M	D->D	Neff	Neff_I	Neff_D
+       0	*	*	0	*	0	*	*	*	*	
+T 1    *	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	0	*	*	
+       0	*	*	*	*	*	*	1000	0	0	
+
+T 2    *	*	4186	*	*	5283	*	2677	*	5264	*	*	*	*	*	833	3153	3986	*	
+       0	*	*	*	*	*	*	3941	0	0	
+
+C 3    *	0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	
+       0	*	*	*	*	*	*	3941	0	0	
+
+C 4    *	122	*	*	5259	4186	*	*	*	*	*	*	*	*	*	*	*	*	*	*	4
+       0	*	*	*	*	*	*	3941	0	0	
+
+P 5    4186	*	*	*	*	*	*	*	3250	*	*	*	549	5753	2856	*	*	*	*	*	5
+       0	*	*	*	*	*	*	3941	0	0	
+
+S 6    5271	*	4429	*	*	*	*	*	*	*	*	2329	*	*	5941	866	2612	*	*	*	6
+       0	*	*	*	*	*	*	3941	0	0	
+
+I 7    *	*	5440	4820	*	*	*	3810	4212	*	5935	4983	3272	3386	4684	5283	1068	5174	*	*	7
+       0	*	*	*	*	*	*	3941	0	0	
+
+V 8    2614	*	4805	*	4186	*	*	3036	*	3320	*	*	*	4094	*	2750	1838	5660	5873	*	8
+       0	*	*	*	*	*	*	3941	0	0	
+
+A 9    646	*	4264	*	*	2749	*	*	4186	*	*	*	*	*	*	3803	4903	*	*	*	9
+       0	*	*	*	*	*	*	3941	0	0	
+
+R 10   *	*	*	*	*	*	*	5975	4265	*	*	*	*	*	189	*	*	4186	*	*	10
+       0	*	*	*	*	*	*	3941	0	0	
+
+S 11   4186	*	*	3803	*	*	*	5935	3608	*	*	836	*	*	*	2953	5214	*	4935	5259	11
+       0	*	*	*	*	*	*	3941	0	0	
+
+N 12   4935	1544	*	4787	5214	3942	*	2698	5264	*	4684	3736	*	5164	5174	*	3934	3625	*	*	12
+       0	*	*	*	*	*	*	3941	0	0	
+
+F 13   *	*	*	*	2199	*	*	*	*	*	*	*	*	*	*	*	*	*	*	354	13
+       0	*	*	*	*	*	*	3941	0	0	
+
+N 14   *	*	4222	3844	4805	*	*	*	*	5264	*	510	*	*	*	4983	5283	5464	*	4935	14
+       0	*	*	*	*	*	*	3941	0	0	
+
+V 15   2800	*	3844	*	*	*	*	5271	*	2403	5174	*	*	*	*	2663	3074	1902	*	*	15
+       0	*	*	*	*	*	*	3941	0	0	
+
+C 16   *	0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	16
+       0	*	*	*	*	*	*	3941	0	0	
+
+R 17   *	*	*	*	*	*	6200	2932	*	3611	4805	*	*	*	558	*	4093	*	*	*	17
+       0	*	*	*	*	*	*	3941	0	0	
+
+L 18   3969	*	*	*	2171	*	*	3956	*	1318	5174	4935	*	*	5264	3115	6073	4979	*	*	18
+       38	*	5271	*	*	*	*	3941	0	0	
+
+P 19   3003	*	*	4863	*	3441	*	*	*	5901	*	*	2369	4784	2418	3812	2907	3735	*	4814	19
+       41	*	5155	0	*	0	*	3898	1025	1025	
+
+G 20   *	*	*	*	4949	454	6123	*	*	4542	*	*	3604	*	*	*	*	3948	4909	*	20
+       72	*	4354	*	*	*	0	3901	0	1033	
+
+T 21   2209	5224	*	*	*	2278	*	*	*	*	*	3752	4867	*	*	2344	2028	*	*	*	21
+       39	5224	*	0	*	669	1430	3845	1023	1191	
+
+P 22   5624	*	*	*	*	*	*	5870	*	3138	*	*	1935	4054	*	1200	3439	*	*	*	22
+       0	*	*	*	*	0	*	3903	0	1033	
+
+E 23   5952	6850	*	3099	*	*	4802	5475	3316	*	4903	*	4232	2872	1627	5880	4176	4193	*	5287	23
+       184	*	3059	*	*	*	*	3943	0	0	
+
+A 24   4442	*	3710	2779	2989	4157	*	4702	*	*	*	*	1565	*	5707	4382	3234	*	*	*	24
+       28	5707	*	0	*	0	*	3843	1000	1329	
+
+I 25   4358	*	*	*	6658	*	5279	3244	4611	2579	*	5958	*	4193	3566	3476	2812	2484	*	4816	25
+       0	*	*	*	*	*	*	3943	0	0	
+
+C 26   *	31	*	*	*	*	*	*	*	*	*	*	*	*	*	5573	*	*	*	*	26
+       0	*	*	*	*	*	*	3943	0	0	
+
+A 27   560	6231	*	*	*	4233	*	3636	*	4029	4985	*	*	*	*	3609	*	*	*	*	27
+       0	*	*	*	*	*	*	3943	0	0	
+
+T 28   2460	*	3819	*	*	4273	*	5850	2738	4816	*	3203	*	4985	3239	2607	3596	*	*	*	28
+       0	*	*	*	*	*	*	3943	0	0	
+
+Y 29   4929	*	5658	4919	2879	4802	4950	3737	4252	1699	5444	5287	5995	*	5262	*	3899	3734	*	4566	29
+       0	*	*	*	*	*	*	3943	0	0	
+
+T 30   3911	1554	*	*	*	*	*	*	*	*	*	*	*	*	*	1040	3227	*	*	*	30
+       0	*	*	*	*	*	*	3943	0	0	
+
+G 31   4193	*	3877	5850	*	811	*	*	4816	*	*	*	*	*	2699	4815	4659	*	*	5301	31
+       0	*	*	*	*	*	*	3943	0	0	
+
+C 32   *	0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	32
+       47	*	4950	*	*	*	*	3943	0	0	
+
+I 33   *	*	*	4672	*	*	*	2865	809	3414	*	*	*	4933	3475	*	*	4789	*	*	33
+       0	*	*	*	*	0	*	3904	0	1044	
+
+I 34   *	*	3573	4802	*	*	3933	921	*	2779	*	3898	*	*	4839	*	5475	5952	*	*	34
+       0	*	*	*	*	*	*	3943	0	0	
+
+I 35   *	*	5287	4950	4358	*	*	1603	*	3869	*	*	4193	6130	*	3498	3006	2227	*	*	35
+       46	*	4985	*	*	*	*	3943	0	0	
+
+P 36   4173	*	2874	*	5250	*	*	5139	*	4792	*	*	4633	4645	5394	1055	4050	*	*	3805	36
+       201	*	2941	*	*	*	0	3881	0	1045	
+
+G 37   5480	*	5485	3849	*	869	*	*	*	*	*	*	*	4548	5245	3819	4686	2648	*	*	37
+       22	*	6064	*	*	0	*	3796	0	1453	
+
+A 38   4564	*	4944	5167	*	1910	*	*	4653	4470	*	3572	4946	*	5111	2927	1892	*	*	*	38
+       0	*	*	*	*	0	*	3775	0	1000	
+
+T 39   *	4660	*	5366	4744	6406	*	3919	2193	*	*	4099	*	5382	5207	3976	1348	*	*	4782	39
+       0	*	*	*	*	*	*	3764	0	0	
+
+C 40   *	58	*	*	*	*	*	*	4660	*	*	*	*	*	*	*	*	*	*	*	40
+       0	*	*	*	*	*	*	3764	0	0	
+
+P 41   *	*	4306	*	*	*	*	*	3731	*	*	6351	322	4587	*	5643	*	*	*	*	41
+       0	*	*	*	*	*	*	3764	0	0	
+
+G 42   4398	*	6402	*	*	4592	*	*	4079	*	*	4374	1200	*	3395	2109	5063	*	*	*	42
+       0	*	*	*	*	*	*	3764	0	0	
+
+D 43   *	*	2024	6014	4769	1231	4660	*	*	*	*	4386	3096	4744	*	4862	*	*	*	*	43
+       0	*	*	*	*	*	*	3764	0	0	
+
+Y 44   *	*	*	*	2991	*	4830	*	*	3705	*	*	*	*	*	*	*	*	2806	691	44
+       0	*	*	*	*	*	*	3718	0	0	
+
+A 45   4566	*	3231	5056	*	*	*	3467	*	*	*	5405	1034	*	5100	6384	2896	4532	*	*	45
+       35	5366	*	4087	87	*	*	3718	1002	0	
+
+N 46   *	*	4370	*	*	*	2588	*	1723	*	*	2200	*	*	5953	*	*	*	*	2008	46
+       0	*	*	0	*	*	*	3699	0	0	
+
+//
diff --git a/core/tests/data/aln_tpl/5ua4_B.fasta b/core/tests/data/aln_tpl/5ua4_B.fasta
new file mode 100644
index 0000000000000000000000000000000000000000..92c2692ce0377b23b6f6fc861ee165c3e39eb344
--- /dev/null
+++ b/core/tests/data/aln_tpl/5ua4_B.fasta
@@ -0,0 +1,4 @@
+>target
+SESQEAVIRDIARHLARIGDRMEYGIRPGLVDSL
+>pdb_id=4bd2, chain=B, assembly_id=1, offset=0 atoms
+SESQEDIIRNIARHLAQVGDSMDRSIPPGL----
diff --git a/core/tests/data/aln_tpl/5ua4_B.hhm b/core/tests/data/aln_tpl/5ua4_B.hhm
new file mode 100644
index 0000000000000000000000000000000000000000..a038b72184271d8c02f22a4f5f40cb28efa2fbe9
--- /dev/null
+++ b/core/tests/data/aln_tpl/5ua4_B.hhm
@@ -0,0 +1,144 @@
+HHsearch 1.5
+NAME  target
+FAM   
+FILE  query_hhblits
+COM   /scicore/soft/apps/HH-suite/2.0.16-goolf-1.4.10-Boost-1.53.0/bin/hhmake -i <101 characters> -o <101 characters> 
+DATE  Sat Dec 31 05:49:23 2016
+LENG  34 match states, 34 columns in multiple alignment
+FILT  11 out of 13 sequences passed filter (-id 90 -cov 0 -qid 0 -qsc -20.00 -diff 100)
+NEFF  2.0 
+SEQ
+>ss_pred PSIPRED predicted secondary structure
+CHHHHHHHHHHHHHHHHHHHHHHCCCCCHHHCCC
+>ss_conf PSIPRED confidence values
+9159999999999999975443036780111159
+>Consensus
+SEsQEeiIxxiArxLAqiGDxmdxsIxPxlvxxL
+>target
+SESQEAVIRDIARHLARIGDRMEYGIRPGLVDSL
+>gi|12083631|ref|NP_073175.1| BH3-interacting domain death agonist [Rattus norvegicus]gi|88909592|sp|Q9JLT6.2|BID_RAT RecName: Full=BH3-interacting domain death agonist; AltName: Full=p22 BID; Short=BID; Contains: RecName: Full=BH3-interacting domain death agonist p15; AltName: Full=p15 BID; Contains: RecName: Full=BH3-interacting domain death agonist p13; AltName: Full=p13 BID; Contains: RecName: Full=BH3-interacting domain death agonist p11; AltName: Full=p11 BIDgi|8050830|gb|AAF71759.1|AF259503_1 BID protein [Rattus norvegicus]gi|149049571|gb|EDM02025.1| BH3 interacting domain death agonist [Rattus norvegicus]gi|157041211|dbj|BAF79674.1| desmocollin type 4 [Rattus norvegicus]
+SESQDEVIHNIARHLAQAGDELDHSIQPTLVRQL
+>gi|115495761|ref|NP_001068914.1| BH3 interacting domain death agonist [Bos taurus]gi|109658413|gb|AAI18360.1| BH3 interacting domain death agonist [Bos taurus]gi|296486995|gb|DAA29108.1| BH3 interacting domain death agonist [Bos taurus]
+SERQEEAVREVARQLAQIGDRLEGSIHPGMVAGL
+>gi|281341033|gb|EFB16617.1| hypothetical protein PANDA_016465 [Ailuropoda melanoleuca]
+SQGQEEIIQDIARQLAQIGDDMDHSIHPGLMNNL
+>gi|307335680|gb|ADN43410.1| BH3 interacting domain death agonist [Lemur catta]
+SESEEDLIQTLARQLAQIGDSMERSIPPRLVDHL
+>gi|307335678|gb|ADN43409.1| BH3 interacting domain death agonist [Felis catus]
+SESQEEIIQDIARQLAQIGDRMDHSIHPRVVNNL
+>gi|307335682|gb|ADN43411.1| BH3 interacting domain death agonist [Saimiri boliviensis]
+SESQEDIIRNIARQLAQVGDSMDRSIPPGLVNRL
+>gi|291412643|ref|XP_002722593.1| PREDICTED: BH3 interacting domain death agonist-like [Oryctolagus cuniculus]
+SESQEEVIRNIARRLAQIGDRMDHHIQPELLNNL
+>gi|296191314|ref|XP_002743575.1| PREDICTED: hypothetical protein LOC100403496 [Callithrix jacchus]
+SESQEDVIRSIARHLAHIGDSMDRSIPLDLVDRL
+>gi|334348150|ref|XP_001373913.2| PREDICTED: envelope glycoprotein-like [Monodelphis domestica]
+SESQEEIIQRIAMQLAKIGDNIENSIQPRVVDEL
+#
+NULL   3706	5728	4211	4064	4839	3729	4763	4308	4069	3323	5509	4640	4464	4937	4285	4423	3815	3783	6325	4665	
+HMM    A	C	D	E	F	G	H	I	K	L	M	N	P	Q	R	S	T	V	W	Y	
+       M->M	M->I	M->D	I->M	I->I	D->M	D->D	Neff	Neff_I	Neff_D
+       0	*	*	0	*	0	*	*	*	*	
+S 1    *	*	*	*	*	*	*	*	*	*	*	*	*	*	*	0	*	*	*	*	1
+       0	*	*	*	*	*	*	1973	0	0	
+
+E 2    *	*	*	143	*	*	*	*	*	*	*	*	*	3405	*	*	*	*	*	*	2
+       0	*	*	*	*	*	*	1973	0	0	
+
+S 3    *	*	*	*	*	3405	*	*	*	*	*	*	*	*	2994	358	*	*	*	*	3
+       0	*	*	*	*	*	*	1973	0	0	
+
+Q 4    *	*	*	3344	*	*	*	*	*	*	*	*	*	150	*	*	*	*	*	*	4
+       0	*	*	*	*	*	*	1973	0	0	
+
+E 5    *	*	3425	141	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	5
+       0	*	*	*	*	*	*	1973	0	0	
+
+A 6    3391	*	1939	635	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	6
+       0	*	*	*	*	*	*	1973	0	0	
+
+V 7    2994	*	*	*	*	*	*	1285	*	3344	*	*	*	*	*	*	*	1452	*	*	7
+       0	*	*	*	*	*	*	1973	0	0	
+
+I 8    *	*	*	*	*	*	*	194	*	*	*	*	*	*	*	*	*	2994	*	*	8
+       0	*	*	*	*	*	*	1973	0	0	
+
+R 9    *	*	*	*	*	*	2586	*	*	*	*	*	*	1457	1092	*	*	*	*	*	9
+       0	*	*	*	*	*	*	1973	0	0	
+
+D 10   *	*	1981	2994	*	*	*	*	*	*	*	1628	*	*	3212	3454	3344	*	*	*	10
+       0	*	*	*	*	*	*	1973	0	0	
+
+I 11   *	*	*	*	*	*	*	366	*	3344	*	*	*	*	*	*	*	2994	*	*	11
+       0	*	*	*	*	*	*	1973	0	0	
+
+A 12   0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	12
+       0	*	*	*	*	*	*	1973	0	0	
+
+R 13   *	*	*	*	*	*	*	*	*	*	3212	*	*	*	165	*	*	*	*	*	13
+       0	*	*	*	*	*	*	1973	0	0	
+
+H 14   *	*	*	*	*	*	1502	*	*	*	*	*	*	834	3540	*	*	*	*	*	14
+       0	*	*	*	*	*	*	1973	0	0	
+
+L 15   *	*	*	*	*	*	*	*	*	0	*	*	*	*	*	*	*	*	*	*	15
+       0	*	*	*	*	*	*	1973	0	0	
+
+A 16   0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	16
+       0	*	*	*	*	*	*	1973	0	0	
+
+R 17   *	*	*	*	*	*	3454	*	3212	*	*	*	*	503	3391	*	*	*	*	*	17
+       0	*	*	*	*	*	*	1973	0	0	
+
+I 18   3425	*	*	*	*	*	*	259	*	*	*	*	*	*	*	*	*	3816	*	*	18
+       0	*	*	*	*	*	*	1973	0	0	
+
+G 19   *	*	*	*	*	0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	19
+       0	*	*	*	*	*	*	1973	0	0	
+
+D 20   *	*	0	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	20
+       0	*	*	*	*	*	*	1973	0	0	
+
+R 21   *	*	3405	2586	*	*	*	*	*	*	*	3212	*	*	1433	1939	*	*	*	*	21
+       0	*	*	*	*	*	*	1973	0	0	
+
+M 22   *	*	*	*	*	*	*	3212	*	2194	570	*	*	*	*	*	*	*	*	*	22
+       0	*	*	*	*	*	*	1973	0	0	
+
+E 23   *	*	804	1227	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	*	23
+       0	*	*	*	*	*	*	1973	0	0	
+
+Y 24   *	*	*	*	*	2994	1285	*	*	*	*	3212	*	*	1939	*	*	*	*	3391	24
+       0	*	*	*	*	*	*	1973	0	0	
+
+G 25   *	*	*	*	*	3391	3540	*	*	*	*	3766	*	*	*	424	*	*	*	*	25
+       0	*	*	*	*	*	*	1973	0	0	
+
+I 26   *	*	*	*	*	*	*	0	*	*	*	*	*	*	*	*	*	*	*	*	26
+       0	*	*	*	*	*	*	1973	0	0	
+
+R 27   *	*	*	*	*	*	1819	*	*	*	*	*	1939	1472	3391	*	*	*	*	*	27
+       0	*	*	*	*	*	*	1973	0	0	
+
+P 28   *	*	*	*	*	*	*	*	*	3454	*	*	138	*	*	*	*	*	*	*	28
+       0	*	*	*	*	*	*	1973	0	0	
+
+G 29   *	*	3454	3540	*	1372	*	*	*	*	*	*	*	*	1889	*	2586	*	*	*	29
+       0	*	*	*	*	*	*	1973	0	0	
+
+L 30   *	*	*	*	*	*	*	*	*	508	2994	*	*	*	*	*	*	2544	*	*	30
+       0	*	*	*	*	*	*	1973	0	0	
+
+V 31   *	*	*	*	*	*	*	*	*	3540	3405	*	*	*	*	*	*	287	*	*	31
+       0	*	*	*	*	*	*	1973	0	0	
+
+D 32   2994	*	1348	*	*	*	*	*	*	*	*	1667	*	*	2586	*	*	*	*	*	32
+       0	*	*	*	*	*	*	1973	0	0	
+
+S 33   *	*	*	3212	*	2994	3344	*	*	*	*	2036	*	2586	2624	3391	*	*	*	*	33
+       0	*	*	*	*	*	*	1973	0	0	
+
+L 34   *	*	*	*	*	*	*	*	*	0	*	*	*	*	*	*	*	*	*	*	34
+       0	*	*	0	*	*	*	1973	0	0	
+
+//
diff --git a/core/tests/test_check_io.cc b/core/tests/test_check_io.cc
index 742694b3df2ccf4d57b840f408f3aca287d54b04..87a951d780c0ed7850e659f39ff0f9729bdc93c7 100644
--- a/core/tests/test_check_io.cc
+++ b/core/tests/test_check_io.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/check_io.hh>
 #include <promod3/core/portable_binary_serializer.hh>
 #define BOOST_TEST_DYN_LINK
diff --git a/core/tests/test_graph_minimizer.cc b/core/tests/test_graph_minimizer.cc
index 7a52ae53b6e1cc49eab7cab236c3a9b304c9b589..c5737eb86718c4856f35e8c3d72e870c3952c8fd 100644
--- a/core/tests/test_graph_minimizer.cc
+++ b/core/tests/test_graph_minimizer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/eigen_types.hh>
 #include <promod3/core/graph_minimizer.hh>
 #define BOOST_TEST_DYN_LINK
diff --git a/core/tests/test_helper.py b/core/tests/test_helper.py
index 9005334a502988f194c650fa776c416ebf2060b7..eb82be1d97daed11716f60332cf080886099a1f1 100644
--- a/core/tests/test_helper.py
+++ b/core/tests/test_helper.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import unittest
 import ost
 from promod3.core import helper
diff --git a/core/tests/test_pm3argparse.py b/core/tests/test_pm3argparse.py
index f7e9ff7bce47a59a17d5bd68220c4cf5e6e041c6..a9626bf498adda61f58388636cfbdbd74fd08430 100644
--- a/core/tests/test_pm3argparse.py
+++ b/core/tests/test_pm3argparse.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Testing our own little argument parser.
 """
@@ -5,10 +21,7 @@ Testing our own little argument parser.
 import unittest
 import tempfile
 import gzip
-try:
-    import ujson as json
-except ImportError:
-    import json
+import json
 import ost
 from promod3.core import pm3argparse
 
@@ -1104,7 +1117,113 @@ class PM3ArgParseTests(unittest.TestCase):
         self.assertEqual(len(self.log.messages['ERROR']), 1)
         self.assertEqual(self.log.messages['ERROR'],
                          ['Could not find chain with ID tpl (should be '+
-                          '<FILE>.<CHAIN>) to attach to sequence named tpl'])
+                          '<FILE>.<CHAIN>) to attach to sequence named tpl'])  
+
+    def testProfileDoesNotExist(self):
+        parser = pm3argparse.PM3ArgumentParser(__doc__, action=False)
+        parser.AddAlignment()
+        parser.AddProfile()
+        parser.AssembleParser()
+        with self.assertRaises(SystemExit) as ecd:
+            parser.Parse(['-f', 'data/aln_tpl/1crn.fasta',
+                          '-s', 'data/aln_tpl/IDoNotExist.hhm'])
+        self.assertEqual(ecd.exception.code, 51)
+        self.assertEqual(len(self.log.messages['ERROR']), 1)
+
+    def testProfileIsFuckedUp(self):
+        parser = pm3argparse.PM3ArgumentParser(__doc__, action=False)
+        parser.AddAlignment()
+        parser.AddProfile()
+        parser.AssembleParser()
+        with self.assertRaises(SystemExit) as ecd:
+            parser.Parse(['-f', 'data/aln_tpl/1crn.fasta',
+                          '-s', 'data/aln_tpl/1crn_corrupted.hhm'])
+        self.assertEqual(ecd.exception.code, 52)
+        self.assertEqual(len(self.log.messages['ERROR']), 1)
+
+    def testAdditionalProfile(self):
+        parser = pm3argparse.PM3ArgumentParser(__doc__, action=False)
+        parser.AddAlignment()
+        parser.AddProfile()
+        parser.AssembleParser()
+        with self.assertRaises(SystemExit) as ecd:
+            parser.Parse(['-f', 'data/aln_tpl/1crn.fasta',
+                          '-s', 'data/aln_tpl/1crn.hhm',
+                          '-s', 'data/aln_tpl/5ua4_B.hhm'])
+        self.assertEqual(ecd.exception.code, 53)
+        self.assertEqual(len(self.log.messages['ERROR']), 1)
+
+    def testUniqueProfiles(self):
+        parser = pm3argparse.PM3ArgumentParser(__doc__, action=False)
+        parser.AddAlignment()
+        parser.AddProfile()
+        parser.AssembleParser()
+        with self.assertRaises(SystemExit) as ecd:
+            parser.Parse(['-f', 'data/aln_tpl/1crn.fasta',
+                          '-s', 'data/aln_tpl/1crn.hhm',
+                          '-s', 'data/aln_tpl/1crn.hhm'])
+        self.assertEqual(ecd.exception.code, 54)
+        self.assertEqual(len(self.log.messages['ERROR']), 1)
+
+    def testAllCovered(self):
+        parser = pm3argparse.PM3ArgumentParser(__doc__, action=False)
+        parser.AddAlignment()
+        parser.AddProfile()
+        parser.AssembleParser()
+        with self.assertRaises(SystemExit) as ecd:
+            parser.Parse(['-f', 'data/aln_tpl/1crn.fasta',
+                          '-f', 'data/aln_tpl/5d52-1_cut_A.fasta',
+                          '-s', 'data/aln_tpl/1crn.hhm'])
+        self.assertEqual(ecd.exception.code, 55)
+        self.assertEqual(len(self.log.messages['ERROR']), 1)
+
+    def testAllGoodOneChain(self):
+        parser = pm3argparse.PM3ArgumentParser(__doc__, action=False)
+        parser.AddAlignment()
+        parser.AddProfile()
+        parser.AssembleParser()
+
+        opts =  parser.Parse(['-f', 'data/aln_tpl/1crn.fasta',
+                              '-s', 'data/aln_tpl/1crn.hhm'])
+
+        self.assertEqual(len(opts.alignments), 1)
+        self.assertEqual(len(opts.profiles), 1)
+        self.assertEqual(opts.alignments[0].GetSequence(0).GetGaplessString(),
+                         opts.profiles[0].sequence)
+
+    def testAllGoodHomoOligo(self):
+        parser = pm3argparse.PM3ArgumentParser(__doc__, action=False)
+        parser.AddAlignment()
+        parser.AddProfile()
+        parser.AssembleParser()
+
+        opts =  parser.Parse(['-f', 'data/aln_tpl/1crn.fasta',
+                              '-f', 'data/aln_tpl/1crn.fasta',
+                              '-s', 'data/aln_tpl/1crn.hhm'])
+        self.assertEqual(len(opts.alignments), 2)
+        self.assertEqual(len(opts.profiles), 2)
+        self.assertEqual(opts.alignments[0].GetSequence(0).GetGaplessString(),
+                         opts.profiles[0].sequence)
+        self.assertEqual(opts.alignments[1].GetSequence(0).GetGaplessString(),
+                         opts.profiles[1].sequence)
+
+    def testAllGoodHeteroOligo(self):
+        parser = pm3argparse.PM3ArgumentParser(__doc__, action=False)
+        parser.AddAlignment()
+        parser.AddProfile()
+        parser.AssembleParser()
+
+        opts =  parser.Parse(['-f', 'data/aln_tpl/1crn.fasta',
+                              '-f', 'data/aln_tpl/5ua4_B.fasta',
+                              '-s', 'data/aln_tpl/1crn.hhm',
+                              '-s', 'data/aln_tpl/5ua4_B.hhm'])
+        self.assertEqual(len(opts.alignments), 2)
+        self.assertEqual(len(opts.profiles), 2)
+        self.assertEqual(opts.alignments[0].GetSequence(0).GetGaplessString(),
+                         opts.profiles[0].sequence)
+        self.assertEqual(opts.alignments[1].GetSequence(0).GetGaplessString(),
+                         opts.profiles[1].sequence)
+
 
 # test options: --disable-aln check (for amino acids)
 # test options: --disable-input-checks (for all)
diff --git a/core/tests/test_portable_binary.cc b/core/tests/test_portable_binary.cc
index 31102f39f1c5401ed2d9fc3c6b65dd2b0b93ed9c..0cadce21d330ade13fe2a620915712672030a395 100644
--- a/core/tests/test_portable_binary.cc
+++ b/core/tests/test_portable_binary.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/portable_binary_serializer.hh>
 #define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
diff --git a/core/tests/test_setcompoundschemlib.py b/core/tests/test_setcompoundschemlib.py
index 8f90d569b4e802974429034b424f675d0233aa07..2da5ead8d841146fb9bcdc57f4dfc5652dde157f 100644
--- a/core/tests/test_setcompoundschemlib.py
+++ b/core/tests/test_setcompoundschemlib.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import unittest
 import os
 from ost import conop
diff --git a/core/tests/tests.cc b/core/tests/tests.cc
index f3c1473f9e8e9e8e759cb7e2a590870dedbd4b69..723aa61416a8bb5d5eb9935903958c1ffba5f12f 100644
--- a/core/tests/tests.cc
+++ b/core/tests/tests.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE promod3_core
 #define BOOST_AUTO_TEST_MAIN
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index c79f0aa9a66d0e7d0c7786858f0b8517a90b47c9..17d0e2b2dc485dc830a21e1ad789800b662affd7 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -14,8 +14,12 @@ buildsystem.rst
 contributing.rst
 gettingstarted.rst
 portableIO.rst
+references.rst
+license.rst
 )
 
+add_subdirectory(container)
+
 # add documentation tests (must be done before rest below!)
 add_custom_target(doctest)
 add_subdirectory(tests)
@@ -78,6 +82,15 @@ if(DEFINED PM3_DOC_CHANGELOG)
   set(_RST_DEPS ${_RST_DEPS} "${_RST_SOURCE_DIR}/changelog.rst")
 endif()
 
+if(DEFINED PM3_DOC_LICENSE)
+  # copy to different file name
+  add_custom_command(OUTPUT "${_RST_SOURCE_DIR}/license.txt"
+                     MAIN_DEPENDENCY "${PM3_DOC_LICENSE}"
+                     COMMAND ${CMAKE_COMMAND} -E copy
+                      "${PM3_DOC_LICENSE}" "${_RST_SOURCE_DIR}/license.txt")
+  set(_RST_DEPS ${_RST_DEPS} "${_RST_SOURCE_DIR}/license.txt")
+endif()
+
 # iterate list of ALL modules registered by pymod()/ add_doc_source()
 foreach(mod ${PM3_PY_MS})
   # only modules with dedicated rst files are considered for documentation, so
diff --git a/doc/buildsystem.rst b/doc/buildsystem.rst
index a601d619b695a46a2f15352e312e4bdaf91ab90f..7f975230cc64e605d3b77f8ef48eaf322bb69459 100644
--- a/doc/buildsystem.rst
+++ b/doc/buildsystem.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 .. _building-promod:
 
 Building |project|
@@ -7,18 +23,15 @@ Building |project|
 Dependencies
 --------------------------------------------------------------------------------
 
-|project| is build on top of |ost_l|_ (|ost_s|), requiring at least version
-1.7. |ost_s| must be configured and compiled with ``ENABLE_MM=1`` to use |openmm|_.
-To create the build system, |cmake|_ is required in version
-2.8.7 or higher. |python|_ works well from version 2.7. For |ost_s| and the
-|C++| bit of |project|, |boost|_ is required in version 1.53.0 (the same as
-used for |ost_s|). Also |eigen3|_ is needed. To build
-documentation, |sphinx|_ 1.2b1 is required.
-
+|project| is build on top of |ost_l|_ (|ost_s|), requiring at least version 1.8.
+|ost_s| must be configured and compiled with ``ENABLE_MM=1`` to use |openmm|_.
+To create the build system, |cmake|_ is required. The same versions of |python|_
+and |boost|_ are needed as used in |ost_s|. For |eigen3|_ we need at least
+version 3.3.0. To build the documentation, |sphinx|_ is required.
 
 The currently preferred versions are:
 
-* |ost_s|_ 1.7
+* |ost_s|_ 1.9
 * |openmm|_ 7.1.1
 * |cmake|_ 2.8.12
 * |python|_ 2.7.5
diff --git a/doc/conf.py.in b/doc/conf.py.in
index 1219c73e05d9a4047ac23d72dcc449f8581265eb..713d4a748c49463ee41f7f27ef33e0f620478468 100644
--- a/doc/conf.py.in
+++ b/doc/conf.py.in
@@ -37,7 +37,7 @@ extensions = ['sphinx.ext.autodoc',
               'sphinx.ext.intersphinx',
               'sphinx.ext.todo',
               'sphinx.ext.coverage',
-              'sphinx.ext.pngmath',
+              'sphinx.ext.mathjax',
               'sphinx.ext.ifconfig',
               'sphinx.ext.viewcode',
               'sphinx.ext.extlinks', 'cmake']
@@ -59,7 +59,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = u'ProMod3'
-copyright = u'2018, ProMod3 authors'# pylint: disable=redefined-builtin
+copyright = u'2013-2018, 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
@@ -107,6 +107,13 @@ pygments_style = 'sphinx'
 
 # -- Options for HTML output ---------------------------------------------------
 
+# Since we use sphinx.ext.mathjax to render formulas on HTML pages: The
+# MathJax web-page deprecated their own CDN to serve JavaScript but it is
+# still the default for Sphinx. Here we redirect to the CDN recommended by
+# MathJax.
+mathjax_path = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML'
+
+
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 html_theme = 'alabaster'
@@ -300,6 +307,6 @@ rst_epilog = """
 """ % project
 
 # increase default timeout (5s) for linkcheck
-linkcheck_timeout = 15.0
+linkcheck_timeout = 15
 
 #  LocalWords:  cmake
diff --git a/doc/container/CMakeLists.txt b/doc/container/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..35219690fafc72ce0d4509a035533d25a9965186
--- /dev/null
+++ b/doc/container/CMakeLists.txt
@@ -0,0 +1,7 @@
+set(CONTAINER_RST
+  index.rst
+  docker.rst
+  singularity.rst
+)
+
+add_doc_source(NAME container RST ${CONTAINER_RST})
diff --git a/doc/container/docker.rst b/doc/container/docker.rst
new file mode 100644
index 0000000000000000000000000000000000000000..cc5faaa095f903fc4f5a68ba776b5b8b144874ff
--- /dev/null
+++ b/doc/container/docker.rst
@@ -0,0 +1,116 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+Docker
+======
+
+Build Docker Image
+------------------
+
+In order to build the image:
+
+.. code-block:: bash
+
+  sudo docker build --tag <IMAGE_NAME> -f Dockerfile <PATH_TO_DOCKERFILE_DIR>
+
+You can chose any image name (tag) eg. promod. 
+
+
+Run scripts and actions with OST/PM
+-----------------------------------
+
+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/<USER>/pdbs directory and
+a script.py in /home/<USER> we could mount the /home/<USER> to /home in docker as
+above by specifying -v /home/<USER>:/home. To run the script we thus need to
+provide the (relative) path to the script and (relative) path to the file eg:
+
+.. code-block:: bash
+
+  sudo docker run --rm -v /home/<USER>:/home <IMAGE_NAME> pm script.py pdbs/struct.pdb
+
+or with absolute paths:
+
+.. code-block:: bash
+
+  sudo docker run --rm -v /home/<USER>:/home <IMAGE_NAME> pm /home/script.py /home/pdbs/struct.pdb
+
+An alternative is to mount the current working directory into the docker home:
+
+.. code-block:: bash
+
+  sudo docker run --rm -v $(pwd):/home <IMAGE_NAME> pm script.py pdbs/struct.pdb
+
+
+.. _docker_compound_lib:
+
+The Compound Library
+--------------------
+
+At build time of the container, a :class:`~ost.conop.CompoundLib` 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 
+information for the rule-based processor.
+
+The compound library is generated with the components.cif dictionary provided by 
+the PDB. As the PDB updates regularly, the compound library shipped with the 
+container is quickly outdated. For most use cases, this is not problematic. 
+However, if you rely on correct connectivity information of the latest and 
+greatest compounds, you have to keep the compound library up to date manually.
+
+The suggested way of doing this is to generate your own compound library and
+mount it into the container where the original compound lib resides to 
+override it.
+
+The simplest way to create a compound library is to use the 
+:program:`chemdict_tool` available in the container. The program allows you 
+to import the chemical description of the compounds from a MMCIF dictionary, 
+e.g. the components.cif dictionary provided by the PDB. 
+The latest dictionary can be downloaded from the 
+`wwPDB site <http://www.wwpdb.org/ccd.html>`_. 
+The files are rather large, it is therefore recommended to download the 
+gzipped version. 
+
+After downloading the file use :program:`chemdict_tool` in the container to 
+convert the MMCIF  dictionary into our internal format: 
+
+.. code-block:: bash
+
+  sudo docker run --rm -v $(pwd):/home <IMAGE_NAME> chemdict_tool create components.cif.gz compounds.chemlib
+
+To run a script with the upated compound library, use the -v option for mounting/overriding:
+
+.. code-block:: bash
+
+  sudo docker run --rm -v /home/<USER>:/home -v <COMPLIB_DIR_LOCALHOST>:<COMPLIB_DIR_CONTAINER> <IMAGE_NAME> pm script.py pdbs/struct.pdb
+
+with COMPLIB_DIR_LOCALHOST being the directory that contains the newly generated 
+compound library with name compounds.chemlib and COMPLIB_DIR_CONTAINER the 
+according path in the container.
+If you didnt change anything in the Dockerfile, the latter should be
+/usr/local/share/ost_complib
+  
+You can check whether the default lib is successfully overriden by looking at the
+output when running a Python script with following code in the container:
+
+.. code-block:: python
+
+  import promod3 # required to setup default lib
+  from ost import conop
+  lib = conop.GetDefaultLib()
+  print lib.GetCreationDate()
diff --git a/doc/container/index.rst b/doc/container/index.rst
new file mode 100644
index 0000000000000000000000000000000000000000..9cf79e23f891def49bfd42346f0e31c027838b79
--- /dev/null
+++ b/doc/container/index.rst
@@ -0,0 +1,36 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+ProMod3 and Containers
+======================
+
+
+ProMod3 offers build recipes for Docker and Singularity in 
+<PATH_TO_PROMOD3_CHECKOUT>/container. To avoid code duplication, 
+the Singularity container bootstraps from the Docker one and adds 
+some sugar on top.
+
+.. toctree::
+  :maxdepth: 1
+
+  Docker <docker>
+  Singularity <singularity>
+
+
+
+
+
+
diff --git a/doc/container/singularity.rst b/doc/container/singularity.rst
new file mode 100644
index 0000000000000000000000000000000000000000..ede88ddb3845154c24ea1534d96ebc6bb964b02a
--- /dev/null
+++ b/doc/container/singularity.rst
@@ -0,0 +1,120 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+Singularity
+===========
+
+We do not provide a "standalone" Singularity image, but rather bootstrap from a 
+Docker image.
+
+Build Singularity Image
+-----------------------
+
+You can pull the Docker image to start with from two different sources. 
+
+Option One:
+
+You built the Docker image locally and want to use it as a starting point. For 
+this we have to fire up a local Docker registry and pull from there. Let's 
+assume you built the Docker image with tag promod.
+
+Fire the local Registry and push the promod image to it:
+
+.. code-block:: bash
+
+  sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2
+  sudo docker tag promod localhost:5000/promod
+  sudo docker push localhost:5000/promod
+
+Make sure, that on top of your Singularity recipe you have something like:
+
+.. code-block:: bash
+
+  BootStrap: docker
+  Registry: http://localhost:5000
+  Namespace:
+  From: promod:latest
+
+and build the image with:
+
+.. code-block:: bash
+
+  sudo SINGULARITY_NOHTTPS=1 singularity build promod.img Singularity
+
+
+Option Two:
+
+You pull a Docker image from an external Docker registry. 
+Fill in a lot of words as soon as its on Dockerhub. Many words. The best words.
+
+and build the image with:
+
+.. code-block:: bash
+
+  sudo singularity build promod.img Singularity
+
+
+Run scripts and actions with OST/PM
+-----------------------------------
+
+The created container can run the ost, pm or chemdict_tool executables. 
+For convenience, a jupyter notebook playground with OST, ProMod3 and nglview is 
+available.
+
+To run ost, pm or chemdict_tool executables, use the exec command.
+E.g. to run scripts with pm:
+
+.. code-block:: bash
+
+  singularity exec <IMAGE> pm my_script.py [options]
+
+The jupyter notebook is setup as an app in the container. 
+To get help on how to run it:
+
+.. code-block:: bash
+
+  singularity run --app Notebook <IMAGE> --help
+
+
+The Compound Library
+--------------------
+
+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: :ref:`docker_compound_lib`. 
+
+The same trick of mounting an up to date compound library from the local host into
+the container applies. The two relevant commands for Singularity are building 
+a new library and mount it.
+
+Build a new library:
+
+.. code-block:: bash
+
+  singularity exec <IMAGE_NAME> chemdict_tool create components.cif.gz compounds.chemlib
+
+Run some script with an updated compound library from localhost:
+
+.. code-block:: bash
+
+  singularity exec -B <COMPLIB_DIR_LOCALHOST>:<COMPLIB_DIR_CONTAINER> <IMAGE_NAME> pm my_script.py 
+
+Same as for the Docker, if you didn't meddle with the original Dockerfile, 
+<COMPLIB_DIR_CONTAINER> should be /usr/local/share/ost_complib. 
+<COMPLIB_DIR_LOCALHOST> is the directory that contains the compound lib with the 
+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: :ref:`docker_compound_lib`. 
diff --git a/doc/contributing.rst b/doc/contributing.rst
index ae3c842c641522624e55d208c51e6a146773a033..3a261b411ab249a578a79cf8c0760ef1deb68150 100644
--- a/doc/contributing.rst
+++ b/doc/contributing.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Contributing
 ================================================================================
 
@@ -475,23 +491,19 @@ Hence, the :file:`CMakeLists.txt` of the :file:`doc` directory of a module is
 crucial. For documentation which does not relate to a particular module, the
 repository comes with a top-level :file:`doc` directory.
 
-While you should not spend to much time thinking about how to format
-documentation, here is a helpful list of standard formatters:
-http://sphinx-doc.org/en/stable/markup/inline.html
-
 If you write new functionality for |project|, or fix bugs, feel free to extend
 the :file:`CHANGELOG` file. It will be automatically pulled into the
 documentation.
 
 It is highly recommended to add code examples with your documentation. For that
-purpose, you should write a fully runnable script, which is to be placed in the
+purpose, you should write a fully runnable script which is to be placed in the
 :file:`doc/tests/scripts` directory. The script is to be runnable from within
 the :file:`doc/tests` directory as ``pm SCRIPTPATH`` and may use data stored in
 the :file:`doc/tests/data` directory. The script and any data needed by it, must
 then be referenced in the :file:`doc/tests/CMakeLists.txt` file. Afterwards,
-they can be included in the documentation using the
-`literalinclude <http://www.sphinx-doc.org/en/stable/markup/code.html#includes>`_
-directive. For instance, if you add a new example code :file:`loop_main.py`,
+they can be included in the documentation using the literalinclude
+directive.
+For instance, if you add a new example code :file:`loop_main.py`,
 you would add it in your module documentation as follows:
 
 .. code-block:: rest
diff --git a/doc/dev_setup.rst b/doc/dev_setup.rst
index 3b450accf0a5cb18ada95e2e7b1ab6d0e35799dd..91909c30154907dcbb269a4d5cb805ef6af9d1bf 100644
--- a/doc/dev_setup.rst
+++ b/doc/dev_setup.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 |project| Setup
 ================================================================================
 
diff --git a/doc/developers.rst b/doc/developers.rst
index 3955c47c1cab44e3274e54919b0b0d949299c0f6..f15f85db820e896de015b614c871d0317030dc38 100644
--- a/doc/developers.rst
+++ b/doc/developers.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Documentation For Developers
 ===============================================================================
 
diff --git a/doc/gettingstarted.rst b/doc/gettingstarted.rst
index 9b2b8024b6cb6e7cd2e98aa10c3c86df5754f645..2bed4049fe4de07f7fafe0994c1867fd40f5be61 100644
--- a/doc/gettingstarted.rst
+++ b/doc/gettingstarted.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Getting Started
 ================================================================================
 
diff --git a/doc/html/_modules/index.html b/doc/html/_modules/index.html
index 6964cf96734a79a1c9de4932da5588a9924935da..34b3643fae8b4809c9baf48948c58af7c088f0cc 100644
--- a/doc/html/_modules/index.html
+++ b/doc/html/_modules/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Overview: module code &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Overview: module code &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
@@ -58,7 +59,9 @@
 <li><a href="CBetaScorer.html">CBetaScorer</a></li>
 <li><a href="CCD.html">CCD</a></li>
 <li><a href="CCDCloser.html">CCDCloser</a></li>
+<li><a href="CTerminalCloser.html">CTerminalCloser</a></li>
 <li><a href="ClashScorer.html">ClashScorer</a></li>
+<li><a href="DeNovoCloser.html">DeNovoCloser</a></li>
 <li><a href="DirtyCCDCloser.html">DirtyCCDCloser</a></li>
 <li><a href="DiscoContainer.html">DiscoContainer</a></li>
 <li><a href="ExponentialCooler.html">ExponentialCooler</a></li>
@@ -76,9 +79,11 @@
 <li><a href="HBondScorer.html">HBondScorer</a></li>
 <li><a href="KIC.html">KIC</a></li>
 <li><a href="KICCloser.html">KICCloser</a></li>
+<li><a href="LinearScorer.html">LinearScorer</a></li>
 <li><a href="LoopCandidates.html">LoopCandidates</a></li>
 <li><a href="MmSystemCreator.html">MmSystemCreator</a></li>
 <li><a href="ModellingHandle.html">ModellingHandle</a></li>
+<li><a href="NTerminalCloser.html">NTerminalCloser</a></li>
 <li><a href="PairwiseScorer.html">PairwiseScorer</a></li>
 <li><a href="Particle.html">Particle</a></li>
 <li><a href="PhiPsiSampler.html">PhiPsiSampler</a></li>
@@ -112,6 +117,7 @@
 <li><a href="promod3/modelling/_fragger_handle.html">promod3.modelling._fragger_handle</a></li>
 <li><a href="promod3/modelling/_modelling.html">promod3.modelling._modelling</a></li>
 <li><a href="promod3/modelling/_molprobity.html">promod3.modelling._molprobity</a></li>
+<li><a href="promod3/modelling/_monte_carlo.html">promod3.modelling._monte_carlo</a></li>
 <li><a href="promod3/modelling/_pipeline.html">promod3.modelling._pipeline</a></li>
 <li><a href="promod3/modelling/_reconstruct_sidechains.html">promod3.modelling._reconstruct_sidechains</a></li>
 <li><a href="promod3/modelling/_ring_punches.html">promod3.modelling._ring_punches</a></li>
@@ -146,7 +152,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3.html b/doc/html/_modules/promod3.html
index 140c70b9d3e7b6edc1001cd57344d3a21c5babd7..8a2048004ddf4859b43bd89d82e36f5dc1f6d570 100644
--- a/doc/html/_modules/promod3.html
+++ b/doc/html/_modules/promod3.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3 &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3 &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Module code" href="index.html" />
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
@@ -40,7 +41,22 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3</h1><div class="highlight"><pre>
-<span></span><span class="c1"># enable access to loop and modelling via &quot;import promod3&quot;</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+<span class="c1"># enable access to loop and modelling via &quot;import promod3&quot;</span>
 <span class="kn">import</span> <span class="nn">promod3.core</span>
 <span class="kn">import</span> <span class="nn">promod3.sidechain</span>
 <span class="kn">import</span> <span class="nn">promod3.loop</span>
@@ -107,8 +123,8 @@
     <span class="n">SetProMod3SharedDataPath</span><span class="p">(</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="n">promod3_root</span><span class="p">,</span> <span class="s2">&quot;share&quot;</span><span class="p">,</span> <span class="s2">&quot;promod3&quot;</span><span class="p">))</span>
 
 <span class="c1"># set version</span>
-<span class="n">__version__</span> <span class="o">=</span> <span class="s2">&quot;1.2.0&quot;</span>
-<span class="n">__version_extended__</span> <span class="o">=</span> <span class="s2">&quot;1.2.0 (release-1.2.0|d086aed)&quot;</span>
+<span class="n">__version__</span> <span class="o">=</span> <span class="s2">&quot;1.3.0&quot;</span>
+<span class="n">__version_extended__</span> <span class="o">=</span> <span class="s2">&quot;1.3.0 (release-1.3.0|01e00a8)&quot;</span>
 
 <span class="n">__all__</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;SetCompoundsChemlib&#39;</span><span class="p">,</span> <span class="s1">&#39;GetProMod3SharedDataPath&#39;</span><span class="p">,</span>
            <span class="s1">&#39;SetProMod3SharedDataPath&#39;</span><span class="p">)</span>
@@ -146,7 +162,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3/core/helper.html b/doc/html/_modules/promod3/core/helper.html
index 2266f1a35bc7f1a3cb8be03cbadf869949896d0b..6b8aadaa06e2d54b59d72a8f13b445c9417a8dbb 100644
--- a/doc/html/_modules/promod3/core/helper.html
+++ b/doc/html/_modules/promod3/core/helper.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3.core.helper &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3.core.helper &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../../../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../../../_static/jquery.js"></script>
     <script type="text/javascript" src="../../../_static/underscore.js"></script>
     <script type="text/javascript" src="../../../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../../../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
     <link rel="up" title="promod3" href="../../promod3.html" />
    
   <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3.core.helper</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Uncategorised functions which may come handy at several places.</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
@@ -231,7 +248,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3/core/pm3argparse.html b/doc/html/_modules/promod3/core/pm3argparse.html
index e10fff03f913d8b7779021287b59d397b5f58634..8f04b46752cadb137143cf633aa80b86a878cbcc 100644
--- a/doc/html/_modules/promod3/core/pm3argparse.html
+++ b/doc/html/_modules/promod3/core/pm3argparse.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3.core.pm3argparse &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3.core.pm3argparse &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../../../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../../../_static/jquery.js"></script>
     <script type="text/javascript" src="../../../_static/underscore.js"></script>
     <script type="text/javascript" src="../../../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../../../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
     <link rel="up" title="promod3" href="../../promod3.html" />
    
   <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3.core.pm3argparse</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">Extensions for the argparse module.</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
@@ -274,6 +291,17 @@
                                    <span class="nb">str</span><span class="p">(</span><span class="n">exc</span><span class="p">),</span> <span class="mi">33</span><span class="p">)</span>
     <span class="k">return</span> <span class="n">ent</span>
 
+<span class="k">def</span> <span class="nf">_FetchProfileFromFile</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
+    <span class="sd">&quot;&quot;&quot;Load generic profile file from filename and return it.&quot;&quot;&quot;</span>
+    <span class="n">argstr</span> <span class="o">=</span> <span class="s2">&quot;&#39;--seqprof &quot;</span> <span class="o">+</span> <span class="n">filename</span> <span class="o">+</span> <span class="s2">&quot;&#39;&quot;</span>
+    <span class="n">helper</span><span class="o">.</span><span class="n">FileExists</span><span class="p">(</span><span class="s2">&quot;Profile&quot;</span><span class="p">,</span> <span class="mi">51</span><span class="p">,</span> <span class="n">filename</span><span class="p">)</span>
+    <span class="k">try</span><span class="p">:</span>
+        <span class="n">prof</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">LoadSequenceProfile</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span>
+    <span class="k">except</span> <span class="ne">Exception</span><span class="p">,</span> <span class="n">exc</span><span class="p">:</span>
+        <span class="n">helper</span><span class="o">.</span><span class="n">MsgErrorAndExit</span><span class="p">(</span><span class="n">argstr</span> <span class="o">+</span> <span class="s2">&quot;: failure to parse profile file: &quot;</span> <span class="o">+</span>
+                               <span class="nb">str</span><span class="p">(</span><span class="n">exc</span><span class="p">),</span> <span class="mi">52</span><span class="p">)</span>        
+    <span class="k">return</span> <span class="n">prof</span>
+
 <span class="k">def</span> <span class="nf">_GetChains</span><span class="p">(</span><span class="n">structures</span><span class="p">,</span> <span class="n">structure_sources</span><span class="p">):</span>
     <span class="sd">&quot;&quot;&quot;Get chain id to entity view (single chain) mapping (dict).&quot;&quot;&quot;</span>
     <span class="c1"># IDs: (file_base = base file name with no extensions)</span>
@@ -439,7 +467,9 @@
         <span class="k">if</span> <span class="s1">&#39;ALIGNMENT&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">activate</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_AssembleAlignment</span><span class="p">()</span>
         <span class="k">if</span> <span class="s1">&#39;STRUCTURE&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">activate</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">_AssembleStructure</span><span class="p">()</span></div>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_AssembleStructure</span><span class="p">()</span>
+        <span class="k">if</span> <span class="s1">&#39;PROFILE&#39;</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">activate</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_AssembleProfile</span><span class="p">()</span></div>
 
 <div class="viewcode-block" id="PM3ArgumentParser.AddAlignment"><a class="viewcode-back" href="../../../core/pm3argparse.html#promod3.core.pm3argparse.PM3ArgumentParser.AddAlignment">[docs]</a>    <span class="k">def</span> <span class="nf">AddAlignment</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">allow_multitemplate</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Commandline options for alignments.</span>
@@ -516,7 +546,7 @@
 <div class="viewcode-block" id="PM3ArgumentParser.AddStructure"><a class="viewcode-back" href="../../../core/pm3argparse.html#promod3.core.pm3argparse.PM3ArgumentParser.AddStructure">[docs]</a>    <span class="k">def</span> <span class="nf">AddStructure</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attach_views</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Commandline options for structures.</span>
 
-<span class="sd">        Activate everything needed to load alignments to the argument parser.</span>
+<span class="sd">        Activate everything needed to load structures to the argument parser.</span>
 <span class="sd">        Command line arguments are then added in :meth:`AssembleParser` and the</span>
 <span class="sd">        input is post processed and checked in :meth:`Parse`.</span>
 
@@ -574,6 +604,48 @@
         <span class="k">if</span> <span class="n">attach_views</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">activate</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s1">&#39;ATTACH_VIEWS&#39;</span><span class="p">)</span></div>
 
+<div class="viewcode-block" id="PM3ArgumentParser.AddProfile"><a class="viewcode-back" href="../../../core/pm3argparse.html#promod3.core.pm3argparse.PM3ArgumentParser.AddProfile">[docs]</a>    <span class="k">def</span> <span class="nf">AddProfile</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Commandline options for profiles</span>
+
+<span class="sd">        Activate everything needed to load profiles to the argument parser.</span>
+<span class="sd">        Command line arguments are then added in :meth:`AssembleParser` and the</span>
+<span class="sd">        input is post processed and checked in :meth:`Parse`.</span>
+
+<span class="sd">        Options/arguments added:</span>
+
+<span class="sd">        * ``-s/--seqprof &lt;FILE&gt;`` - Sequence profile in any format readable</span>
+<span class="sd">          by the :meth:`ost.io.LoadSequenceProfile` method. Format is chosen by </span>
+<span class="sd">          file ending. Recognized file extensions: .hhm, .hhm.gz, .pssm, </span>
+<span class="sd">          .pssm.gz. Consider to use </span>
+<span class="sd">          :meth:`ost.bindings.hhblits.HHblits.A3MToProfile` if you have a file </span>
+<span class="sd">          in a3m format at hand. </span>
+
+<span class="sd">        Notes:</span>
+
+<span class="sd">        * the profiles are mapped based on exact matches towards the gapless</span>
+<span class="sd">          target sequences, i.e. one profile is mapped to several chains in</span>
+<span class="sd">          case of homo-oligomers</span>
+
+<span class="sd">        * every profile must have a unique sequence to avoid ambiguities</span>
+
+<span class="sd">        * all or nothing - you cannot provide profiles for only a subset of</span>
+<span class="sd">          target sequences</span>
+
+<span class="sd">        Attributes added to the namespace returned by :meth:`Parse`:</span>
+
+<span class="sd">        * :attr:`profiles` - :class:`list` of :class:`ost.seq.ProfileHandle`, </span>
+<span class="sd">          ordered to match the target sequences.</span>
+
+<span class="sd">        Exit codes related to profile input:</span>
+
+<span class="sd">        * 51 - a given profile file does not exist</span>
+<span class="sd">        * 52 - failure to read a given profile file </span>
+<span class="sd">        * 53 - a profile cannot be mapped to any target sequence</span>
+<span class="sd">        * 54 - profile sequences are not unique</span>
+<span class="sd">        * 55 - only subset of target sequences is covered by profile</span>
+<span class="sd">        &quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">activate</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s1">&#39;PROFILE&#39;</span><span class="p">)</span></div>
+
     <span class="k">def</span> <span class="nf">_AssembleAlignment</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="sd">&quot;&quot;&quot;Actually add alignment arguments/options.&quot;&quot;&quot;</span>
         <span class="n">aln_grp</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">add_mutually_exclusive_group</span><span class="p">(</span><span class="n">required</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
@@ -611,7 +683,15 @@
                              <span class="s2">&quot;io.LoadEntity method. Format is chosen by file &quot;</span><span class="o">+</span>
                              <span class="s2">&quot;ending. Recognized File Extensions: .ent, .pdb, &quot;</span><span class="o">+</span>
                              <span class="s2">&quot;.ent.gz, .pdb.gz, .cif, .cif.gz.&quot;</span><span class="p">,</span>
-                             <span class="n">action</span><span class="o">=</span><span class="s1">&#39;append&#39;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="nb">list</span><span class="p">())</span></div>
+                             <span class="n">action</span><span class="o">=</span><span class="s1">&#39;append&#39;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="nb">list</span><span class="p">())</span>
+
+    <span class="k">def</span> <span class="nf">_AssembleProfile</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">add_argument</span><span class="p">(</span><span class="s1">&#39;-s&#39;</span><span class="p">,</span> <span class="s1">&#39;--seqprof&#39;</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="p">(</span><span class="s1">&#39;&lt;FILE&gt;&#39;</span><span class="p">),</span>
+                          <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Sequence profile in any format readable by &quot;</span><span class="o">+</span>
+                          <span class="s2">&quot;OST&#39;s io.LoadSequenceProfile method. Format is &quot;</span><span class="o">+</span>
+                          <span class="s2">&quot;chosen by file ending. Recognized File Extensions: &quot;</span><span class="o">+</span>
+                          <span class="s2">&quot;.hhm, .hhm.gz, .pssm, .pssm.gz&quot;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">&#39;append&#39;</span><span class="p">,</span>
+                          <span class="n">default</span><span class="o">=</span><span class="nb">list</span><span class="p">())</span></div>
 
 <span class="k">class</span> <span class="nc">PM3OptionsNamespace</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
     <span class="c1"># class will grow, so for the moment pylint is ignored</span>
@@ -633,6 +713,8 @@
             <span class="bp">self</span><span class="o">.</span><span class="n">_PostProcessStructure</span><span class="p">()</span>
         <span class="k">if</span> <span class="s1">&#39;ATTACH_VIEWS&#39;</span> <span class="ow">in</span> <span class="n">activated</span><span class="p">:</span>
             <span class="bp">self</span><span class="o">.</span><span class="n">_AttachViews</span><span class="p">()</span>
+        <span class="k">if</span> <span class="s1">&#39;PROFILE&#39;</span> <span class="ow">in</span> <span class="n">activated</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span class="n">_PostProcessProfile</span><span class="p">()</span>
 
     <span class="k">def</span> <span class="nf">_PostProcessAlignment</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
         <span class="c1">#pylint: disable=no-member</span>
@@ -682,6 +764,42 @@
         <span class="k">for</span> <span class="n">aln</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">alignments</span><span class="p">:</span>
             <span class="n">_AttachViewsToAln</span><span class="p">(</span><span class="n">aln</span><span class="p">,</span> <span class="n">chain_entities</span><span class="p">)</span>
 
+    <span class="k">def</span> <span class="nf">_PostProcessProfile</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="sd">&quot;&quot;&quot;Get Profiles from command line input.&quot;&quot;&quot;</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">profiles</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span>
+
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">seqprof</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
+            <span class="c1"># no profiles provided, remember the all or nothing principle</span>
+            <span class="c1"># so not having any profile is fine</span>
+            <span class="k">return</span>
+
+        <span class="n">loaded_profiles</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span>
+        <span class="k">for</span> <span class="n">src</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">seqprof</span><span class="p">:</span>
+            <span class="n">loaded_profiles</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">_FetchProfileFromFile</span><span class="p">(</span><span class="n">src</span><span class="p">))</span>
+
+        <span class="n">prof_sequences</span> <span class="o">=</span> <span class="p">[</span><span class="n">p</span><span class="o">.</span><span class="n">sequence</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">loaded_profiles</span><span class="p">]</span>
+
+        <span class="c1"># check uniqueness of loaded profiles</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">prof_sequences</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">prof_sequences</span><span class="p">):</span>
+            <span class="n">helper</span><span class="o">.</span><span class="n">MsgErrorAndExit</span><span class="p">(</span><span class="s2">&quot;All sequence profiles must have unique &quot;</span> <span class="o">+</span>
+                                   <span class="s2">&quot;sequence.&quot;</span><span class="p">,</span> <span class="mi">54</span><span class="p">)</span>
+
+        <span class="c1"># map onto alignment target sequences</span>
+        <span class="n">trg_sequences</span> <span class="o">=</span> <span class="p">[</span><span class="n">aln</span><span class="o">.</span><span class="n">GetSequence</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">GetGaplessString</span><span class="p">()</span> \
+                         <span class="k">for</span> <span class="n">aln</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">alignments</span><span class="p">]</span>
+        <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">trg_sequences</span><span class="p">:</span>
+            <span class="k">try</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">profiles</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">loaded_profiles</span><span class="p">[</span><span class="n">prof_sequences</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">s</span><span class="p">)])</span>
+            <span class="k">except</span> <span class="ne">Exception</span><span class="p">,</span> <span class="n">exc</span><span class="p">:</span>
+                <span class="n">helper</span><span class="o">.</span><span class="n">MsgErrorAndExit</span><span class="p">(</span><span class="s2">&quot;Could not find profile with sequence &quot;</span> <span class="o">+</span>
+                                       <span class="s2">&quot;that exactly matches trg seq: &quot;</span> <span class="o">+</span> <span class="n">s</span><span class="p">,</span> <span class="mi">55</span><span class="p">)</span>
+
+        <span class="c1"># We found a profile for every target sequence. So if the size of unique </span>
+        <span class="c1"># target sequences is not the same as for unique profile sequences, </span>
+        <span class="c1"># we know that we have additional profiles that never got mapped</span>
+        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">trg_sequences</span><span class="p">))</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">prof_sequences</span><span class="p">)):</span>
+            <span class="n">helper</span><span class="o">.</span><span class="n">MsgErrorAndExit</span><span class="p">(</span><span class="s2">&quot;Could not map every profile to a target &quot;</span> <span class="o">+</span>
+                                   <span class="s2">&quot;sequence&quot;</span><span class="p">,</span> <span class="mi">53</span><span class="p">)</span>
 
 <span class="c1">#  LocalWords:  param attr prog argparse ArgumentParser bool sys os init str</span>
 <span class="c1">#  LocalWords:  progattr descattr argpinit argv formatter meth args namespace</span>
@@ -725,7 +843,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3/modelling/_closegaps.html b/doc/html/_modules/promod3/modelling/_closegaps.html
index 85c8c033bdc62ac51dc8c0529b0e2ca2ad5f1f0f..f7cc176c6f7c946a20e74f7aaa7e715f825f0f34 100644
--- a/doc/html/_modules/promod3/modelling/_closegaps.html
+++ b/doc/html/_modules/promod3/modelling/_closegaps.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3.modelling._closegaps &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3.modelling._closegaps &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../../../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../../../_static/jquery.js"></script>
     <script type="text/javascript" src="../../../_static/underscore.js"></script>
     <script type="text/javascript" src="../../../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../../../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
     <link rel="up" title="promod3" href="../../promod3.html" />
    
   <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3.modelling._closegaps</h1><div class="highlight"><pre>
-<span></span><span class="sd">&#39;&#39;&#39;High-level functionality for modelling module to close gaps. Added in the</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="sd">&#39;&#39;&#39;High-level functionality for modelling module to close gaps. Added in the</span>
 <span class="sd">__init__.py file. To be used directly by passing a ModellingHandle instance</span>
 <span class="sd">as argument.</span>
 <span class="sd">&#39;&#39;&#39;</span>
@@ -1627,7 +1644,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3/modelling/_denovo.html b/doc/html/_modules/promod3/modelling/_denovo.html
index b2100964e66fb6ebbc6d9f4a3a710767ffecfc50..efcbd769d745a6cc900c9a0163d0678c4737ac22 100644
--- a/doc/html/_modules/promod3/modelling/_denovo.html
+++ b/doc/html/_modules/promod3/modelling/_denovo.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3.modelling._denovo &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3.modelling._denovo &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../../../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../../../_static/jquery.js"></script>
     <script type="text/javascript" src="../../../_static/underscore.js"></script>
     <script type="text/javascript" src="../../../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../../../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
     <link rel="up" title="promod3" href="../../promod3.html" />
    
   <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3.modelling._denovo</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">scoring</span><span class="p">,</span> <span class="n">loop</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">scoring</span><span class="p">,</span> <span class="n">loop</span>
 <span class="kn">from</span> <span class="nn">_modelling</span> <span class="kn">import</span> <span class="o">*</span>
 
 <div class="viewcode-block" id="GenerateDeNovoTrajectories"><a class="viewcode-back" href="../../../modelling/algorithms.html#promod3.modelling.GenerateDeNovoTrajectories">[docs]</a><span class="k">def</span> <span class="nf">GenerateDeNovoTrajectories</span><span class="p">(</span><span class="n">sequence</span><span class="p">,</span> 
@@ -200,7 +217,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3/modelling/_fragger_handle.html b/doc/html/_modules/promod3/modelling/_fragger_handle.html
index 0ef683b33454d388f4ec6354c16ddeef42fc101d..8b753363ea873ecc3d0bc79eaabe665443b3af30 100644
--- a/doc/html/_modules/promod3/modelling/_fragger_handle.html
+++ b/doc/html/_modules/promod3/modelling/_fragger_handle.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3.modelling._fragger_handle &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3.modelling._fragger_handle &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../../../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../../../_static/jquery.js"></script>
     <script type="text/javascript" src="../../../_static/underscore.js"></script>
     <script type="text/javascript" src="../../../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../../../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
     <link rel="up" title="promod3" href="../../promod3.html" />
    
   <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3.modelling._fragger_handle</h1><div class="highlight"><pre>
-<span></span><span class="sd">&#39;&#39;&#39;Python functionality to generate fraggers.&#39;&#39;&#39;</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="sd">&#39;&#39;&#39;Python functionality to generate fraggers.&#39;&#39;&#39;</span>
 
 <span class="kn">from</span> <span class="nn">promod3.loop</span> <span class="kn">import</span> <span class="o">*</span>
 <span class="kn">from</span> <span class="nn">ost.conop</span> <span class="kn">import</span> <span class="n">OneLetterCodeToResidueName</span>
@@ -423,7 +440,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3/modelling/_molprobity.html b/doc/html/_modules/promod3/modelling/_molprobity.html
index b9441021b1cca2bd98ef90666bf96c15f20509f6..d06f4a2445ab072ee42803ebf27e02259678f97a 100644
--- a/doc/html/_modules/promod3/modelling/_molprobity.html
+++ b/doc/html/_modules/promod3/modelling/_molprobity.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3.modelling._molprobity &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3.modelling._molprobity &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../../../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../../../_static/jquery.js"></script>
     <script type="text/javascript" src="../../../_static/underscore.js"></script>
     <script type="text/javascript" src="../../../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../../../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
     <link rel="up" title="promod3" href="../../promod3.html" />
    
   <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3.modelling._molprobity</h1><div class="highlight"><pre>
-<span></span><span class="sd">&#39;&#39;&#39;Binding to external MolProbity tool to get scores.&#39;&#39;&#39;</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="sd">&#39;&#39;&#39;Binding to external MolProbity tool to get scores.&#39;&#39;&#39;</span>
 
 <span class="kn">import</span> <span class="nn">ost</span>
 <span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">settings</span>
@@ -189,7 +206,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3/modelling/_monte_carlo.html b/doc/html/_modules/promod3/modelling/_monte_carlo.html
new file mode 100644
index 0000000000000000000000000000000000000000..f7f1be544569c2fa420a2a0180963f32d0449edf
--- /dev/null
+++ b/doc/html/_modules/promod3/modelling/_monte_carlo.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>promod3.modelling._monte_carlo &mdash; ProMod3 1.3.0 documentation</title>
+    
+    <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
+    <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../../',
+        VERSION:     '1.3.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../../_static/doctools.js"></script>
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
+    <link rel="up" title="promod3" href="../../promod3.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 role="document">
+  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <h1>Source code for promod3.modelling._monte_carlo</h1><div class="highlight"><pre>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="kn">import</span> <span class="nn">random</span>
+<span class="kn">import</span> <span class="nn">math</span>
+
+
+<div class="viewcode-block" id="SampleMonteCarlo"><a class="viewcode-back" href="../../../modelling/monte_carlo.html#promod3.modelling.SampleMonteCarlo">[docs]</a><span class="k">def</span> <span class="nf">SampleMonteCarlo</span><span class="p">(</span><span class="n">sampler</span><span class="p">,</span> <span class="n">closer</span><span class="p">,</span> <span class="n">scorer</span><span class="p">,</span> <span class="n">cooler</span><span class="p">,</span> <span class="n">steps</span><span class="p">,</span> <span class="n">bb_list</span><span class="p">,</span> 
+                     <span class="n">initialize</span><span class="p">,</span> <span class="n">seed</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">lowest_energy_conformation</span> <span class="o">=</span> <span class="bp">True</span><span class="p">):</span>
+    <span class="sd">&#39;&#39;&#39;  A convenient function to perform Monte Carlo sampling using a simulated</span>
+<span class="sd">    annealing scheme. In every iteration, a new loop conformation gets proposed </span>
+<span class="sd">    by the provided *sampler* and closed by the *closer*. Upon scoring, this new</span>
+<span class="sd">    conformation gets accepted/rejected using a metropolis criterion based on </span>
+<span class="sd">    the temperature given by the *cooler* </span>
+<span class="sd">    =&gt; acceptance probability: exp(-delta_score/T).</span>
+<span class="sd">    The result is stored in *bb_list* (passed by reference, so NO return value) </span>
+<span class="sd">    and is either the lowest energy conformation ever encountered or the last </span>
+<span class="sd">    accepted proposal.</span>
+
+<span class="sd">    :param sampler:       Sampler object capable of initializing and altering</span>
+<span class="sd">                          conformations.</span>
+<span class="sd">    :param closer:        Closer object to adapt a new conformation to</span>
+<span class="sd">                          the environment.</span>
+<span class="sd">    :param scorer:        Scorer object to score new loop conformations.</span>
+<span class="sd">    :param cooler:        Cooler object to control the temperature of the </span>
+<span class="sd">                          Monte Carlo trajectory.</span>
+<span class="sd">    :param steps:         Number of Monte Carlo iterations to be performed.</span>
+<span class="sd">    :param bb_list:       The chosen conformation gets stored here.</span>
+<span class="sd">    :param initialize:    Whether a new bb_list should be generated as starting</span>
+<span class="sd">                          point, based on the samplers Initialize function.</span>
+<span class="sd">                          The input *bb_list* gets used otherwise.</span>
+<span class="sd">    :param seed:          Seed for internal random number generator.</span>
+<span class="sd">    :param lowest_energy_conformation:  If True, we choose the lowest scoring</span>
+<span class="sd">                                        conformation of the trajectory. </span>
+<span class="sd">                                        Otherwise, the last accepted proposal.</span>
+
+<span class="sd">    :type sampler:        :ref:`mc-sampler-object`</span>
+<span class="sd">    :type closer:         :ref:`mc-closer-object`</span>
+<span class="sd">    :type scorer:         :ref:`mc-scorer-object`</span>
+<span class="sd">    :type cooler:         :ref:`mc-cooler-object`</span>
+<span class="sd">    :type steps:          :class:`int`</span>
+<span class="sd">    :type bb_list:        :class:`~promod3.loop.BackboneList`</span>
+<span class="sd">    :type initialize:     :class:`bool`</span>
+<span class="sd">    :type seed:           :class:`int`</span>
+<span class="sd">    :type lowest_energy_conformation: :class:`bool`</span>
+<span class="sd">    &#39;&#39;&#39;</span>
+
+    <span class="c1"># Initialize from scratch if necessary</span>
+    <span class="k">if</span> <span class="n">initialize</span><span class="p">:</span>
+        <span class="n">initialized</span> <span class="o">=</span> <span class="bp">False</span>
+        <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">100</span><span class="p">):</span>
+            <span class="n">sampler</span><span class="o">.</span><span class="n">Initialize</span><span class="p">(</span><span class="n">bb_list</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">closer</span><span class="o">.</span><span class="n">Close</span><span class="p">(</span><span class="n">bb_list</span><span class="p">,</span> <span class="n">bb_list</span><span class="p">):</span>
+                <span class="n">initialized</span> <span class="o">=</span> <span class="bp">True</span>
+                <span class="k">break</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">initialized</span><span class="p">:</span>
+            <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;Failed to initialize monte carlo protocol!&quot;</span><span class="p">)</span>
+
+    <span class="c1"># setup</span>
+    <span class="n">random</span><span class="o">.</span><span class="n">seed</span><span class="p">(</span><span class="n">seed</span><span class="p">)</span>
+    <span class="n">score</span> <span class="o">=</span> <span class="n">scorer</span><span class="o">.</span><span class="n">GetScore</span><span class="p">(</span><span class="n">bb_list</span><span class="p">)</span>
+    <span class="n">closed</span> <span class="o">=</span> <span class="bp">False</span>
+    <span class="n">min_score</span> <span class="o">=</span> <span class="n">score</span>
+    <span class="n">min_score_bb_list</span> <span class="o">=</span> <span class="n">bb_list</span><span class="o">.</span><span class="n">Copy</span><span class="p">()</span>
+    <span class="n">proposed_bb_list</span> <span class="o">=</span> <span class="n">bb_list</span><span class="o">.</span><span class="n">Copy</span><span class="p">()</span>
+
+    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">steps</span><span class="p">):</span>
+
+        <span class="c1"># try several proposals (we might not be able to close at first attempt)</span>
+        <span class="n">closed</span> <span class="o">=</span> <span class="bp">False</span>
+        <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">3</span><span class="p">):</span>
+            <span class="n">sampler</span><span class="o">.</span><span class="n">ProposeStep</span><span class="p">(</span><span class="n">bb_list</span><span class="p">,</span> <span class="n">proposed_bb_list</span><span class="p">)</span>
+            <span class="k">if</span> <span class="n">closer</span><span class="o">.</span><span class="n">Close</span><span class="p">(</span><span class="n">proposed_bb_list</span><span class="p">,</span> <span class="n">proposed_bb_list</span><span class="p">):</span>
+                <span class="n">closed</span> <span class="o">=</span> <span class="bp">True</span>
+                <span class="k">break</span>
+
+        <span class="c1"># check for success, try again in next step in case of failure</span>
+        <span class="k">if</span> <span class="ow">not</span> <span class="n">closed</span><span class="p">:</span>
+            <span class="k">continue</span>
+
+        <span class="c1"># accept / reject based on Metropolis criterion</span>
+        <span class="n">temperature</span> <span class="o">=</span> <span class="n">cooler</span><span class="o">.</span><span class="n">GetTemperature</span><span class="p">()</span>
+        <span class="n">new_score</span> <span class="o">=</span> <span class="n">scorer</span><span class="o">.</span><span class="n">GetScore</span><span class="p">(</span><span class="n">proposed_bb_list</span><span class="p">)</span>
+
+        <span class="k">if</span> <span class="n">math</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="p">(</span><span class="n">new_score</span><span class="o">-</span><span class="n">score</span><span class="p">)</span><span class="o">/</span><span class="n">temperature</span><span class="p">)</span> <span class="o">&gt;</span> <span class="n">random</span><span class="o">.</span><span class="n">random</span><span class="p">():</span>
+            <span class="n">positions</span> <span class="o">=</span> <span class="n">proposed_bb_list</span><span class="o">.</span><span class="n">Copy</span><span class="p">()</span>
+            <span class="n">score</span> <span class="o">=</span> <span class="n">new_score</span>
+            <span class="k">if</span> <span class="n">lowest_energy_conformation</span> <span class="ow">and</span> <span class="n">score</span> <span class="o">&lt;</span> <span class="n">min_score</span><span class="p">:</span>
+                <span class="n">min_score</span> <span class="o">=</span> <span class="n">score</span>
+                <span class="n">min_score_bb_list</span> <span class="o">=</span> <span class="n">positions</span>
+
+    <span class="k">if</span> <span class="n">lowest_energy_conformation</span><span class="p">:</span>
+        <span class="n">bb_list</span> <span class="o">=</span> <span class="n">min_score_bb_list</span></div>
+</pre></div>
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper"><div class="relations">
+<h3>Related Topics</h3>
+<ul>
+  <li><a href="../../../index.html">Documentation overview</a><ul>
+  <li><a href="../../index.html">Module code</a><ul>
+  <li><a href="../../promod3.html">promod3</a><ul>
+  </ul></li>
+  </ul></li>
+  </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="../../../search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      
+      |
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/doc/html/_modules/promod3/modelling/_pipeline.html b/doc/html/_modules/promod3/modelling/_pipeline.html
index 3ea48e01d1e4a82180c71d72adbae5297ad85c69..fa63da280cc9574c757edda6f802723f995b494f 100644
--- a/doc/html/_modules/promod3/modelling/_pipeline.html
+++ b/doc/html/_modules/promod3/modelling/_pipeline.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3.modelling._pipeline &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3.modelling._pipeline &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../../../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../../../_static/jquery.js"></script>
     <script type="text/javascript" src="../../../_static/underscore.js"></script>
     <script type="text/javascript" src="../../../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../../../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
     <link rel="up" title="promod3" href="../../promod3.html" />
    
   <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3.modelling._pipeline</h1><div class="highlight"><pre>
-<span></span><span class="sd">&#39;&#39;&#39;High-level functionality for modelling module to build pipelines. Added in </span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="sd">&#39;&#39;&#39;High-level functionality for modelling module to build pipelines. Added in </span>
 <span class="sd">the __init__.py file. To be used directly by passing a ModellingHandle instance</span>
 <span class="sd">as argument.</span>
 <span class="sd">&#39;&#39;&#39;</span>
@@ -206,7 +223,8 @@
 
 
 <div class="viewcode-block" id="BuildSidechains"><a class="viewcode-back" href="../../../modelling/pipeline.html#promod3.modelling.BuildSidechains">[docs]</a><span class="k">def</span> <span class="nf">BuildSidechains</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">merge_distance</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">fragment_db</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
-                    <span class="n">structure_db</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">torsion_sampler</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
+                    <span class="n">structure_db</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">torsion_sampler</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
+                    <span class="n">rotamer_library</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;Build sidechains for model.</span>
 
 <span class="sd">    This is a wrapper for :func:`promod3.modelling.ReconstructSidechains`, </span>
@@ -232,10 +250,16 @@
 <span class="sd">                            if ring punches are found. A default one is loaded</span>
 <span class="sd">                            if None.</span>
 <span class="sd">    :type torsion_sampler:  :class:`~promod3.loop.TorsionSampler`</span>
+<span class="sd">    :param rotamer_library: Used as parameter for </span>
+<span class="sd">                            :func:`modelling.ReconstructSidechains`, a default </span>
+<span class="sd">                            one is loaded if None.</span>
+<span class="sd">    :type rotamer_library:  :class:`~promod3.sidechain.RotamerLib` or</span>
+<span class="sd">                            :class:`~promod3.sidechain.BBDepRotamerLib` </span>
 <span class="sd">    &#39;&#39;&#39;</span>
     <span class="n">prof</span> <span class="o">=</span> <span class="n">core</span><span class="o">.</span><span class="n">StaticRuntimeProfiler</span><span class="o">.</span><span class="n">StartScoped</span><span class="p">(</span><span class="s1">&#39;pipeline::BuildSidechains&#39;</span><span class="p">)</span>
     <span class="n">ost</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">(</span><span class="s2">&quot;Rebuilding sidechains.&quot;</span><span class="p">)</span>
-    <span class="n">ReconstructSidechains</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">,</span> <span class="n">keep_sidechains</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+    <span class="n">ReconstructSidechains</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">,</span> <span class="n">keep_sidechains</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> 
+                          <span class="n">rotamer_library</span><span class="o">=</span><span class="n">rotamer_library</span><span class="p">)</span>
     <span class="c1"># check for ring punches</span>
     <span class="n">rings</span> <span class="o">=</span> <span class="n">GetRings</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">)</span>
     <span class="n">ring_punches</span> <span class="o">=</span> <span class="n">GetRingPunches</span><span class="p">(</span><span class="n">rings</span><span class="p">,</span> <span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">)</span>
@@ -263,7 +287,8 @@
         <span class="n">FillLoopsByDatabase</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">fragment_db</span><span class="p">,</span> <span class="n">structure_db</span><span class="p">,</span>
                             <span class="n">torsion_sampler</span><span class="p">,</span> <span class="n">ring_punch_detection</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
         <span class="c1"># re-build sidechains</span>
-        <span class="n">ReconstructSidechains</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">,</span> <span class="n">keep_sidechains</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+        <span class="n">ReconstructSidechains</span><span class="p">(</span><span class="n">mhandle</span><span class="o">.</span><span class="n">model</span><span class="p">,</span> <span class="n">keep_sidechains</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
+                              <span class="n">rotamer_library</span><span class="o">=</span><span class="n">rotamer_library</span><span class="p">)</span>
         <span class="c1"># restore gaps</span>
         <span class="n">mhandle</span><span class="o">.</span><span class="n">gaps</span> <span class="o">=</span> <span class="n">StructuralGapList</span><span class="p">()</span>
         <span class="k">for</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">old_gaps</span><span class="p">:</span>
@@ -501,6 +526,7 @@
     <span class="n">fragment_db</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadFragDB</span><span class="p">()</span>
     <span class="n">structure_db</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadStructureDB</span><span class="p">()</span>
     <span class="n">torsion_sampler</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">LoadTorsionSamplerCoil</span><span class="p">()</span>
+    <span class="n">rotamer_library</span> <span class="o">=</span> <span class="n">sidechain</span><span class="o">.</span><span class="n">LoadBBDepLib</span><span class="p">()</span>
     <span class="n">merge_distance</span> <span class="o">=</span> <span class="mi">4</span>
 
     <span class="c1"># remove terminal gaps</span>
@@ -513,7 +539,7 @@
 
     <span class="c1"># build sidechains</span>
     <span class="n">BuildSidechains</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">merge_distance</span><span class="p">,</span> <span class="n">fragment_db</span><span class="p">,</span>
-                    <span class="n">structure_db</span><span class="p">,</span> <span class="n">torsion_sampler</span><span class="p">)</span>
+                    <span class="n">structure_db</span><span class="p">,</span> <span class="n">torsion_sampler</span><span class="p">,</span> <span class="n">rotamer_library</span><span class="p">)</span>
 
     <span class="c1"># minimize energy of final model using molecular mechanics</span>
     <span class="n">MinimizeModelEnergy</span><span class="p">(</span><span class="n">mhandle</span><span class="p">,</span> <span class="n">use_amber_ff</span><span class="o">=</span><span class="n">use_amber_ff</span><span class="p">,</span>
@@ -560,7 +586,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3/modelling/_reconstruct_sidechains.html b/doc/html/_modules/promod3/modelling/_reconstruct_sidechains.html
index a8840922170b8f1448c05531aba3a51c444ff34e..61d1d54bf02c0b8b81d1c3377f559d485743a4de 100644
--- a/doc/html/_modules/promod3/modelling/_reconstruct_sidechains.html
+++ b/doc/html/_modules/promod3/modelling/_reconstruct_sidechains.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3.modelling._reconstruct_sidechains &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3.modelling._reconstruct_sidechains &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../../../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../../../_static/jquery.js"></script>
     <script type="text/javascript" src="../../../_static/underscore.js"></script>
     <script type="text/javascript" src="../../../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../../../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
     <link rel="up" title="promod3" href="../../promod3.html" />
    
   <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3.modelling._reconstruct_sidechains</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">geom</span><span class="p">,</span> <span class="n">mol</span><span class="p">,</span> <span class="n">conop</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">geom</span><span class="p">,</span> <span class="n">mol</span><span class="p">,</span> <span class="n">conop</span>
 <span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">core</span><span class="p">,</span> <span class="n">sidechain</span>
 <span class="kn">import</span> <span class="nn">traceback</span>
 
@@ -438,8 +455,7 @@
 <span class="sd">    :type consider_ligands:  :class:`bool`</span>
 
 <span class="sd">    :param rotamer_library: A rotamer library to extract the rotamers from. The</span>
-<span class="sd">                            default is the :meth:`Dunbrack &lt;LoadDunbrackLib&gt;`</span>
-<span class="sd">                            library.</span>
+<span class="sd">                            default is to call :meth:`&lt;LoadBBDepLib&gt;`.</span>
 <span class="sd">    :type rotamer_library:  :class:`BBDepRotamerLib` / :class:`RotamerLib`</span>
 
 <span class="sd">    :param optimize_subrotamers: Only considered when *rotamer_model*</span>
@@ -469,7 +485,7 @@
         <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;Only </span><span class="se">\&quot;</span><span class="s2">rrm</span><span class="se">\&quot;</span><span class="s2"> and </span><span class="se">\&quot;</span><span class="s2">frm</span><span class="se">\&quot;</span><span class="s2"> allowed for rotamer_model!&quot;</span><span class="p">)</span>
 
     <span class="k">if</span> <span class="n">rotamer_library</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> 
-        <span class="n">rotamer_library</span> <span class="o">=</span> <span class="n">sidechain</span><span class="o">.</span><span class="n">LoadDunbrackLib</span><span class="p">()</span>
+        <span class="n">rotamer_library</span> <span class="o">=</span> <span class="n">sidechain</span><span class="o">.</span><span class="n">LoadBBDepLib</span><span class="p">()</span>
     <span class="n">bbdep</span> <span class="o">=</span> <span class="bp">False</span>
     <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">rotamer_library</span><span class="p">)</span> <span class="ow">is</span> <span class="n">sidechain</span><span class="o">.</span><span class="n">BBDepRotamerLib</span><span class="p">:</span>
         <span class="n">bbdep</span> <span class="o">=</span> <span class="bp">True</span>
@@ -594,7 +610,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/promod3/modelling/_ring_punches.html b/doc/html/_modules/promod3/modelling/_ring_punches.html
index a443928984846cc8360ea5a3b7339d0c45757d85..810839fc68173993b7c1ecd858177195a2491a93 100644
--- a/doc/html/_modules/promod3/modelling/_ring_punches.html
+++ b/doc/html/_modules/promod3/modelling/_ring_punches.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>promod3.modelling._ring_punches &mdash; ProMod3 1.2.0 documentation</title>
+    <title>promod3.modelling._ring_punches &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../../../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../../../_static/jquery.js"></script>
     <script type="text/javascript" src="../../../_static/underscore.js"></script>
     <script type="text/javascript" src="../../../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../../../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../../../index.html" />
     <link rel="up" title="promod3" href="../../promod3.html" />
    
   <link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for promod3.modelling._ring_punches</h1><div class="highlight"><pre>
-<span></span><span class="sd">&#39;&#39;&#39;Helper functions to deal with ring punchings.&#39;&#39;&#39;</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="sd">&#39;&#39;&#39;Helper functions to deal with ring punchings.&#39;&#39;&#39;</span>
 <span class="kn">import</span> <span class="nn">ost</span>
 <span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">geom</span>
 <span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">core</span>
@@ -308,7 +325,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_modules/test_actions.html b/doc/html/_modules/test_actions.html
index f9739b382679bc7bfe2aafe0e47bace71563dd75..8e193e5e386bc26b66383ccefdf133aefee3ae13 100644
--- a/doc/html/_modules/test_actions.html
+++ b/doc/html/_modules/test_actions.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>test_actions &mdash; ProMod3 1.2.0 documentation</title>
+    <title>test_actions &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Module code" href="index.html" />
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
@@ -40,7 +41,23 @@
           <div class="body" role="main">
             
   <h1>Source code for test_actions</h1><div class="highlight"><pre>
-<span></span><span class="sd">&quot;&quot;&quot;</span>
+<span></span><span class="c1"># Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and </span>
+<span class="c1">#                          Biozentrum - University of Basel</span>
+<span class="c1"># </span>
+<span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
+<span class="c1"># you may not use this file except in compliance with the License.</span>
+<span class="c1"># You may obtain a copy of the License at</span>
+<span class="c1"># </span>
+<span class="c1">#   http://www.apache.org/licenses/LICENSE-2.0</span>
+<span class="c1"># </span>
+<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
+<span class="c1"># distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
+<span class="c1"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
+<span class="c1"># See the License for the specific language governing permissions and</span>
+<span class="c1"># limitations under the License.</span>
+
+
+<span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">unittest.TestCase class providing common functionality for testing actions.</span>
 <span class="sd">&quot;&quot;&quot;</span>
 <span class="kn">import</span> <span class="nn">unittest</span>
@@ -197,7 +214,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/_sources/actions/index.txt b/doc/html/_sources/actions/index.txt
index 4820610c7519c44d285f2b8e76ce9fb87c6f667a..450ffa57d28ef1f491876e3f468880a55741713d 100644
--- a/doc/html/_sources/actions/index.txt
+++ b/doc/html/_sources/actions/index.txt
@@ -20,7 +20,7 @@ with
 .. code-block:: console
 
   $ pm build-model [-h] (-f <FILE> | -c <FILE> | -j <OBJECT>|<FILE>)
-                   (-p <FILE> | -e <FILE>) [-o <FILENAME>]
+                   (-p <FILE> | -e <FILE>) [-s <FILE>] [-o <FILENAME>]
 
 Example usage:
 
@@ -105,6 +105,30 @@ sequence names are:
 Example: ``... -p data/2jlp.pdb.gz``, where the pdb file has chains ``A``,
 ``B``, ``C`` and the template sequence is named ``2jlp.A|55``.
 
+
+You can optionally specify sequence profiles to be added (``-s``) and linked 
+to the corresponding target sequences. This has an impact on loop scoring with 
+the database approach. 
+The profiles can be provided as plain files or gzipped. Following file 
+extensions are understood: .hhm, .hhm.gz, .pssm, .pssm.gz.
+Consider to use :meth:`ost.bindings.hhblits.HHblits.A3MToProfile` if you have a 
+file in a3m format at hand. 
+
+* 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
+
+* Every profile must have a unique sequence to avoid ambiguities
+
+* All or nothing - You cannot provide profiles for only a subset of
+  target sequences
+
+Example usage:
+
+.. code-block:: console
+
+  $ pm build-model -f aln.fasta -p tpl.pdb -s prof.hhm
+
 Possible exit codes of the action:
 
 - 0: all went well
@@ -113,4 +137,56 @@ Possible exit codes of the action:
 - 3: failed to perform modelling (internal error)
 - 4: failed to write results to file
 - other non-zero: failure in argument checking
-  (see :class:`promod3.core.pm3argparse.PM3ArgumentParser`)
\ No newline at end of file
+  (see :class:`promod3.core.pm3argparse.PM3ArgumentParser`)
+
+
+Sidechain Modelling
+--------------------------------------------------------------------------------
+
+You can (re-)construct the sidechains in a model from the command line.
+
+.. code-block:: console
+
+  $ usage: build-sidechains [-h] (-p <FILE> | -e <FILE>) [-o <FILENAME>] [-k] [-n]
+                            [-r] [-i] [-s]
+
+Example usage:
+
+.. code-block:: console
+
+  $ pm build-sidechains -p input.pdb
+
+This reads a structure stored in in.pdb, strips all sidechains, 
+detects and models disulfid bonds and reconstructs all sidechains with the 
+flexible rotamer model. The result is stored as :file:`out.pdb`. 
+The output filename can be controlled with the ``-o`` flag.
+
+A structure can be provided in PDB (``-p``) or in any format readable by the
+:func:`ost.io.LoadEntity` method (``-e``). In the latter case, the format is
+chosen by file ending. Recognized File Extensions: ``.ent``, ``.pdb``,
+``.ent.gz``, ``.pdb.gz``, ``.cif``, ``.cif.gz``. 
+
+Several flags control the modelling behaviour:
+
+.. option:: -k, --keep-sidechains 
+
+  Keep existing sidechains.
+
+.. option:: -n, --no-disulfids
+
+  Do not build disulfid bonds before sidechain optimization
+
+.. option:: -r, --rigid-rotamers 
+
+  Do not use rotamers with subrotamers
+
+.. option:: -i, --backbone-independent
+
+  Use backbone independent rotamer library 
+  (from :meth:`promod3.sidechain.LoadLib`) instead of the default backbone 
+  dependent one (from :meth:`promod3.sidechain.LoadBBDepLib`)
+
+.. option:: -s, --no-subrotamer-optimization
+
+  Dont do subrotamer optimization if flexible rotamer model is used
+
diff --git a/doc/html/_sources/buildsystem.txt b/doc/html/_sources/buildsystem.txt
index a601d619b695a46a2f15352e312e4bdaf91ab90f..7f975230cc64e605d3b77f8ef48eaf322bb69459 100644
--- a/doc/html/_sources/buildsystem.txt
+++ b/doc/html/_sources/buildsystem.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 .. _building-promod:
 
 Building |project|
@@ -7,18 +23,15 @@ Building |project|
 Dependencies
 --------------------------------------------------------------------------------
 
-|project| is build on top of |ost_l|_ (|ost_s|), requiring at least version
-1.7. |ost_s| must be configured and compiled with ``ENABLE_MM=1`` to use |openmm|_.
-To create the build system, |cmake|_ is required in version
-2.8.7 or higher. |python|_ works well from version 2.7. For |ost_s| and the
-|C++| bit of |project|, |boost|_ is required in version 1.53.0 (the same as
-used for |ost_s|). Also |eigen3|_ is needed. To build
-documentation, |sphinx|_ 1.2b1 is required.
-
+|project| is build on top of |ost_l|_ (|ost_s|), requiring at least version 1.8.
+|ost_s| must be configured and compiled with ``ENABLE_MM=1`` to use |openmm|_.
+To create the build system, |cmake|_ is required. The same versions of |python|_
+and |boost|_ are needed as used in |ost_s|. For |eigen3|_ we need at least
+version 3.3.0. To build the documentation, |sphinx|_ is required.
 
 The currently preferred versions are:
 
-* |ost_s|_ 1.7
+* |ost_s|_ 1.9
 * |openmm|_ 7.1.1
 * |cmake|_ 2.8.12
 * |python|_ 2.7.5
diff --git a/doc/html/_sources/changelog.txt b/doc/html/_sources/changelog.txt
index 20e7a36a38c83e77511d058c8e9f459732964672..879c3a6ca5fe7c62c2a0760b5352336420d6fea9 100644
--- a/doc/html/_sources/changelog.txt
+++ b/doc/html/_sources/changelog.txt
@@ -5,6 +5,26 @@
 Changelog
 ================================================================================
 
+Release 1.3.0
+--------------------------------------------------------------------------------
+
+* Apply Apache Version 2.0 License to the project
+* 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
+* 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
+* SampleMonteCarlo function moved to Python. This makes it possible to provide 
+  sampler/closer/scorer/cooler objects implemented in both, Python and C++
+* Action script for sidechain modelling
+* Allow sequence profiles as input for build-model action script.
+* Recipe for Docker / Singularity container 
+* Check peptide bonds when building a RawModel. Treat as gap if bond is 
+  stereochemically problematic despite being in sequence.
+* Several minor bug fixes, improvements, and speed-ups  
+
+
 Release 1.2.0
 --------------------------------------------------------------------------------
 
diff --git a/doc/html/_sources/container/docker.txt b/doc/html/_sources/container/docker.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cc5faaa095f903fc4f5a68ba776b5b8b144874ff
--- /dev/null
+++ b/doc/html/_sources/container/docker.txt
@@ -0,0 +1,116 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+Docker
+======
+
+Build Docker Image
+------------------
+
+In order to build the image:
+
+.. code-block:: bash
+
+  sudo docker build --tag <IMAGE_NAME> -f Dockerfile <PATH_TO_DOCKERFILE_DIR>
+
+You can chose any image name (tag) eg. promod. 
+
+
+Run scripts and actions with OST/PM
+-----------------------------------
+
+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/<USER>/pdbs directory and
+a script.py in /home/<USER> we could mount the /home/<USER> to /home in docker as
+above by specifying -v /home/<USER>:/home. To run the script we thus need to
+provide the (relative) path to the script and (relative) path to the file eg:
+
+.. code-block:: bash
+
+  sudo docker run --rm -v /home/<USER>:/home <IMAGE_NAME> pm script.py pdbs/struct.pdb
+
+or with absolute paths:
+
+.. code-block:: bash
+
+  sudo docker run --rm -v /home/<USER>:/home <IMAGE_NAME> pm /home/script.py /home/pdbs/struct.pdb
+
+An alternative is to mount the current working directory into the docker home:
+
+.. code-block:: bash
+
+  sudo docker run --rm -v $(pwd):/home <IMAGE_NAME> pm script.py pdbs/struct.pdb
+
+
+.. _docker_compound_lib:
+
+The Compound Library
+--------------------
+
+At build time of the container, a :class:`~ost.conop.CompoundLib` 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 
+information for the rule-based processor.
+
+The compound library is generated with the components.cif dictionary provided by 
+the PDB. As the PDB updates regularly, the compound library shipped with the 
+container is quickly outdated. For most use cases, this is not problematic. 
+However, if you rely on correct connectivity information of the latest and 
+greatest compounds, you have to keep the compound library up to date manually.
+
+The suggested way of doing this is to generate your own compound library and
+mount it into the container where the original compound lib resides to 
+override it.
+
+The simplest way to create a compound library is to use the 
+:program:`chemdict_tool` available in the container. The program allows you 
+to import the chemical description of the compounds from a MMCIF dictionary, 
+e.g. the components.cif dictionary provided by the PDB. 
+The latest dictionary can be downloaded from the 
+`wwPDB site <http://www.wwpdb.org/ccd.html>`_. 
+The files are rather large, it is therefore recommended to download the 
+gzipped version. 
+
+After downloading the file use :program:`chemdict_tool` in the container to 
+convert the MMCIF  dictionary into our internal format: 
+
+.. code-block:: bash
+
+  sudo docker run --rm -v $(pwd):/home <IMAGE_NAME> chemdict_tool create components.cif.gz compounds.chemlib
+
+To run a script with the upated compound library, use the -v option for mounting/overriding:
+
+.. code-block:: bash
+
+  sudo docker run --rm -v /home/<USER>:/home -v <COMPLIB_DIR_LOCALHOST>:<COMPLIB_DIR_CONTAINER> <IMAGE_NAME> pm script.py pdbs/struct.pdb
+
+with COMPLIB_DIR_LOCALHOST being the directory that contains the newly generated 
+compound library with name compounds.chemlib and COMPLIB_DIR_CONTAINER the 
+according path in the container.
+If you didnt change anything in the Dockerfile, the latter should be
+/usr/local/share/ost_complib
+  
+You can check whether the default lib is successfully overriden by looking at the
+output when running a Python script with following code in the container:
+
+.. code-block:: python
+
+  import promod3 # required to setup default lib
+  from ost import conop
+  lib = conop.GetDefaultLib()
+  print lib.GetCreationDate()
diff --git a/doc/html/_sources/container/index.txt b/doc/html/_sources/container/index.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9cf79e23f891def49bfd42346f0e31c027838b79
--- /dev/null
+++ b/doc/html/_sources/container/index.txt
@@ -0,0 +1,36 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+ProMod3 and Containers
+======================
+
+
+ProMod3 offers build recipes for Docker and Singularity in 
+<PATH_TO_PROMOD3_CHECKOUT>/container. To avoid code duplication, 
+the Singularity container bootstraps from the Docker one and adds 
+some sugar on top.
+
+.. toctree::
+  :maxdepth: 1
+
+  Docker <docker>
+  Singularity <singularity>
+
+
+
+
+
+
diff --git a/doc/html/_sources/container/singularity.txt b/doc/html/_sources/container/singularity.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ede88ddb3845154c24ea1534d96ebc6bb964b02a
--- /dev/null
+++ b/doc/html/_sources/container/singularity.txt
@@ -0,0 +1,120 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+Singularity
+===========
+
+We do not provide a "standalone" Singularity image, but rather bootstrap from a 
+Docker image.
+
+Build Singularity Image
+-----------------------
+
+You can pull the Docker image to start with from two different sources. 
+
+Option One:
+
+You built the Docker image locally and want to use it as a starting point. For 
+this we have to fire up a local Docker registry and pull from there. Let's 
+assume you built the Docker image with tag promod.
+
+Fire the local Registry and push the promod image to it:
+
+.. code-block:: bash
+
+  sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2
+  sudo docker tag promod localhost:5000/promod
+  sudo docker push localhost:5000/promod
+
+Make sure, that on top of your Singularity recipe you have something like:
+
+.. code-block:: bash
+
+  BootStrap: docker
+  Registry: http://localhost:5000
+  Namespace:
+  From: promod:latest
+
+and build the image with:
+
+.. code-block:: bash
+
+  sudo SINGULARITY_NOHTTPS=1 singularity build promod.img Singularity
+
+
+Option Two:
+
+You pull a Docker image from an external Docker registry. 
+Fill in a lot of words as soon as its on Dockerhub. Many words. The best words.
+
+and build the image with:
+
+.. code-block:: bash
+
+  sudo singularity build promod.img Singularity
+
+
+Run scripts and actions with OST/PM
+-----------------------------------
+
+The created container can run the ost, pm or chemdict_tool executables. 
+For convenience, a jupyter notebook playground with OST, ProMod3 and nglview is 
+available.
+
+To run ost, pm or chemdict_tool executables, use the exec command.
+E.g. to run scripts with pm:
+
+.. code-block:: bash
+
+  singularity exec <IMAGE> pm my_script.py [options]
+
+The jupyter notebook is setup as an app in the container. 
+To get help on how to run it:
+
+.. code-block:: bash
+
+  singularity run --app Notebook <IMAGE> --help
+
+
+The Compound Library
+--------------------
+
+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: :ref:`docker_compound_lib`. 
+
+The same trick of mounting an up to date compound library from the local host into
+the container applies. The two relevant commands for Singularity are building 
+a new library and mount it.
+
+Build a new library:
+
+.. code-block:: bash
+
+  singularity exec <IMAGE_NAME> chemdict_tool create components.cif.gz compounds.chemlib
+
+Run some script with an updated compound library from localhost:
+
+.. code-block:: bash
+
+  singularity exec -B <COMPLIB_DIR_LOCALHOST>:<COMPLIB_DIR_CONTAINER> <IMAGE_NAME> pm my_script.py 
+
+Same as for the Docker, if you didn't meddle with the original Dockerfile, 
+<COMPLIB_DIR_CONTAINER> should be /usr/local/share/ost_complib. 
+<COMPLIB_DIR_LOCALHOST> is the directory that contains the compound lib with the 
+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: :ref:`docker_compound_lib`. 
diff --git a/doc/html/_sources/contributing.txt b/doc/html/_sources/contributing.txt
index ae3c842c641522624e55d208c51e6a146773a033..3a261b411ab249a578a79cf8c0760ef1deb68150 100644
--- a/doc/html/_sources/contributing.txt
+++ b/doc/html/_sources/contributing.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Contributing
 ================================================================================
 
@@ -475,23 +491,19 @@ Hence, the :file:`CMakeLists.txt` of the :file:`doc` directory of a module is
 crucial. For documentation which does not relate to a particular module, the
 repository comes with a top-level :file:`doc` directory.
 
-While you should not spend to much time thinking about how to format
-documentation, here is a helpful list of standard formatters:
-http://sphinx-doc.org/en/stable/markup/inline.html
-
 If you write new functionality for |project|, or fix bugs, feel free to extend
 the :file:`CHANGELOG` file. It will be automatically pulled into the
 documentation.
 
 It is highly recommended to add code examples with your documentation. For that
-purpose, you should write a fully runnable script, which is to be placed in the
+purpose, you should write a fully runnable script which is to be placed in the
 :file:`doc/tests/scripts` directory. The script is to be runnable from within
 the :file:`doc/tests` directory as ``pm SCRIPTPATH`` and may use data stored in
 the :file:`doc/tests/data` directory. The script and any data needed by it, must
 then be referenced in the :file:`doc/tests/CMakeLists.txt` file. Afterwards,
-they can be included in the documentation using the
-`literalinclude <http://www.sphinx-doc.org/en/stable/markup/code.html#includes>`_
-directive. For instance, if you add a new example code :file:`loop_main.py`,
+they can be included in the documentation using the literalinclude
+directive.
+For instance, if you add a new example code :file:`loop_main.py`,
 you would add it in your module documentation as follows:
 
 .. code-block:: rest
diff --git a/doc/html/_sources/core/geometry.txt b/doc/html/_sources/core/geometry.txt
index 3d36b1bd13c2506eb51fad21c9bd61712a9ad5c8..1ac82fac9c1ecc650be29cd7a099f122ed7a6a5a 100644
--- a/doc/html/_sources/core/geometry.txt
+++ b/doc/html/_sources/core/geometry.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Geometry functions
 ================================================================================
 
@@ -53,7 +69,7 @@ Geometry functions
 .. function:: ConstructCBetaPos(n_pos, ca_pos, c_pos)
 
   Constructs position of C-beta atom given the positions of the backbone nitrogen,
-  C-alpha and c atoms.
+  C-alpha and C atoms.
 
   :param n_pos: Position of nitrogen atom
   :type n_pos:  :class:`~ost.geom.Vec3`
diff --git a/doc/html/_sources/core/graph_minimizer.txt b/doc/html/_sources/core/graph_minimizer.txt
index a1ddb9639f2816086ee62f64861e5e2e5b9dacb2..a38bca5895963caf439339bf5e57af6459d10847 100644
--- a/doc/html/_sources/core/graph_minimizer.txt
+++ b/doc/html/_sources/core/graph_minimizer.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Graph Minimizer
 ================================================================================
 
@@ -228,8 +244,3 @@ a set :math:`X=[x_1, x_2, ..., x_n]` that minimizes:
                         representing the single solutions minimizing
                         the overall energy function.
                         The second element is the according energy value.          
-
-
-.. [goldstein1994] Goldstein RF (1994). Efficient rotamer elimination applied to protein side-chains and related spin glasses. Biophys J.
-
-.. [leach1998] Leach AR, Lemon AP (1998). Explring the conformational space of prootein side chains using dead-end elimination and the A* algorithm. Proteins.
diff --git a/doc/html/_sources/core/helper.txt b/doc/html/_sources/core/helper.txt
index 03d2cef127c61cb16af4680f5580673c34dae2e7..6684d1247ae7c8a53785187b4dd24a4b38737ac0 100644
--- a/doc/html/_sources/core/helper.txt
+++ b/doc/html/_sources/core/helper.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.core.helper` - Shared Functionality For the Everything
 ================================================================================
 
diff --git a/doc/html/_sources/core/index.txt b/doc/html/_sources/core/index.txt
index 2af5fca9cace92deef375d4857a1c9b55f9ec0d5..91b0d9c39c77212b3747e804b1a12191f422a213 100644
--- a/doc/html/_sources/core/index.txt
+++ b/doc/html/_sources/core/index.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.core` - ProMod3 Core Functionality
 ================================================================================
 
diff --git a/doc/html/_sources/core/pm3argparse.txt b/doc/html/_sources/core/pm3argparse.txt
index 927faf547e89cc54e508fa38abfbf18b39fb217b..f6a048252ec82ce7dabbb48da87a242e26d82aa4 100644
--- a/doc/html/_sources/core/pm3argparse.txt
+++ b/doc/html/_sources/core/pm3argparse.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.core.pm3argparse` - Parsing Command Lines
 ================================================================================
 
diff --git a/doc/html/_sources/core/runtime_profiling.txt b/doc/html/_sources/core/runtime_profiling.txt
index 07c51ad5bb447b99aaf0335a1cd5f8e48d4a5c75..44bd8621a4ad7a5b77b185f5a9be069afbc9440c 100644
--- a/doc/html/_sources/core/runtime_profiling.txt
+++ b/doc/html/_sources/core/runtime_profiling.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Runtime profiling
 ================================================================================
 
diff --git a/doc/html/_sources/core/setcompoundschemlib.txt b/doc/html/_sources/core/setcompoundschemlib.txt
index fb0223432967ffc2ed53d542191c52fce4fb770b..2c6e660ffb8e1cf6d4d3df93a7f16fda04340724 100644
--- a/doc/html/_sources/core/setcompoundschemlib.txt
+++ b/doc/html/_sources/core/setcompoundschemlib.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :func:`~promod3.SetCompoundsChemlib`
 ================================================================================
 
diff --git a/doc/html/_sources/dev_setup.txt b/doc/html/_sources/dev_setup.txt
index 3b450accf0a5cb18ada95e2e7b1ab6d0e35799dd..91909c30154907dcbb269a4d5cb805ef6af9d1bf 100644
--- a/doc/html/_sources/dev_setup.txt
+++ b/doc/html/_sources/dev_setup.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 |project| Setup
 ================================================================================
 
diff --git a/doc/html/_sources/developers.txt b/doc/html/_sources/developers.txt
index 3955c47c1cab44e3274e54919b0b0d949299c0f6..f15f85db820e896de015b614c871d0317030dc38 100644
--- a/doc/html/_sources/developers.txt
+++ b/doc/html/_sources/developers.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Documentation For Developers
 ===============================================================================
 
diff --git a/doc/html/_sources/gettingstarted.txt b/doc/html/_sources/gettingstarted.txt
index 9b2b8024b6cb6e7cd2e98aa10c3c86df5754f645..2bed4049fe4de07f7fafe0994c1867fd40f5be61 100644
--- a/doc/html/_sources/gettingstarted.txt
+++ b/doc/html/_sources/gettingstarted.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Getting Started
 ================================================================================
 
diff --git a/doc/html/_sources/index.txt b/doc/html/_sources/index.txt
index 0699c60545cfc1014f4753e6f9a6b8647e822cc7..74cb15e8f60d131996ed5d81cc1b0950b4abf718 100644
--- a/doc/html/_sources/index.txt
+++ b/doc/html/_sources/index.txt
@@ -1,28 +1,41 @@
-.. ProMod3 documentation master file, created by
-   sphinx-quickstart on Thu Oct 10 23:17:00 2013.
-   You can adapt this file completely to your liking, but it should at least
-   contain the root `toctree` directive.
-
-Welcome To ProMod3's Documentation!
-===================================
-
-Contents:
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+ProMod3
+=======
+
+ProMod3 is a modelling engine based on the OpenStructure [biasini2013]_ 
+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.
+
+
+Documentation
+=============
 
 .. toctree::
-   :maxdepth: 2
+  :maxdepth: 2
 
-   Users <users>
-   Developers <developers>
+  Users <users>
 
 .. toctree::
-   :maxdepth: 1
-
-   changelog
-   
-
-Indices And Tables
-==================
+  :maxdepth: 1  
 
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
+  Developers <developers>
+  License <license>
+  References <references>
+  Changelog <changelog>
diff --git a/doc/html/_sources/license.txt b/doc/html/_sources/license.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1ff0971e35f8e7c9fdf99a1e6191409ae2a7e375
--- /dev/null
+++ b/doc/html/_sources/license.txt
@@ -0,0 +1,22 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+License
+=======
+
+
+
+.. literalinclude:: license.txt
diff --git a/doc/html/_sources/loop/all_atom.txt b/doc/html/_sources/loop/all_atom.txt
index b2f19a81997933e3ac1815f2a7759cb0f8b06613..eaeb294774c88c8f4c239fc493e2eb641ee7408f 100644
--- a/doc/html/_sources/loop/all_atom.txt
+++ b/doc/html/_sources/loop/all_atom.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Handling All Atom Positions
 ================================================================================
 
diff --git a/doc/html/_sources/loop/backbone.txt b/doc/html/_sources/loop/backbone.txt
index 15288fb3c55e5af3ff5a698fc8fc41a9223778a4..3acc2f8e1a2b74a97e559c050e71eb97c777802e 100644
--- a/doc/html/_sources/loop/backbone.txt
+++ b/doc/html/_sources/loop/backbone.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Representing Loops
 ================================================================================
 
@@ -143,7 +159,8 @@ The BackboneList class
     :type sequence:  :class:`str`
 
     :raises: :exc:`~exceptions.RuntimeError` if *sequence* contains a one letter
-             code which is not one of the 20 default amino acids.
+             code which is not one of the 20 default amino acids or size of 
+             *sequence* does not match.
 
 
   .. method:: Extract(from, to)
@@ -450,8 +467,8 @@ The BackboneList class
 
   .. method:: SetBackrub(index, primary_rot_angle, flanking_rot_angle_one, flanking_rot_angle_two)
 
-    Applies a backrub motion at residue defined by **index**. The first
-    rotation axis is defined by the CA positions from residues at
+    Applies a backrub motion [davis2006]_ at residue defined by **index**. 
+    The first rotation axis is defined by the CA positions from residues at
     **index** -1 and **index** +1. All atoms in between get rotated around this
     axis by **primary_rot_angle**. To restore the the hydrogen bond network
     of the two transformed oxygens, the backrub motion gets completed by
diff --git a/doc/html/_sources/loop/index.txt b/doc/html/_sources/loop/index.txt
index f60393092beaea6d8315036c82ee7dfb02b267d7..1b4199c068f6532d019465b011fb112ef140443f 100644
--- a/doc/html/_sources/loop/index.txt
+++ b/doc/html/_sources/loop/index.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.loop` - Loop Handling
 ================================================================================
 
diff --git a/doc/html/_sources/loop/load_loop_objects.txt b/doc/html/_sources/loop/load_loop_objects.txt
index 00365ca9dcbf02c832bd8ea7c018b31f5e99a78f..a8410bea4fa9ec2f5a7ff3ac96ed26d06f707aea 100644
--- a/doc/html/_sources/loop/load_loop_objects.txt
+++ b/doc/html/_sources/loop/load_loop_objects.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Loading Precomputed Objects
 ================================================================================
 
@@ -10,7 +26,7 @@ Several data objects are used throughout the loop module.
 .. method:: LoadTorsionSampler(seed=0)
 
   Loads and returns a torsion sampler with an amino acid grouping
-  as defined by Solis & Rachovsky [1] that has been trained on 
+  as defined by [solis2006]_ that has been trained on 
   non-redundant protein structures.
 
   :param seed:          Seed for internal random number generator
@@ -24,7 +40,7 @@ Several data objects are used throughout the loop module.
 .. method:: LoadTorsionSamplerCoil(seed=0)
 
   Loads and returns a torsion sampler with an amino acid grouping
-  as defined by Solis & Rachovsky [1] that has been trained on coil
+  as defined by [solis2006]_ that has been trained on coil
   residues of  non-redundant protein structures.
 
   :param seed:          Seed for internal random number generator
@@ -38,7 +54,7 @@ Several data objects are used throughout the loop module.
 .. method:: LoadTorsionSamplerHelical(seed=0)
 
   Loads and returns a torsion sampler with an amino acid grouping
-  as defined by Solis & Rachovsky [1] that has been trained on helical
+  as defined by [solis2006]_ that has been trained on helical
   residues of  non-redundant protein structures.
 
   :param seed:          Seed for internal random number generator
@@ -52,7 +68,7 @@ Several data objects are used throughout the loop module.
 .. method:: LoadTorsionSamplerExtended(seed=0)
 
   Loads and returns a torsion sampler with an amino acid grouping
-  as defined by Solis & Rachovsky [1] that has been trained on extended
+  as defined by [solis2006]_ that has been trained on extended
   residues of  non-redundant protein structures.
 
   :param seed:          Seed for internal random number generator
@@ -63,28 +79,22 @@ Several data objects are used throughout the loop module.
   :rtype:               :class:`TorsionSampler`
 
 
-.. method:: LoadFragDB()
-
-  Loads and returns a FragDB containing fragments up to the length of 14,
-  therefore capable of bridging gaps up to the length of 12.
+.. method:: LoadStructureDB()
 
-  :returns:             The Fragment database
-  :rtype:               :class:`FragDB`
+  Loads and returns a structure db containing roughly 21000 chains form the
+  PDB with seqid redundancy cutoff of 60%
 
-.. method:: LoadStructureDB(load_frequencies=True)
+  :returns:             The structure db
+  :rtype:               :class:`StructureDB`
 
-  Loads and returns a structure db containing roughly 24000 chains form the
-  PDB with redundancy cutoff of 90%
 
-  :param load_frequencies: If True, the full database including profile
-                           information gets loaded (see
-                           :meth:`StructureDB.Load`).
-  :type load_frequencies:  :class:`bool`
+.. method:: LoadFragDB()
 
-  :returns:             The structure db
-  :rtype:               :class:`StructureDB`
-  
+  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 :class:`StructureDB`
+  returned by :meth:`LoadStructureDB`.
 
-[1] A. D. Solis and S. Rackovsky. Improvement of statistical potentials and     
-    threading score functions using information maximization. 
-    Proteins, 62(4):892–908, Mar 2006.
+  :returns:             The Fragment database
+  :rtype:               :class:`FragDB`
+  
\ No newline at end of file
diff --git a/doc/html/_sources/loop/mm_system_creation.txt b/doc/html/_sources/loop/mm_system_creation.txt
index 7ad0c03a88e75d071685fbee47a3d5f88dcc6530..87b6fb05808a9d70e5e489638d087cd99d95c46c 100644
--- a/doc/html/_sources/loop/mm_system_creation.txt
+++ b/doc/html/_sources/loop/mm_system_creation.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Generate :mod:`ost.mol.mm` systems
 ================================================================================
 
diff --git a/doc/html/_sources/loop/structure_db.txt b/doc/html/_sources/loop/structure_db.txt
index a967d08a3823e6ae0eba26410ba7bdfa313ba358..b3089c7248bc40d5f4bd292125795b2edde82204 100644
--- a/doc/html/_sources/loop/structure_db.txt
+++ b/doc/html/_sources/loop/structure_db.txt
@@ -1,9 +1,25 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Structural Data
 ================================================================================
 
 .. currentmodule:: promod3.loop
 
-The structural database serves as a container for structural backbone and 
+The :class:`StructureDB` 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
 accession using matching stem geometry (see: :class:`FragDB`) or sequence
@@ -41,7 +57,7 @@ Defining Chains and Fragments
 .. class:: CoordInfo()
 
   The CoordInfo gets automatically generated when new chains are added to
-  the structural database. It contains internal information of how a 
+  a :class:`StructureDB`. It contains internal information of how a 
   connected stretch of residues is stored in the database.
 
   .. attribute:: id
@@ -68,17 +84,17 @@ Defining Chains and Fragments
 
     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.
+    stuff to the structure db. (:class:`int`)
 
   .. attribute:: shift
 
     Translation from original coordinates that has been applied before storing
-    structural information in db.
+    structural information in db. (:class:`ost.geom.Vec3`)
 
 
 .. class:: FragmentInfo(chain_index, offset, length)
 
-  The FragmentInfo defines any fragment in the structural database. If you 
+  The FragmentInfo defines any fragment in the :class:`StructureDB`. If you 
   implement your own accessor object, thats the information you want to store.
 
   :param chain_index:   Fills :attr:`chain_index`
@@ -89,8 +105,8 @@ Defining Chains and Fragments
 
   .. attribute:: chain_index
     
-    The index of the chain (defined by :class:`CoordInfo`) in the structure db 
-    this particle belongs to. (:class:`int`)
+    The index of the chain (defined by :class:`CoordInfo`) in the 
+    :class:`StructureDB` this particle belongs to. (:class:`int`)
 
   .. attribute:: offset
 
@@ -127,7 +143,7 @@ database, you might want to consider two things:
   to backbone coordinates and sequence.
   If you want to store all data possible, use All. If you only want a subset,
   you can combine some of the datatypes with a bitwise or operation 
-  (see example script for StructureDB). One important note:
+  (see example script for :class:`StructureDB`). One important note:
   If you enable AAFrequenciesStruct, the actual information is not automatically
   assigned. Only the according memory is allocated and set to zero, the actual 
   information must be assigned manually (see example script again...).
@@ -138,8 +154,8 @@ database, you might want to consider two things:
 
 .. class:: StructureDB(data_to_store)
 
-  Generates an empty StructureDB that can be filled with content through
-  :func:`AddCoordinates`. The information extracted there is defined by
+  Generates an empty :class:`StructureDB` that can be filled with content 
+  through :func:`AddCoordinates`. The information extracted there is defined by
   *data_to_store*. Have a look at the :class:`StructureDBDataType` 
   documentation and at the example script...
 
@@ -263,7 +279,7 @@ database, you might want to consider two things:
 
   .. method:: GetCoordIdx(id, chain_name)
 
-    :returns: The StructureDB indices (in [0, :meth:`GetNumCoords`-1]) of 
+    :returns: The :class:`StructureDB` indices (in [0, :meth:`GetNumCoords`-1]) 
               of all coords (connected stretches) with matching 
               *id* / *chain_name*.
     :rtype:   :class:`list` of :class:`int`
@@ -281,7 +297,7 @@ database, you might want to consider two things:
               index *idx*.
     :rtype:   :class:`CoordInfo`
 
-    :param idx: The StructureDB index (in [0, :meth:`GetNumCoords`-1])
+    :param idx: The :class:`StructureDB` index (in [0, :meth:`GetNumCoords`-1])
     :type idx:  :class:`int`
 
 
@@ -379,7 +395,8 @@ database, you might want to consider two things:
   .. method:: GetSolventAccessibilitites(fragment)
 
     :returns: Solvent accessibility for each residue of *fragment* in square A
-              as calculated by dssp.
+              as calculated by :meth:`~ost.mol.alg.Accessibility` when adding
+              the structure to the database.
     :rtype:   :class:`list` of :class:`float`
 
     :param fragment: Fragment definition from which to extract the solvent
@@ -472,7 +489,7 @@ database, you might want to consider two things:
              to make sure that you have no close homologue in the database.
     :rtype:  :class:`StructureDB`
 
-    :param indices: StructureDB indices to be added to the sub database (in [0,
+    :param indices: Indices of chains to be added to the sub database (in [0,
                     :meth:`GetNumCoords`-1])
     :type indices:  :class:`list`
 
@@ -532,14 +549,16 @@ This example illustrates how to create a custom FragDB based on a StructureDB:
 
   .. method:: GetAngularBinSize()
 
-    The size of the bins for the 4 angles describing the stem geometry and used to organize the fragments in the database.
+    The size of the bins for the 4 angles describing the stem geometry and used 
+    to organize the fragments in the database.
 
     :return:    The bin size in degrees
     :rtype:     :class:`int`
 
   .. method:: GetDistBinSize()
 
-    The size of the bins for the distance describing the stem geometry and used to organize the fragments in the database.
+    The size of the bins for the distance describing the stem geometry and used 
+    to organize the fragments in the database.
 
     :return:    The bin size
     :rtype:     :class:`float`
@@ -547,8 +566,13 @@ This example illustrates how to create a custom FragDB based on a StructureDB:
 
   .. method:: AddFragments(fragment_length, rmsd_cutoff, structure_db)
 
-    Iterates over all fragments of length **fragment_length** in the given structural database and adds them to the fragment database. Fragments will be skipped if there is already a fragment in the database that has an RMSD to the one being added smaller than **rmsd_cutoff**.
-    As the fragments are added they are organized in bins described by their length and the geometry of their N and C stem.
+    Iterates over all fragments of length **fragment_length** in 
+    **structure_db** and adds them to the fragment database. 
+    Fragments will be skipped if there is already a fragment in the database 
+    that has an RMSD smaller than **rmsd_cutoff**, where RMSD is calculated 
+    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.
 
     :param fragment_length:    The length of the fragments that should be added to the databse
     :param rmsd_cutoff:        The minimal RMSD between two fragments in the fragment database
@@ -560,7 +584,7 @@ This example illustrates how to create a custom FragDB based on a StructureDB:
 
   .. method:: PrintStatistics()
 
-    Prints statistics about the fragment databse, notably:
+    Prints statistics about the fragment database, notably:
 
     1. the number of different stem groups (number of bins used to group the
        fragments according to the geometry of their stem residues)
@@ -598,12 +622,12 @@ This example illustrates how to create a custom FragDB based on a StructureDB:
     :param loop_length:   The length of the fragments
     :type loop_length:    :class:`int`
 
-    :returns: True if fragments of given length exist. This function is quick.
+    :returns: True if fragments of given length exist.
     :rtype:   :class:`bool`
 
   .. method:: MaxFragLength()
 
-    :returns: Maximal fragment length contained in db. This function is quick.
+    :returns: Maximal fragment length contained in db.
     :rtype:   :class:`int`
 
   .. method:: SearchDB(n_stem, c_stem, frag_size, extra_bins=0)
@@ -635,7 +659,7 @@ In some cases you might want to use the :class:`StructureDB` to search
 for fragments that possibly represent the structural conformation of interest.
 The :class:`Fragger` searches a :class:`StructureDB` for n fragments, 
 that maximize a certain score and gathers a set of fragments with a guaranteed 
-structural diversity based on an rmsd_threshold. You can use the :class:`Fragger`
+structural diversity based on an rmsd threshold. You can use the :class:`Fragger`
 wrapped in a full fletched pipeline implemented in 
 :class:`~promod3.modelling.FraggerHandle` or search for fragments from scratch 
 using an arbitrary linear combination of scores:
@@ -882,7 +906,7 @@ The PsipredPrediction class
 
 .. class:: PsipredPrediction
 
-  A container for the secondary structure prediction by Psipred.
+  A container for the secondary structure prediction by PSIPRED [Jones1999]_.
 
   .. method:: PsipredPrediction()
     
@@ -974,11 +998,3 @@ The PsipredPrediction class
   .. method:: __len__()
 
     :returns:           Number of elements in container
-
-
-
-.. [soding2005] Söding J (2005). Protein homology detection by HMM-HMM comparison. Bioinformatics 21 (7): 951–960.
-.. [chakravarty1999] Chakravarty S, Varadarajan R (1999). Residue depth: a novel parameter for the analysis of protein structure and stability. Structure 7 (7): 723–732.
-.. [zhou2005] Zhou H, Zhou Y (2005). Fold Recognition by Combining Sequence Profiles Derived From Evolution and From Depth-Dependent Structural Alignment of Fragments. Proteins 58 (2): 321–328.
-.. [Jones1999] Jones DT (1999) Protein secondary structure prediction based on position-specific scoring matrices. J. Mol. Biol. 292: 195-202. 
-.. [kabsch1983] Kabsch W, Sander C (1983) Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers 22 2577-2637.
diff --git a/doc/html/_sources/loop/torsion_sampler.txt b/doc/html/_sources/loop/torsion_sampler.txt
index 0962c3563d62638c5948f7d6f08189b2fcf6a95b..8344079a5065f12c19e844f50be70636032ba365 100644
--- a/doc/html/_sources/loop/torsion_sampler.txt
+++ b/doc/html/_sources/loop/torsion_sampler.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Sampling Dihedral Angles
 ================================================================================
 
diff --git a/doc/html/_sources/modelling/algorithms.txt b/doc/html/_sources/modelling/algorithms.txt
index 7ff5ae3a33e08ccccdf6d98f87abe2748e1d0d19..51357bc0615a49e58f2ef12f3efad67eeb3b003d 100644
--- a/doc/html/_sources/modelling/algorithms.txt
+++ b/doc/html/_sources/modelling/algorithms.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Modelling Algorithms
 ================================================================================
 
diff --git a/doc/html/_sources/modelling/gap_handling.txt b/doc/html/_sources/modelling/gap_handling.txt
index e939f9f60fa779b43bfdb196e0649ebd28306a08..b70d39a57558559a9ee4f6240384ffdbeb4df34c 100644
--- a/doc/html/_sources/modelling/gap_handling.txt
+++ b/doc/html/_sources/modelling/gap_handling.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Handling Gaps
 ================================================================================
 
diff --git a/doc/html/_sources/modelling/index.txt b/doc/html/_sources/modelling/index.txt
index 27ed61013a17190ebef7f0afb0027241c0e19294..ce9be313f8c26c747a5e1d711c9bf44751ac8587 100644
--- a/doc/html/_sources/modelling/index.txt
+++ b/doc/html/_sources/modelling/index.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.modelling` - Protein Modelling
 ================================================================================
 
diff --git a/doc/html/_sources/modelling/loop_candidates.txt b/doc/html/_sources/modelling/loop_candidates.txt
index d0711c5a7c89292a61e3f1547ed28af62841382b..927107a0ddaa78b2bb6efe78b80c0f1dbc5aae1e 100644
--- a/doc/html/_sources/modelling/loop_candidates.txt
+++ b/doc/html/_sources/modelling/loop_candidates.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Handling Loop Candidates
 ================================================================================
 
diff --git a/doc/html/_sources/modelling/loop_closing.txt b/doc/html/_sources/modelling/loop_closing.txt
index 7ec7230b20a4e32fd9cc1f15a9e84ea7b549c113..21b842f5d1e25b00dc2f2cb863bf8124ccfb8f81 100644
--- a/doc/html/_sources/modelling/loop_closing.txt
+++ b/doc/html/_sources/modelling/loop_closing.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Fitting Loops Into Gaps
 ================================================================================
 
@@ -7,7 +23,7 @@ Loops often need to undergo conformational changes to fit into gaps defined by
 stem residues. |project| implements two algorithms performing this task:
 
   * Cyclic coordinate descent (CCD) [canutescu2003]_
-  * Kinematic closure (KIC) [mandell2009]_
+  * Kinematic closure (KIC) [coutsias2005]_
 
 In case of small gaps or small issues in the loop you might also consider the
 :class:`BackboneRelaxer`.
@@ -374,8 +390,4 @@ Example usage:
     :rtype:  :class:`~promod3.loop.MmSystemCreator`
 
 
-.. rubric:: Citations
-
-.. [canutescu2003] Canutescu AA and Dunbrack RL Jr. (2003). Cyclic coordinate descent: A robotics algorithm for protein loop closure. Protein Sci. 12(5):963–972.
 
-.. [mandell2009] Mandell DJ, Coutsias EA and Kortemme T (2009). Sub-angstrom accuracy in protein loop reconstruction by robotics-inspired conformational sampling. Nat Methods. 6(8):551-2.
diff --git a/doc/html/_sources/modelling/model_checking.txt b/doc/html/_sources/modelling/model_checking.txt
index 97d7f69a83735d2757ede0afee224f181afdd6d5..03763e178971929ce13573f5ac8d72dc6624434d 100644
--- a/doc/html/_sources/modelling/model_checking.txt
+++ b/doc/html/_sources/modelling/model_checking.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Model Checking
 ================================================================================
 
diff --git a/doc/html/_sources/modelling/monte_carlo.txt b/doc/html/_sources/modelling/monte_carlo.txt
index 56e572a8788749bde35c415893a964126c5e67b9..1cb924b406ab017598f909d34872c0394697cb72 100644
--- a/doc/html/_sources/modelling/monte_carlo.txt
+++ b/doc/html/_sources/modelling/monte_carlo.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Generating Loops De Novo
 ================================================================================
 
@@ -21,46 +37,7 @@ Carlo sampling to the N-terminal part of crambin:
 
 .. literalinclude:: ../../../tests/doc/scripts/modelling_monte_carlo.py
 
-.. method:: SampleMonteCarlo(sampler, closer, scorer, cooler, steps,\
-                             bb_list, initialize=True, seed=0,\
-                             lowest_energy_conformation=True)
-
-  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 *sampler* and closed by the *closer*. Upon scoring, this new
-  conformation gets accepted/rejected using a metropolis criterion based on the
-  temperature given by the *cooler* 
-  => acceptance probability: exp(-delta_score/T).
-  The result is stored in *bb_list* and is either the lowest energy conformation
-  ever encountered or the last accepted proposal.
-
-  :param sampler:       Sampler object capable of initializing and altering
-                        conformations.
-  :param closer:        Closer object to adapt a new conformation to
-                        the environment.
-  :param scorer:        Scorer object to score new loop conformations.
-  :param cooler:        Cooler object to control the temperature of the 
-                        Monte Carlo trajectory.
-  :param steps:         Number of Monte Carlo iterations to be performed.
-  :param bb_list:       The chosen conformation gets stored here.
-  :param initialize:    Whether a new bb_list should be generated as starting
-                        point, based on the samplers Initialize function.
-                        The input *bb_list* gets used otherwise.
-  :param seed:          Seed for internal random number generator.
-  :param lowest_energy_conformation:  If True, we choose the lowest scoring
-                                      conformation of the trajectory. Otherwise,
-                                      the last accepted proposal.
-
-  :type sampler:        :ref:`mc-sampler-object`
-  :type closer:         :ref:`mc-closer-object`
-  :type scorer:         :ref:`mc-scorer-object`
-  :type cooler:         :ref:`mc-cooler-object`
-  :type steps:          :class:`int`
-  :type bb_list:        :class:`~promod3.loop.BackboneList`
-  :type initialize:     :class:`bool`
-  :type seed:           :class:`int`
-  :type lowest_energy_conformation: :class:`bool`
-
+.. autofunction:: SampleMonteCarlo
 
 .. _mc-sampler-object:
 
@@ -69,7 +46,46 @@ Sampler Object
 
 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.
+for any Monte Carlo sampling pipeline. You can either use one of the 
+provided samplers or any object that implements the functionality of
+:class:`SamplerBase`.
+
+
+.. class:: SamplerBase
+
+  Abstract base class defining the functions that must be implemented by any 
+  sampler.
+
+  .. method:: Initialize(bb_list)
+
+    Supposed to initialize structural information from scratch. The sequence
+    of the generated :class:`promod3.loop.BackboneList` is taken from *bb_list*.
+
+    :param bb_list:     Passed by reference, so the resulting 
+                        :class:`promod3.loop.BackboneList` is assigned to this 
+                        parameter. Sequence / length stay the same.
+
+    :type bb_list:      :class:`promod3.loop.BackboneList`
+
+    :returns:           None
+
+  .. method:: ProposeStep(actual_positions, proposed_positions)
+
+    Takes current positions and proposes a new conformation. There is no 
+    guarantee on maintining any special RT state. The :ref:`mc-closer-object`
+    is supposed to sort that out. 
+
+    :param actual_positions: Starting point, must not change when calling this
+                             function.
+    :param proposed_positions: Passed by reference, so the resulting 
+                               :class:`promod3.loop.BackboneList` is assigned to 
+                               this parameter.
+
+    :type actual_positions: :class:`promod3.loop.BackboneList`
+    :type proposed_positions: :class:`promod3.loop.BackboneList`
+
+    :returns:           None
+
 
 .. class:: PhiPsiSampler(sequence, torsion_sampler, n_stem_phi=-1.0472,\
                          c_stem_psi=-0.78540, prev_aa='A', next_aa='A', seed=0)
@@ -237,9 +253,9 @@ for any Monte Carlo sampling pipeline.
   :param seed:          Seed for the internal random number generators
 
   :type sequence:       :class:`str`
-  :type fraggers:       :class:`str`
+  :type fraggers:       :class:`list`
   :type init_bb_list:   :class:`~promod3.loop.BackboneList`
-  :type samplint_start_index: :class:`int`
+  :type sampling_start_index: :class:`int`
   :type init_fragments: :class:`int`
   :type seed:           :class:`int`
 
@@ -276,7 +292,32 @@ 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
 the stems of the sampled conformation overlap with given stem residues or
-or simple stem superposition in case of terminal sampling.
+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 :class:`CloserBase`.
+
+.. class:: CloserBase
+
+  Abstract base class defining the functions that must be implemented by any 
+  closer.
+
+  .. method:: Close(actual_positions, closed_positions)
+
+    Takes current positions and proposes a new conformation that fits to a
+    given environment.
+
+    :param actual_positions: Starting point, must not change when calling this
+                             function.
+    :param closed_positions: Passed by reference, so the resulting 
+                             :class:`promod3.loop.BackboneList` is assigned to 
+                             this parameter.
+
+    :type actual_positions: :class:`promod3.loop.BackboneList`
+    :type closed_positions: :class:`promod3.loop.BackboneList`
+
+    :returns:           Whether closing procedure was successful
+    :rtype:             :class:`bool`
+
 
 .. class:: CCDCloser(n_stem, c_stem, sequence, torsion_sampler, seed)
 
@@ -305,7 +346,7 @@ or simple stem superposition in case of terminal sampling.
                          of :class:`~promod3.loop.TorsionSampler`
   :type seed:           :class:`int`
 
-  .. method:: Close(actual_positions,closed_positions)
+  .. method:: Close(actual_positions, closed_positions)
     
     :param actual_positions: Conformation to be closed.
     :param closed_positions: Closed conformation gets stored in here.
@@ -320,7 +361,8 @@ or simple stem superposition in case of terminal sampling.
 
   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. 
+  the stems given by the closer. There is no check for reasonable backbone
+  dihedral angles as it is the case for the :class:`CCDCloser`.
 
   :param n_stem:        Defining stem positions the closed conformation
                         should adapt.
@@ -331,7 +373,7 @@ or simple stem superposition in case of terminal sampling.
   :type n_stem:         :class:`ost.mol.ResidueHandle`
   :type c_stem:         :class:`ost.mol.ResidueHandle`
 
-  .. method:: Close(actual_positions,closed_positions)
+  .. method:: Close(actual_positions, closed_positions)
     
     :param actual_positions: Conformation to be closed.
     :param closed_positions: Closed conformation gets stored in here.
@@ -355,10 +397,10 @@ or simple stem superposition in case of terminal sampling.
   :param seed:          Seed for internal random generators.
 
   :type n_stem:         :class:`ost.mol.ResidueHandle`
-  :type n_stem:         :class:`ost.mol.ResidueHandle`
+  :type c_stem:         :class:`ost.mol.ResidueHandle`
   :type seed:           :class:`int`
 
-  .. method:: Close(actual_positions,closed_positions)
+  .. method:: Close(actual_positions, closed_positions)
     
     :param actual_positions: Conformation to be closed.
     :param closed_positions: Closed conformation gets stored in here.
@@ -371,26 +413,60 @@ or simple stem superposition in case of terminal sampling.
 
 .. class:: NTerminalCloser(c_stem)
 
-  The NTerminalCloser simply takes the conformation and closes by superposing
-  the c_stem with the desired positions.
+  The :class:`NTerminalCloser` simply takes the conformation and closes by 
+  superposing the c_stem with the desired positions.
 
   :param c_stem:        Defining stem positions the closed conformation should
                         adapt.
   :type c_stem:         :class:`ost.mol.ResidueHandle`
 
-  :returns:             Whether closing was successful
+
+  .. method:: Close(actual_positions, closed_positions)
+
+    :param actual_positions: Conformation to be closed (or in this case
+                             transformed in space).
+    :param closed_positions: Closed (transformed) conformation gets stored in 
+                             here.
+
+    :type actual_positions: :class:`~promod3.loop.BackboneList`
+    :type closed_positions: :class:`~promod3.loop.BackboneList`
+
+    :returns:           Whether closing was successful
 
 
 .. class:: CTerminalCloser(n_stem)
 
-  The CTerminalCloser simply takes the conformation and closes by superposing
-  the n_stem with the desired positions.
+  The :class:`CTerminalCloser` simply takes the conformation and closes by 
+  superposing the n_stem with the desired positions.
 
   :param n_stem:        Defining stem positions the closed conformation should
                         adapt.
   :type n_stem:         :class:`ost.mol.ResidueHandle`
 
-  :returns:             Whether closing was successful
+  .. method:: Close(actual_positions,closed_positions)
+
+    :param actual_positions: Conformation to be closed (or in this case
+                             transformed in space).
+    :param closed_positions: Closed (transformed) conformation gets stored in 
+                             here.
+
+    :type actual_positions: :class:`~promod3.loop.BackboneList`
+    :type closed_positions: :class:`~promod3.loop.BackboneList`
+
+    :returns:           Whether closing was successful
+
+
+.. class:: DeNovoCloser
+
+  In case of sampling a full stretch, you dont have external constraints. The 
+  closer has a rather boring job in this case.
+
+  .. method:: Close(actual_positions,closed_positions)
+
+    Does absolutely nothing, except copying over the coordinates from
+    *actual_positions* to *closed_positions* and return true.
+
+
 
         
 .. _mc-scorer-object:
@@ -399,10 +475,27 @@ Scorer Object
 --------------------------------------------------------------------------------
 
 The scorer asses a proposed conformation and are intended to return a pseudo
-energy, the lower the better.
+energy, the lower the better. You can either use the provided scorer or any
+object implementing the functionality defined in :class:`ScorerBase`. 
+
+
+.. class:: ScorerBase
 
+  Abstract base class defining the functions that must be implemented by any 
+  scorer.
+
+  .. method:: GetScore(bb_list)
 
-.. class:: LinearScorer(scorer, scorer_env, start_resnum, num_residues,
+    Takes coordinates and spits out a score given some internal structural 
+    environment.
+
+    :param bb_list:     Coordinates to be scored     
+    :type bb_list: :class:`promod3.loop.BackboneList`
+
+    :returns:           The score
+    :rtype:             :class:`float`
+
+.. class:: LinearScorer(scorer, scorer_env, start_resnum, num_residues,\
                         chain_idx, linear_weights)
 
   The LinearScorer allows to combine the scores available from
@@ -450,13 +543,31 @@ Cooler Object
 
 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.
+to their GetTemperature function. You can either use the provided cooler
+or any object implementing the functionality defined in 
+:class:`CoolerBase`.
+
+.. class:: CoolerBase
+
+  Abstract base class defining the functions that must be implemented by any 
+  cooler.
+
+  .. method:: GetTemperature()
+
+    :returns:           The Temperature
+    :rtype:             :class:`float`
+
+  .. method:: Reset()
+
+    Resets to original state, so a new Monte Carlo trajectory can be generated
+
 
 .. class:: ExponentialCooler(change_frequency, start_temperature, cooling_factor)
 
   The exponential cooler starts with a given *start_temperature* and counts the
-  calls to its GetTemperature function. According to the *change_frequency*, 
-  the returned temperature gets multiplied by the *cooling_factor*.
+  calls to its :meth:`GetTemperature` function. According to the 
+  *change_frequency*, the returned temperature gets multiplied by the 
+  *cooling_factor*.
 
   :param change_frequency: Frequency to change temperature
   :param start_temperature: temperature to start with
@@ -472,4 +583,5 @@ to their GetTemperature function.
 
   .. method:: Reset()
 
-    Sets current temperature back to *start_temperature*
+    Sets current temperature back to *start_temperature* and the 
+    internal counter to 0
diff --git a/doc/html/_sources/modelling/pipeline.txt b/doc/html/_sources/modelling/pipeline.txt
index 175b65c5d6554d15f76076e3bd3c530595a7cf64..54d86037d316ed87434fea7ae1cca2e3a2ae11d0 100644
--- a/doc/html/_sources/modelling/pipeline.txt
+++ b/doc/html/_sources/modelling/pipeline.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Modelling Pipeline
 ================================================================================
 
diff --git a/doc/html/_sources/modelling/sidechain_reconstruction.txt b/doc/html/_sources/modelling/sidechain_reconstruction.txt
index 72e93a0a96a3f793542c32062748295655c010b7..f6a076c6b780c809d729bf52882d7e7e1fc04cb0 100644
--- a/doc/html/_sources/modelling/sidechain_reconstruction.txt
+++ b/doc/html/_sources/modelling/sidechain_reconstruction.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Sidechain Reconstruction
 ================================================================================
 
@@ -144,9 +160,9 @@ SidechainReconstructor Class
     :param use_frm: If True, use flexible rotamer model, else rigid.
     :type use_frm:  :class:`bool`
     :param use_bbdep_lib: If True, use default backbone dependent rot. library
-                          (:meth:`Dunbrack <LoadDunbrackLib>`), else use
+                          (:meth:`LoadBBDepLib`), else use
                           backbone independent one
-                          (:meth:`Penultimate <LoadPenultimateLib>`).
+                          (:meth:`LoadLib`).
     :type use_bbdep_lib:  :class:`bool`
     :param rotamer_library: Custom rotamer library to be used.
     :type rotamer_library:  :class:`BBDepRotamerLib` / :class:`RotamerLib`
diff --git a/doc/html/_sources/portableIO.txt b/doc/html/_sources/portableIO.txt
index d7122a208d30e34f4f4e47ce1e0890fe0f1454ef..a548e3c86400f7e09a9c7cc65c9c2fd7de19e8ce 100644
--- a/doc/html/_sources/portableIO.txt
+++ b/doc/html/_sources/portableIO.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 .. _portableIO:
 
 Using Binary Files In |project|
@@ -387,9 +403,9 @@ The following binary files are currently in |project|:
 
 - module ``sidechain``:
 
-  - :file:`2010DunbrackLib.dat`
+  - :file:`bb_dep_lib.dat`
     (:class:`~promod3.sidechain.BBDepRotamerLib`)
-  - :file:`PenultimateLib.dat`
+  - :file:`lib.dat`
     (:class:`~promod3.sidechain.RotamerLib`)
 
 During the ``make`` process, portable versions of the files (stored in the
diff --git a/doc/html/_sources/references.txt b/doc/html/_sources/references.txt
new file mode 100644
index 0000000000000000000000000000000000000000..927de6ddbad6c032f0f760c17384e977d1ed31e9
--- /dev/null
+++ b/doc/html/_sources/references.txt
@@ -0,0 +1,82 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+References
+==========
+
+.. [biasini2013] 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.
+
+.. [canutescu2003] Canutescu AA and Dunbrack RL Jr. (2003). 
+                   Cyclic coordinate descent: A robotics algorithm for protein 
+                   loop closure. Protein Sci.
+
+.. [canutescu2003b] Canutescu AA, Shelenkov AA, Dunbrack RL Jr. (2003). 
+                    A graph-theory algorithm for rapid protein side-chain 
+                    prediction. Protein Sci.
+
+.. [coutsias2005] Coutsias EA, Seok C, Wester MJ, Dill KA (2005).
+                  Resultants and loop closure. International Journal of Quantum 
+                  Chemistry. 
+
+.. [chakravarty1999] Chakravarty S, Varadarajan R (1999). 
+                     Residue depth: a novel parameter for the analysis of 
+                     protein structure and stability. Structure.
+
+.. [davis2006] Davis IW, Arendall WB, Richardson DC, Richardson JS (2006).
+               The backrub motion: how protein backbone shrugs when a sidechain 
+               dances. Structure.
+
+.. [goldstein1994] Goldstein RF (1994). 
+                   Efficient rotamer elimination applied to protein side-chains 
+                   and related spin glasses. Biophys J.
+
+.. [Jones1999] Jones DT (1999). 
+               Protein secondary structure prediction based on position-specific 
+               scoring matrices. J. Mol. Biol. 
+
+.. [kabsch1983] Kabsch W, Sander C (1983). 
+                Dictionary of protein secondary structure: pattern recognition of 
+                hydrogen-bonded and geometrical features. Biopolymers.
+
+.. [krivov2009] Krivov GG, Shapovalov MV and Dunbrack RL Jr. (2009). 
+                Improved prediction of protein side-chain conformations with 
+                SCWRL4. Proteins.
+
+.. [leach1998] Leach AR, Lemon AP (1998). 
+               Exploring the conformational space of protein side chains using 
+               dead-end elimination and the A* algorithm. Proteins.
+
+.. [shapovalov2011] Shapovalov MV and Dunbrack RL Jr. (2011). 
+                    A smoothed backbone-dependent rotamer library for proteins 
+                    derived from adaptive kernel density estimates and 
+                    regressions. Structure.
+
+.. [soding2005] Söding J (2005). 
+                Protein homology detection by HMM-HMM comparison. 
+                Bioinformatics.
+
+.. [solis2006] Solis AD, Rackovsky S (2006). Improvement of statistical 
+               potentials and threading score functions using information 
+               maximization. Proteins. 
+
+.. [zhou2005] Zhou H, Zhou Y (2005). 
+              Fold Recognition by Combining Sequence Profiles Derived From 
+              Evolution and From Depth-Dependent Structural Alignment of 
+              Fragments. Proteins.
+
diff --git a/doc/html/_sources/scoring/all_atom_scorers.txt b/doc/html/_sources/scoring/all_atom_scorers.txt
index 0a1b39b1613522dd671df0b73b32e98dcaac55eb..bcb3cdc43ed0e78becf8a07467928571d60bf604 100644
--- a/doc/html/_sources/scoring/all_atom_scorers.txt
+++ b/doc/html/_sources/scoring/all_atom_scorers.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 All Atom Scorers
 ================================================================================
 
diff --git a/doc/html/_sources/scoring/backbone_score_env.txt b/doc/html/_sources/scoring/backbone_score_env.txt
index 25980a4d34ba90890e7686c87838fa8dcd0f1679..11ea33ce9e947a60b120cc82e658231249e48082 100644
--- a/doc/html/_sources/scoring/backbone_score_env.txt
+++ b/doc/html/_sources/scoring/backbone_score_env.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Backbone Score Environment
 ================================================================================
 
@@ -187,9 +203,9 @@ Pairwise function classes
 
   Inherits all functionality of :class:`PairwiseFunction`.
   Defines a constraint function. The score for a distance between *min_dist* and
-  *max_dist* is determined by liner interpolation assuming the first and last 
-  value exactly lying on *min_dist* ang *max_dist*. For distances outside the 
-  range defined by *min_dist* and *max_dist*, the score is 0.0.
+  *max_dist* is determined by linear interpolation assuming the first and last 
+  value exactly lying on *min_dist* and *max_dist*. For distances outside the 
+  range defined by *min_dist* and *max_dist*, the returned score is 0.0.
 
   :param min_dist:    Minimal distance to be considered
   :param max_dist:    Maximal distance to be considered
@@ -200,9 +216,6 @@ Pairwise function classes
   :type max_dist:     :class:`float`
   :type values:       :class:`list` of :class:`float`
 
-
-  :returns:           Index of added constraint definition
-
   :raises: :exc:`~exceptions.RuntimeError` if *min_dist* >= *max_dist* or when
            *min_dist* or *max_dist* are negative or when *values* contains no
            elements
@@ -211,7 +224,7 @@ Pairwise function classes
 
   Inherits all functionality of :class:`PairwiseFunction`.
   Defines a simple contact function. The score value is *score* if
-  distance < *max_dist* and 0 otherwise.
+  distance < *max_dist* and 0.0 otherwise.
 
   :param max_dist:    Maximal distance to be in contact
   :param score:       Value that gets returned if in contact
diff --git a/doc/html/_sources/scoring/backbone_scorers.txt b/doc/html/_sources/scoring/backbone_scorers.txt
index 55a07ec77cc2e0ebc0b619c90c4ebaf824e9531a..68a45cab6d736cc1963c245bb0c5cf1e0e140e08 100644
--- a/doc/html/_sources/scoring/backbone_scorers.txt
+++ b/doc/html/_sources/scoring/backbone_scorers.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Backbone Scorers
 ================================================================================
 
@@ -249,10 +265,10 @@ CBetaScorer class
   The scorer needs to be initialized either by loading a predefined scorer (e.g.
   :func:`LoadCBetaScorer`) or by setting all energies (see :meth:`SetEnergy`).
 
-  :param cutoff: Radius in which other cbeta atoms are counted.
+  :param cutoff: Radius in which other cbeta atoms are considered.
   :type cutoff:  :class:`float`
   :param bins: Number of equally sized bins to discretize distances (range
-               of [0,*cutoff*]).
+               of [0, *cutoff*]).
   :type bins:  :class:`int`
   :param seq_sep: Minimal separation in sequence two cbeta atoms must have to
                   be considered.
diff --git a/doc/html/_sources/scoring/index.txt b/doc/html/_sources/scoring/index.txt
index 983d6b5587c5f70fc9088e6bdac386567fef16c3..d21154f06951fcdb6bbbe1c11f329f69f24bd57c 100644
--- a/doc/html/_sources/scoring/index.txt
+++ b/doc/html/_sources/scoring/index.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.scoring` - Loop Scoring
 ================================================================================
 
@@ -7,7 +23,11 @@
 .. currentmodule:: promod3.scoring
 
 Tools and algorithms to score loops. The scoring system is split between an
-environment which contains model-specific data and scorers which evaluate loops.
+environment and scorers.
+Several scorers can be attached to the same environment containing the
+actual structural data of the current modelling problem.
+The environment is updated as the modelling proceeds and manages efficient
+spatial lookups to be used by the attached scorers.
 
 In this example, we load a structure, setup a score environment, link a few
 scorers to it and finally score some loops:
diff --git a/doc/html/_sources/scoring/other_scoring_functions.txt b/doc/html/_sources/scoring/other_scoring_functions.txt
index f505232e026655cdebf83d068269e805eb99fedd..80487531f986d6004e6764b8a8575be11b8bf6de 100644
--- a/doc/html/_sources/scoring/other_scoring_functions.txt
+++ b/doc/html/_sources/scoring/other_scoring_functions.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Other Scoring Functions
 ================================================================================
 
@@ -53,4 +69,3 @@ Scoring Functions from SCWRL3
 
 
 
-.. [canutescu2003b] Canutescu AA, Shelenkov AA, Dunbrack RL Jr. (2003). A graph-theory algorithm for rapid protein side-chain prediction. Protein Sci (2003).
diff --git a/doc/html/_sources/sidechain/disulfid.txt b/doc/html/_sources/sidechain/disulfid.txt
index 1cee3075640728b8c205c8bf9d9ff0128d6eeb9d..d078a6c5a65e20f2b4fc682f26a1e5b7853d6a92 100644
--- a/doc/html/_sources/sidechain/disulfid.txt
+++ b/doc/html/_sources/sidechain/disulfid.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Disulfid Bond Evaluation
 ================================================================================
 
diff --git a/doc/html/_sources/sidechain/frame.txt b/doc/html/_sources/sidechain/frame.txt
index d5e355915971ca7a0cd140036d366d9812f777e3..d8365f4a5316d2efebaaaafb50a87238b1b3ac2d 100644
--- a/doc/html/_sources/sidechain/frame.txt
+++ b/doc/html/_sources/sidechain/frame.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Frame
 ================================================================================
 
diff --git a/doc/html/_sources/sidechain/graph.txt b/doc/html/_sources/sidechain/graph.txt
index 118c72eabb98ed98acdc13eafcb6f3af4bbbb867..44606b2766a57c90bfa7f74d86cfc720ddf4ed71 100644
--- a/doc/html/_sources/sidechain/graph.txt
+++ b/doc/html/_sources/sidechain/graph.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Rotamer Graph
 ================================================================================
 
@@ -6,7 +22,7 @@ Rotamer Graph
 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
+overall solution has to be found. ProMod3 implements a
 :class:`promod3.core.GraphMinimizer` that allows to find solutions using
 tree decomposition, A* and Monte Carlo algorithms.
 
diff --git a/doc/html/_sources/sidechain/index.txt b/doc/html/_sources/sidechain/index.txt
index c0a24dce4ca854bcd16c85d29094dcd1ff799f71..aeac7212ce7a9232b81c95d2178cb32d07ff6595 100644
--- a/doc/html/_sources/sidechain/index.txt
+++ b/doc/html/_sources/sidechain/index.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.sidechain` - Sidechain Modelling
 ================================================================================
 
@@ -9,7 +25,7 @@
 Tools and algorithms to model sidechains given backbone coordinates. The full
 module is heavily based on SCWRL4 [krivov2009]_ . 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
+as well as a flexible model. Both models are implemented in ProMod3 and can be
 applied in flexible ways.
 
 The following code fragment shows an example of a basic sidechain reconstruction
@@ -37,4 +53,3 @@ Contents:
    subrotamer_optimizer
 
 
-.. [krivov2009] Krivov GG, Shapovalov MV and Dunbrack RL Jr. (2009). Improved prediction of protein side-chain conformations with SCWRL4. Proteins.
diff --git a/doc/html/_sources/sidechain/loading.txt b/doc/html/_sources/sidechain/loading.txt
index b795abc601ad9c617895d86a63316a14623727bf..83e9390b16d8b8726c23a58f79dfdbf0eff22790 100644
--- a/doc/html/_sources/sidechain/loading.txt
+++ b/doc/html/_sources/sidechain/loading.txt
@@ -1,32 +1,50 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Loading Rotamer Libraries
 ================================================================================
 
 .. currentmodule:: promod3.sidechain
 
-Since the PROMOD3 sidechain modelling algorithms are mainly designed after the 
-work of the Dunbrack lab [krivov2009]_ , their backbone dependent rotamer 
-library is probably the way to go. There exists a binary version of their 
-2010 libary [shapovalov2011]_ , that can
-directly be loaded. As an alternative, there is also a binary file containing
-the backbone independent Penultimate library [lovell2000]_ .
+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 [shapovalov2011]_. 
+You can request a licence `here <http://dunbrack.fccc.edu/bbdep2010/>`_
+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 :meth:`LoadBBDepLib` / :meth:`LoadLib`.
 
-.. method:: LoadDunbrackLib()
+.. method:: LoadBBDepLib()
 
-  Loads the 2010 backbone dependent rotamer library from the dunbrack lab.
-  The library has been generated using the ReadDunbrackFile function
-  using the file with smoothing factor 5 and nonrotameric dihedrals
-  sampled in 20 degree steps.
+  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.
 
-  :returns:             The requested library
+  :returns:             The requested Library
   :rtype:               :class:`BBDepRotamerLib`
 
 
-.. method:: LoadPenultimateLib()
+.. method:: LoadLib()
 
-  Loads the backbone independent Penultimate library. The values for the dihedral
-  angles are directly extracted from the publication without considering the
-  probabilities specific for helices/sheets. Due to no assigned standard
-  deviations, the flexible rotamer model won't produce meaningful results.
+  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.
 
   :returns:             The requested library
   :rtype:               :class:`RotamerLib`
@@ -36,8 +54,9 @@ the backbone independent Penultimate library [lovell2000]_ .
 
   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 nonrotameric sidechains 
-  cannot be read.
+  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
 
   :param filename:      Name of the file
   :type param:          :class:`str`
@@ -49,9 +68,3 @@ the backbone independent Penultimate library [lovell2000]_ .
 
   :returns: The read library
   :rtype:   :class:`BBDepRotamerLib`
-
-
-.. [shapovalov2011] Shapovalov MV and Dunbrack RL Jr. (2011). A smoothed backbone-dependent rotamer library for proteins derived from adaptive kernel density estimates and regressions. Structure.
-
-.. [lovell2000] Lovell SC, Word JM, Richardson JS, Richardson DC (2000). The penultimate rotamer library. Proteins.
-
diff --git a/doc/html/_sources/sidechain/rotamer.txt b/doc/html/_sources/sidechain/rotamer.txt
index 40f882320bb51f59b604a6ea7de7106d8582ca2a..30b3c7ca3b06602a1fbade371a3abdbc5a4e9029 100644
--- a/doc/html/_sources/sidechain/rotamer.txt
+++ b/doc/html/_sources/sidechain/rotamer.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Rotamers
 ================================================================================
 
@@ -7,7 +23,7 @@ A rotamer represents an amino acid sidechain and is basically a set of
 :class:`Particle` objects. There exist two types. The :class:`RRMRotamer` and 
 :class:`FRMRotamer`. 
 To gather all possible rotamers for one particular sidechain position,
-PROMOD3 offers the :class:`RRMRotamerGroup` and :class:`FRMRotamerGroup`.
+ProMod3 offers the :class:`RRMRotamerGroup` and :class:`FRMRotamerGroup`.
 Pairwise interactions between particles give raise to pairwise energies between 
 rotamers. Nevertheless, the energy calculation itself happens on the level
 of RotamerGroups and is mostly hidden away in the construction of the
@@ -264,7 +280,7 @@ Rotamers
 
   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
+  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.
 
diff --git a/doc/html/_sources/sidechain/rotamer_constructor.txt b/doc/html/_sources/sidechain/rotamer_constructor.txt
index 36c76a2c0857dc5bdbd5b3257e24e8b2bde5eaac..82f9626c2afedb57149fc5c55042ee13dcd8fcb8 100644
--- a/doc/html/_sources/sidechain/rotamer_constructor.txt
+++ b/doc/html/_sources/sidechain/rotamer_constructor.txt
@@ -1,10 +1,26 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Rotamer Constructor
 ================================================================================
 
 .. currentmodule:: promod3.sidechain
 
 Instead of creating rotamers by yourself, you can simply use the convenient
-functionality provided by PROMOD3
+functionality provided by ProMod3
 
 
 Constructing Rotamers and Frame Residues
diff --git a/doc/html/_sources/sidechain/rotamer_id.txt b/doc/html/_sources/sidechain/rotamer_id.txt
index 7eac7b85ca8de53c2ee27619089aa93a1907da66..746a51641352c7295152567a742eda8befedc803 100644
--- a/doc/html/_sources/sidechain/rotamer_id.txt
+++ b/doc/html/_sources/sidechain/rotamer_id.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 RotamerID
 ================================================================================
 
diff --git a/doc/html/_sources/sidechain/rotamer_lib.txt b/doc/html/_sources/sidechain/rotamer_lib.txt
index 21ca7e4e93a69de5fe2a556da1e1b66a128d4ab1..0069c3888b70f7ad37acbf984cd3c95470af9840 100644
--- a/doc/html/_sources/sidechain/rotamer_lib.txt
+++ b/doc/html/_sources/sidechain/rotamer_lib.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Rotamer Library
 ================================================================================
 
@@ -9,7 +25,7 @@ sidechain can completely be described in terms of dihedral angles. Preferred
 combinations of such dihedral angles are a result of steric properties and
 can be gathered in rotamer libraries. Different libraries exist in the field
 and their main difference is, whether the provided sidechain conformations 
-are dependent on their backbone or not. PROMOD3 provides you with a 
+are dependent on their backbone or not. ProMod3 provides you with a 
 :class:`BBDepRotamerLib` organizing rotamers for the different aminoacids 
 in equidistant phi/psi bins, as well as a simple :class:`RotamerLib`.
 Both libraries are containers for :class:`RotamerLibEntry` and are optimized
@@ -168,10 +184,12 @@ The Backbone Dependent Rotamer Library
     added to the library or can be interpolated.
     In the first option, *phi* and *psi* simply get transformed to the 
     according bin using following formalism: bin = round((angle + pi)/bin_size).
-    In case of interpolation, the chi angles and the according standard 
-    deviations of the rotamers get bilinearly interpolated using the 
-    corresponding rotamers with same configuration from the neighbouring bins. 
-    This behaviour can be controlled with the SetInterpolate function.
+    In case of interpolation, the chi angles of rotameric dihedral angles and the 
+    according standard deviations of the rotamers get bilinearly interpolated 
+    using the corresponding rotamers with same configuration from the 
+    neighbouring bins. No interplation is applied to non-rotameric dihedral
+    angles (chi2 in ASP, ASN, HIS, PHE, TRP, TYR; chi3 in GLU, GLN).
+    This behaviour can be controlled with :meth:`SetInterpolate`.
     The query function follows following strategies in case of 
     special *id* requests.
 
@@ -220,7 +238,8 @@ The Backbone Dependent Rotamer Library
 
   .. method:: SetInterpolate(interpolate)
 
-    :param interpolate: Controls behaviour when QueryLib function gets called
+    :param interpolate: Controls behaviour when :meth:`QueryLib` 
+                        gets called
 
     :type interpolate:  :class:`bool`    
 
@@ -302,9 +321,9 @@ functionalities.
 
     Creates a :class:`RotamerLibEntry` from the given *res*.
     The function tries to automatically identify the :class:`RotamerID` based
-    on the residue name. The probability gets set to zero and the standard 
-    deviations to 0. All not required chi angles with their corresponding 
-    standard deviations are NaN.
+    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.
 
     :param res:         Source of dihedral angles
 
@@ -418,4 +437,55 @@ functionalities.
     :returns:           :class:`bool` Whether both dihedrals are defined 
                         (not NaN) and within the specified threshold
 
+Rotamer Configurations  
+--------------------------------------------------------------------------------
+
+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.
+
+.. class:: DihedralConfiguration
+
+  Enumerates the possible sidechain dihedral configurations
+
+  .. hlist::
+    :columns: 1
+
+    * TRANS - Trans configuration (120 < angle < -120)
+    * GAUCHE_PLUS - Gauche+ configuration (0 < angle < 120)
+    * GAUCHE_MINUS - Gauce- configuration (-120 < angle < 0)
+    * NON_ROTAMERIC - Dihedral without SP3-SP3 bond
+    * INVALID - Invalid configuration, e.g. chi3 of ALA (doesnt exist...)
+
+.. method:: GetRotamericConfiguration(angle)
+
+  Evaluates the *angle* according to the ranges specified for 
+  :class:`DihedralConfiguration`. 
+
+  :param angle:         Angle to be evaluated
+  :type angle:          :class:`float`
+
+  :returns:             TRANS, GAUCHE_PLUS or GAUCHE_MINUS.
+                        INVALID if *angle* is NaN.
+
+.. method:: GetDihedralConfiguration(entry, id, dihedral_idx) 
+
+  Estimates configuration of a sidechain dihedral angle in a specific 
+  :class:`RotamerLibEntry` with the knowledge of its identity. This allows
+  to also return NON_ROTAMERIC (e.g. chi2 for ASN).
+
+  :param entry:         Sidechain dihedral angle comes from here
+  :param id:            Identity of rotamer
+  :param dihedral_idx:  Specifies angle (0 => chi1, ..., 3 => chi4)
+
+  :type entry:          :class:`RotamerLibEntry`
+  :type id:             :class:`RotamerID`
+  :type dihedral_idx:   :class:`int`
+
+  :returns:             Result of :meth:`GetRotamericConfiguration` if specified
+                        angle is Rotameric, NON_ROTAMERIC if specified angle is 
+                        valid and non rotameric, INVALID otherwise.
+                        
 
diff --git a/doc/html/_sources/sidechain/subrotamer_optimizer.txt b/doc/html/_sources/sidechain/subrotamer_optimizer.txt
index e4124466394f2bdc0248aa40056a590f5b556dcb..27315888d85598b7f8830e1241b5139c65af0db5 100644
--- a/doc/html/_sources/sidechain/subrotamer_optimizer.txt
+++ b/doc/html/_sources/sidechain/subrotamer_optimizer.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Subrotamer Optimization
 ================================================================================
 
diff --git a/doc/html/_sources/users.txt b/doc/html/_sources/users.txt
index 7764b3750cebd2a03cc65dffecb0f9170092cae9..3b11ff195d4009fcf10bea662e5f54367150d90c 100644
--- a/doc/html/_sources/users.txt
+++ b/doc/html/_sources/users.txt
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Documentation For Users
 =======================
 
@@ -12,6 +28,7 @@ Contents:
    gettingstarted
    actions/index
    buildsystem
+   container/index
    modelling/index
    sidechain/index
    scoring/index
diff --git a/doc/html/actions/index.html b/doc/html/actions/index.html
index f83632f45740b0b6ed02b2d4176abe058c068625..84c071d639ea16a4ecb45996fa791fd6451a80fe 100644
--- a/doc/html/actions/index.html
+++ b/doc/html/actions/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>ProMod3 Actions &mdash; ProMod3 1.2.0 documentation</title>
+    <title>ProMod3 Actions &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Documentation For Users" href="../users.html" />
     <link rel="next" title="Building ProMod3" href="../buildsystem.html" />
     <link rel="prev" title="Getting Started" href="../gettingstarted.html" />
@@ -52,7 +53,7 @@ you can type <code class="docutils literal"><span class="pre">pm</span> <span cl
 <p>You can run a full protein homology modelling pipeline from the command line
 with</p>
 <div class="highlight-console"><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>
-<span class="go">                 (-p &lt;FILE&gt; | -e &lt;FILE&gt;) [-o &lt;FILENAME&gt;]</span>
+<span class="go">                 (-p &lt;FILE&gt; | -e &lt;FILE&gt;) [-s &lt;FILE&gt;] [-o &lt;FILENAME&gt;]</span>
 </pre></div>
 </div>
 <p>Example usage:</p>
@@ -110,7 +111,7 @@ Example:</p>
 </li>
 </ul>
 <p>Structures can be provided in PDB (<code class="docutils literal"><span class="pre">-p</span></code>) or in any format readable by the
-<a class="reference external" href="https://www.openstructure.org/docs/dev/io/io/#ost.io.LoadEntity" title="(in OpenStructure v1.7.1)"><code class="xref py py-func docutils literal"><span class="pre">ost.io.LoadEntity()</span></code></a> method (<code class="docutils literal"><span class="pre">-e</span></code>). In the latter case, the format is
+<a class="reference external" href="https://www.openstructure.org/docs/dev/io/io/#ost.io.LoadEntity" title="(in OpenStructure v1.8.0)"><code class="xref py py-func docutils literal"><span class="pre">ost.io.LoadEntity()</span></code></a> method (<code class="docutils literal"><span class="pre">-e</span></code>). In the latter case, the format is
 chosen by file ending. Recognized File Extensions: <code class="docutils literal"><span class="pre">.ent</span></code>, <code class="docutils literal"><span class="pre">.pdb</span></code>,
 <code class="docutils literal"><span class="pre">.ent.gz</span></code>, <code class="docutils literal"><span class="pre">.pdb.gz</span></code>, <code class="docutils literal"><span class="pre">.cif</span></code>, <code class="docutils literal"><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
@@ -132,6 +133,25 @@ residue in the aligned sequence. Leading/trailing whitespaces of &lt;CHAINID&gt;
 </ul>
 <p>Example: <code class="docutils literal"><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"><span class="pre">A</span></code>,
 <code class="docutils literal"><span class="pre">B</span></code>, <code class="docutils literal"><span class="pre">C</span></code> and the template sequence is named <code class="docutils literal"><span class="pre">2jlp.A|55</span></code>.</p>
+<p>You can optionally specify sequence profiles to be added (<code class="docutils literal"><span class="pre">-s</span></code>) and linked
+to the corresponding target sequences. This has an impact on loop scoring with
+the database approach.
+The profiles can be provided as plain files or gzipped. Following file
+extensions are understood: .hhm, .hhm.gz, .pssm, .pssm.gz.
+Consider to use <a class="reference external" href="https://www.openstructure.org/docs/dev/bindings/hhblits/#ost.bindings.hhblits.HHblits.A3MToProfile" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><span class="pre">ost.bindings.hhblits.HHblits.A3MToProfile()</span></code></a> 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
+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>
+</ul>
+<p>Example usage:</p>
+<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> pm build-model -f aln.fasta -p tpl.pdb -s prof.hhm
+</pre></div>
+</div>
 <p>Possible exit codes of the action:</p>
 <ul class="simple">
 <li>0: all went well</li>
@@ -142,6 +162,59 @@ residue in the aligned sequence. Leading/trailing whitespaces of &lt;CHAINID&gt;
 <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"><span class="pre">promod3.core.pm3argparse.PM3ArgumentParser</span></code></a>)</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>
+<p>You can (re-)construct the sidechains in a model from the command line.</p>
+<div class="highlight-console"><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>
+<span class="go">                          [-r] [-i] [-s]</span>
+</pre></div>
+</div>
+<p>Example usage:</p>
+<div class="highlight-console"><div class="highlight"><pre><span></span><span class="gp">$</span> pm build-sidechains -p input.pdb
+</pre></div>
+</div>
+<p>This reads a structure stored in in.pdb, strips all sidechains,
+detects and models disulfid bonds and reconstructs all sidechains with the
+flexible rotamer model. The result is stored as <code class="file docutils literal"><span class="pre">out.pdb</span></code>.
+The output filename can be controlled with the <code class="docutils literal"><span class="pre">-o</span></code> flag.</p>
+<p>A structure can be provided in PDB (<code class="docutils literal"><span class="pre">-p</span></code>) or in any format readable by the
+<a class="reference external" href="https://www.openstructure.org/docs/dev/io/io/#ost.io.LoadEntity" title="(in OpenStructure v1.8.0)"><code class="xref py py-func docutils literal"><span class="pre">ost.io.LoadEntity()</span></code></a> method (<code class="docutils literal"><span class="pre">-e</span></code>). In the latter case, the format is
+chosen by file ending. Recognized File Extensions: <code class="docutils literal"><span class="pre">.ent</span></code>, <code class="docutils literal"><span class="pre">.pdb</span></code>,
+<code class="docutils literal"><span class="pre">.ent.gz</span></code>, <code class="docutils literal"><span class="pre">.pdb.gz</span></code>, <code class="docutils literal"><span class="pre">.cif</span></code>, <code class="docutils literal"><span class="pre">.cif.gz</span></code>.</p>
+<p>Several flags control the modelling behaviour:</p>
+<dl class="option">
+<dt id="cmdoption-k">
+<span id="cmdoption--keep-sidechains"></span><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>
+<dd><p>Keep existing sidechains.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-n">
+<span id="cmdoption--no-disulfids"></span><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>
+<dd><p>Do not build disulfid bonds before sidechain optimization</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-r">
+<span id="cmdoption--rigid-rotamers"></span><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>
+<dd><p>Do not use rotamers with subrotamers</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-i">
+<span id="cmdoption--backbone-independent"></span><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>
+<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"><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"><span class="pre">promod3.sidechain.LoadBBDepLib()</span></code></a>)</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-s">
+<span id="cmdoption--no-subrotamer-optimization"></span><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>
+<dd><p>Dont do subrotamer optimization if flexible rotamer model is used</p>
+</dd></dl>
+
 </div>
 </div>
 
@@ -155,6 +228,7 @@ residue in the aligned sequence. Leading/trailing whitespaces of &lt;CHAINID&gt;
   <ul>
 <li><a class="reference internal" href="#">ProMod3 Actions</a><ul>
 <li><a class="reference internal" href="#building-models">Building models</a></li>
+<li><a class="reference internal" href="#sidechain-modelling">Sidechain Modelling</a></li>
 </ul>
 </li>
 </ul>
@@ -191,7 +265,7 @@ residue in the aligned sequence. Leading/trailing whitespaces of &lt;CHAINID&gt;
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/actions/index_dev.html b/doc/html/actions/index_dev.html
index 7a72c1a6616b45888b696930be029d8e2cb467f2..a0e99aa96c64327e2f9ef87b6f20d146553846cc 100644
--- a/doc/html/actions/index_dev.html
+++ b/doc/html/actions/index_dev.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>test_actions - Testing Actions &mdash; ProMod3 1.2.0 documentation</title>
+    <title>test_actions - Testing Actions &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Documentation For Developers" href="../developers.html" />
     <link rel="next" title="ProMod3‘s Share Of CMake" href="../cmake/index.html" />
     <link rel="prev" title="Contributing" href="../contributing.html" />
@@ -193,7 +194,7 @@ 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>&#8216;s <a class="reference external" href="https://www.openstructure.org/docs/dev/base/testutils/#module-ost.testutils" title="(in OpenStructure v1.7.1)"><code class="xref py py-mod docutils literal"><span class="pre">ost.testutils</span></code></a> and Python&#8216;s
+<p>In ProMod3, unit tests are run via <a class="reference external" href="https://www.OpenStructure.org">OST</a>&#8216;s <a class="reference external" href="https://www.openstructure.org/docs/dev/base/testutils/#module-ost.testutils" title="(in OpenStructure v1.8.0)"><code class="xref py py-mod docutils literal"><span class="pre">ost.testutils</span></code></a> and Python&#8216;s
 <a class="reference external" href="https://docs.python.org/2.7/library/unittest.html#unittest.TestCase" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">unittest.TestCase</span></code></a>. Those are called when the test module is executed
 as a script:</p>
 <div class="highlight-default"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>13
@@ -410,7 +411,7 @@ file (also complains if a directory is found instead).</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/buildsystem.html b/doc/html/buildsystem.html
index 05f730f28a2e8349dffce5b4b7a0fcbfb68a61a0..98547d3d3af494f637315ee884317ecf466bbbea 100644
--- a/doc/html/buildsystem.html
+++ b/doc/html/buildsystem.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Building ProMod3 &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Building ProMod3 &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,9 +23,10 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
     <link rel="up" title="Documentation For Users" href="users.html" />
-    <link rel="next" title="modelling - Protein Modelling" href="modelling/index.html" />
+    <link rel="next" title="ProMod3 and Containers" href="container/index.html" />
     <link rel="prev" title="ProMod3 Actions" href="actions/index.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
@@ -45,16 +46,14 @@
 <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>
-<p>ProMod3 is build on top of <a class="reference external" href="https://www.OpenStructure.org">OpenStructure</a> (OST), requiring at least version
-1.7. OST must be configured and compiled with <code class="docutils literal"><span class="pre">ENABLE_MM=1</span></code> to use <a class="reference external" href="http://openmm.org">OpenMM</a>.
-To create the build system, <a class="reference external" href="https://cmake.org/">CMake</a> is required in version
-2.8.7 or higher. <a class="reference external" href="https://www.python.org/">Python</a> works well from version 2.7. For OST and the
-C++ bit of ProMod3, <a class="reference external" href="https://www.boost.org/">Boost</a> is required in version 1.53.0 (the same as
-used for OST). Also <a class="reference external" href="http://eigen.tuxfamily.org/index.php?title=Main_Page">Eigen 3</a> is needed. To build
-documentation, <a class="reference external" href="http://sphinx-doc.org/">Sphinx</a> 1.2b1 is required.</p>
+<p>ProMod3 is build on top of <a class="reference external" href="https://www.OpenStructure.org">OpenStructure</a> (OST), requiring at least version 1.8.
+OST must be configured and compiled with <code class="docutils literal"><span class="pre">ENABLE_MM=1</span></code> to use <a class="reference external" href="http://openmm.org">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 required.</p>
 <p>The currently preferred versions are:</p>
 <ul class="simple">
-<li><a class="reference external" href="https://www.OpenStructure.org">OST</a> 1.7</li>
+<li><a class="reference external" href="https://www.OpenStructure.org">OST</a> 1.9</li>
 <li><a class="reference external" href="http://openmm.org">OpenMM</a> 7.1.1</li>
 <li><a class="reference external" href="https://cmake.org/">CMake</a> 2.8.12</li>
 <li><a class="reference external" href="https://www.python.org/">Python</a> 2.7.5</li>
@@ -177,7 +176,7 @@ safely delete the whole source folder.</p>
   <li><a href="index.html">Documentation overview</a><ul>
   <li><a href="users.html">Documentation For Users</a><ul>
       <li>Previous: <a href="actions/index.html" title="previous chapter">ProMod3 Actions</a></li>
-      <li>Next: <a href="modelling/index.html" title="next chapter"><code class="docutils literal"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+      <li>Next: <a href="container/index.html" title="next chapter">ProMod3 and Containers</a></li>
   </ul></li>
   </ul></li>
 </ul>
@@ -204,7 +203,7 @@ safely delete the whole source folder.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/changelog.html b/doc/html/changelog.html
index 776b517f5d8af27418df83b927924c2b327d2a65..460b1c777626dfb68d4c125b3c815c2c07d80afa 100644
--- a/doc/html/changelog.html
+++ b/doc/html/changelog.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Changelog &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Changelog &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,8 +23,9 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
-    <link rel="prev" title="Using Binary Files In ProMod3" href="portableIO.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
+    <link rel="prev" title="References" href="references.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
@@ -41,6 +42,26 @@
             
   <div class="section" id="changelog">
 <h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
+<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>
+<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
+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
+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>
+</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>
 <ul class="simple">
@@ -111,6 +132,7 @@ selected loops, reconstruct hydrogens and minimize energy with MM</li>
   <h3><a href="index.html">Table Of Contents</a></h3>
   <ul>
 <li><a class="reference internal" href="#">Changelog</a><ul>
+<li><a class="reference internal" href="#release-1-3-0">Release 1.3.0</a></li>
 <li><a class="reference internal" href="#release-1-2-0">Release 1.2.0</a></li>
 <li><a class="reference internal" href="#release-1-1-0">Release 1.1.0</a></li>
 <li><a class="reference internal" href="#release-1-0">Release 1.0</a></li>
@@ -121,7 +143,7 @@ selected loops, reconstruct hydrogens and minimize energy with MM</li>
 <h3>Related Topics</h3>
 <ul>
   <li><a href="index.html">Documentation overview</a><ul>
-      <li>Previous: <a href="portableIO.html" title="previous chapter">Using Binary Files In ProMod3</a></li>
+      <li>Previous: <a href="references.html" title="previous chapter">References</a></li>
   </ul></li>
 </ul>
 </div>
@@ -147,7 +169,7 @@ selected loops, reconstruct hydrogens and minimize energy with MM</li>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/cmake/index.html b/doc/html/cmake/index.html
index f80cc16828502e7b936f090bbb38cd803d3b88ee..a53376df30cd861071eff20559be430bf5902a0d 100644
--- a/doc/html/cmake/index.html
+++ b/doc/html/cmake/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>ProMod3‘s Share Of CMake &mdash; ProMod3 1.2.0 documentation</title>
+    <title>ProMod3‘s Share Of CMake &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Documentation For Developers" href="../developers.html" />
     <link rel="next" title="Using Binary Files In ProMod3" href="../portableIO.html" />
     <link rel="prev" title="test_actions - Testing Actions" href="../actions/index_dev.html" />
@@ -372,7 +373,7 @@ target has to be created <strong>before</strong> any action may be attached to i
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/container/docker.html b/doc/html/container/docker.html
new file mode 100644
index 0000000000000000000000000000000000000000..d744acd6dcb4e38f5f3cce1f73137aac7f377f83
--- /dev/null
+++ b/doc/html/container/docker.html
@@ -0,0 +1,188 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Docker &mdash; ProMod3 1.3.0 documentation</title>
+    
+    <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../',
+        VERSION:     '1.3.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../_static/jquery.js"></script>
+    <script type="text/javascript" src="../_static/underscore.js"></script>
+    <script type="text/javascript" src="../_static/doctools.js"></script>
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
+    <link rel="up" title="ProMod3 and Containers" href="index.html" />
+    <link rel="next" title="Singularity" href="singularity.html" />
+    <link rel="prev" title="ProMod3 and Containers" href="index.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 role="document">
+  
+
+    <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="build-docker-image">
+<h2>Build Docker Image<a class="headerlink" href="#build-docker-image" title="Permalink to this headline">¶</a></h2>
+<p>In order to build the image:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>sudo docker build --tag &lt;IMAGE_NAME&gt; -f Dockerfile &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-ost-pm">
+<h2>Run scripts and actions with OST/PM<a class="headerlink" href="#run-scripts-and-actions-with-ost-pm" title="Permalink to this headline">¶</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"><div class="highlight"><pre><span></span>sudo docker run --rm -v /home/&lt;USER&gt;:/home &lt;IMAGE_NAME&gt; pm script.py pdbs/struct.pdb
+</pre></div>
+</div>
+<p>or with absolute paths:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>sudo docker run --rm -v /home/&lt;USER&gt;:/home &lt;IMAGE_NAME&gt; pm /home/script.py /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"><div class="highlight"><pre><span></span>sudo docker run --rm -v <span class="k">$(</span><span class="nb">pwd</span><span class="k">)</span>:/home &lt;IMAGE_NAME&gt; pm script.py 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/dev/conop/compoundlib/#ost.conop.CompoundLib" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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
+information for the rule-based processor.</p>
+<p>The compound library is generated with the components.cif dictionary provided by
+the PDB. As the PDB updates regularly, the compound library shipped with the
+container is quickly outdated. For most use cases, this is not problematic.
+However, if you rely on correct connectivity information of the latest and
+greatest compounds, you have to keep the compound library up to date manually.</p>
+<p>The suggested way of doing this is to generate your own compound library and
+mount it into the container where the original compound lib resides to
+override it.</p>
+<p>The simplest way to create a compound library is to use the
+<strong class="program">chemdict_tool</strong> available in the container. The program allows you
+to import the chemical description of the compounds from a MMCIF dictionary,
+e.g. the components.cif dictionary provided by the PDB.
+The latest dictionary can be downloaded from the
+<a class="reference external" href="http://www.wwpdb.org/ccd.html">wwPDB site</a>.
+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"><div class="highlight"><pre><span></span>sudo docker run --rm -v <span class="k">$(</span><span class="nb">pwd</span><span class="k">)</span>:/home &lt;IMAGE_NAME&gt; chemdict_tool create components.cif.gz 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"><div class="highlight"><pre><span></span>sudo docker run --rm -v /home/&lt;USER&gt;:/home -v &lt;COMPLIB_DIR_LOCALHOST&gt;:&lt;COMPLIB_DIR_CONTAINER&gt; &lt;IMAGE_NAME&gt; pm script.py pdbs/struct.pdb
+</pre></div>
+</div>
+<p>with COMPLIB_DIR_LOCALHOST being the directory that contains the newly generated
+compound library with name compounds.chemlib and COMPLIB_DIR_CONTAINER the
+according path in the container.
+If you didnt change anything in the Dockerfile, the latter should be
+/usr/local/share/ost_complib</p>
+<p>You can check whether the default lib is successfully overriden by looking at the
+output when running a Python script with following code in the container:</p>
+<div class="highlight-python"><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="n">lib</span><span class="o">.</span><span class="n">GetCreationDate</span><span class="p">()</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="../index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Docker</a><ul>
+<li><a class="reference internal" href="#build-docker-image">Build Docker Image</a></li>
+<li><a class="reference internal" href="#run-scripts-and-actions-with-ost-pm">Run scripts and actions with OST/PM</a></li>
+<li><a class="reference internal" href="#the-compound-library">The Compound Library</a></li>
+</ul>
+</li>
+</ul>
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+  <li><a href="../index.html">Documentation overview</a><ul>
+  <li><a href="../users.html">Documentation For Users</a><ul>
+  <li><a href="index.html">ProMod3 and Containers</a><ul>
+      <li>Previous: <a href="index.html" title="previous chapter">ProMod3 and Containers</a></li>
+      <li>Next: <a href="singularity.html" title="next chapter">Singularity</a></li>
+  </ul></li>
+  </ul></li>
+  </ul></li>
+</ul>
+</div>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="../_sources/container/docker.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="../search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      
+      |
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      
+      |
+      <a href="../_sources/container/docker.txt"
+          rel="nofollow">Page source</a>
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/doc/html/container/index.html b/doc/html/container/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..43bb816fec83eb168a32729db87046c27bc72834
--- /dev/null
+++ b/doc/html/container/index.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>ProMod3 and Containers &mdash; ProMod3 1.3.0 documentation</title>
+    
+    <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../',
+        VERSION:     '1.3.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../_static/jquery.js"></script>
+    <script type="text/javascript" src="../_static/underscore.js"></script>
+    <script type="text/javascript" src="../_static/doctools.js"></script>
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
+    <link rel="up" title="Documentation For Users" href="../users.html" />
+    <link rel="next" title="Docker" href="docker.html" />
+    <link rel="prev" title="Building ProMod3" href="../buildsystem.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 role="document">
+  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body" role="main">
+            
+  <div class="section" id="promod3-and-containers">
+<h1>ProMod3 and Containers<a class="headerlink" href="#promod3-and-containers" title="Permalink to this headline">¶</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
+some sugar on top.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="docker.html">Docker</a></li>
+<li class="toctree-l1"><a class="reference internal" href="singularity.html">Singularity</a></li>
+</ul>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper"><div class="relations">
+<h3>Related Topics</h3>
+<ul>
+  <li><a href="../index.html">Documentation overview</a><ul>
+  <li><a href="../users.html">Documentation For Users</a><ul>
+      <li>Previous: <a href="../buildsystem.html" title="previous chapter">Building ProMod3</a></li>
+      <li>Next: <a href="docker.html" title="next chapter">Docker</a></li>
+  </ul></li>
+  </ul></li>
+</ul>
+</div>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="../_sources/container/index.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="../search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      
+      |
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      
+      |
+      <a href="../_sources/container/index.txt"
+          rel="nofollow">Page source</a>
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/doc/html/container/singularity.html b/doc/html/container/singularity.html
new file mode 100644
index 0000000000000000000000000000000000000000..276529329e0e0a577e68aeb24cb562b08b701a6f
--- /dev/null
+++ b/doc/html/container/singularity.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Singularity &mdash; ProMod3 1.3.0 documentation</title>
+    
+    <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../',
+        VERSION:     '1.3.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../_static/jquery.js"></script>
+    <script type="text/javascript" src="../_static/underscore.js"></script>
+    <script type="text/javascript" src="../_static/doctools.js"></script>
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
+    <link rel="up" title="ProMod3 and Containers" href="index.html" />
+    <link rel="next" title="modelling - Protein Modelling" href="../modelling/index.html" />
+    <link rel="prev" title="Docker" href="docker.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 role="document">
+  
+
+    <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>
+<p>We do not provide a &#8220;standalone&#8221; Singularity image, but rather bootstrap from a
+Docker image.</p>
+<div class="section" id="build-singularity-image">
+<h2>Build Singularity Image<a class="headerlink" href="#build-singularity-image" title="Permalink to this headline">¶</a></h2>
+<p>You can pull the Docker image to start with from two different sources.</p>
+<p>Option One:</p>
+<p>You built the Docker image locally and want to use it as a starting point. For
+this we have to fire up a local Docker registry and pull from there. Let&#8217;s
+assume you built the Docker image with tag promod.</p>
+<p>Fire the local Registry and push the promod image to it:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>sudo docker run -d -p 5000:5000 --restart<span class="o">=</span>always --name registry registry:2
+sudo docker tag promod localhost:5000/promod
+sudo docker push localhost:5000/promod
+</pre></div>
+</div>
+<p>Make sure, that on top of your Singularity recipe you have something like:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>BootStrap: docker
+Registry: http://localhost:5000
+Namespace:
+From: promod:latest
+</pre></div>
+</div>
+<p>and build the image with:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>sudo <span class="nv">SINGULARITY_NOHTTPS</span><span class="o">=</span><span class="m">1</span> singularity build promod.img Singularity
+</pre></div>
+</div>
+<p>Option Two:</p>
+<p>You pull a Docker image from an external Docker registry.
+Fill in a lot of words as soon as its on Dockerhub. Many words. The best words.</p>
+<p>and build the image with:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>sudo singularity build promod.img Singularity
+</pre></div>
+</div>
+</div>
+<div class="section" id="run-scripts-and-actions-with-ost-pm">
+<h2>Run scripts and actions with OST/PM<a class="headerlink" href="#run-scripts-and-actions-with-ost-pm" title="Permalink to this headline">¶</a></h2>
+<p>The created container can run the ost, pm or chemdict_tool executables.
+For convenience, a jupyter notebook playground with OST, ProMod3 and nglview is
+available.</p>
+<p>To run ost, pm or chemdict_tool executables, use the exec command.
+E.g. to run scripts with pm:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>singularity <span class="nb">exec</span> &lt;IMAGE&gt; pm my_script.py <span class="o">[</span>options<span class="o">]</span>
+</pre></div>
+</div>
+<p>The jupyter notebook is setup as an app in the container.
+To get help on how to run it:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>singularity run --app Notebook &lt;IMAGE&gt; --help
+</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>
+<p>You&#8217;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>
+<p>The same trick of mounting an up to date compound library from the local host into
+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"><div class="highlight"><pre><span></span>singularity <span class="nb">exec</span> &lt;IMAGE_NAME&gt; chemdict_tool create components.cif.gz compounds.chemlib
+</pre></div>
+</div>
+<p>Run some script with an updated compound library from localhost:</p>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>singularity <span class="nb">exec</span> -B &lt;COMPLIB_DIR_LOCALHOST&gt;:&lt;COMPLIB_DIR_CONTAINER&gt; &lt;IMAGE_NAME&gt; pm my_script.py
+</pre></div>
+</div>
+<p>Same as for the Docker, if you didn&#8217;t meddle with the original Dockerfile,
+&lt;COMPLIB_DIR_CONTAINER&gt; should be /usr/local/share/ost_complib.
+&lt;COMPLIB_DIR_LOCALHOST&gt; is the directory that contains the compound lib with the
+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>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="../index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Singularity</a><ul>
+<li><a class="reference internal" href="#build-singularity-image">Build Singularity Image</a></li>
+<li><a class="reference internal" href="#run-scripts-and-actions-with-ost-pm">Run scripts and actions with OST/PM</a></li>
+<li><a class="reference internal" href="#the-compound-library">The Compound Library</a></li>
+</ul>
+</li>
+</ul>
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+  <li><a href="../index.html">Documentation overview</a><ul>
+  <li><a href="../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"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+  </ul></li>
+  </ul></li>
+  </ul></li>
+</ul>
+</div>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="../_sources/container/singularity.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="../search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      
+      |
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      
+      |
+      <a href="../_sources/container/singularity.txt"
+          rel="nofollow">Page source</a>
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/doc/html/contributing.html b/doc/html/contributing.html
index 069ec304aa26f141410c4fe3bfd06b0b7624cbce..aeb7bd45f118da8573b28eb010866d3abb3bebb7 100644
--- a/doc/html/contributing.html
+++ b/doc/html/contributing.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Contributing &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Contributing &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
     <link rel="up" title="Documentation For Developers" href="developers.html" />
     <link rel="next" title="test_actions - Testing Actions" href="actions/index_dev.html" />
     <link rel="prev" title="ProMod3 Setup" href="dev_setup.html" />
@@ -518,21 +519,18 @@ needed to create the actual documentation is done by CMake and its makefiles.
 Hence, the <code class="file docutils literal"><span class="pre">CMakeLists.txt</span></code> of the <code class="file docutils literal"><span class="pre">doc</span></code> directory of a module is
 crucial. For documentation which does not relate to a particular module, the
 repository comes with a top-level <code class="file docutils literal"><span class="pre">doc</span></code> directory.</p>
-<p>While you should not spend to much time thinking about how to format
-documentation, here is a helpful list of standard formatters:
-<a class="reference external" href="http://sphinx-doc.org/en/stable/markup/inline.html">http://sphinx-doc.org/en/stable/markup/inline.html</a></p>
 <p>If you write new functionality for ProMod3, or fix bugs, feel free to extend
 the <code class="file docutils literal"><span class="pre">CHANGELOG</span></code> file. It will be automatically pulled into the
 documentation.</p>
 <p>It is highly recommended to add code examples with your documentation. For that
-purpose, you should write a fully runnable script, which is to be placed in the
+purpose, you should write a fully runnable script which is to be placed in the
 <code class="file docutils literal"><span class="pre">doc/tests/scripts</span></code> directory. The script is to be runnable from within
 the <code class="file docutils literal"><span class="pre">doc/tests</span></code> directory as <code class="docutils literal"><span class="pre">pm</span> <span class="pre">SCRIPTPATH</span></code> and may use data stored in
 the <code class="file docutils literal"><span class="pre">doc/tests/data</span></code> directory. The script and any data needed by it, must
 then be referenced in the <code class="file docutils literal"><span class="pre">doc/tests/CMakeLists.txt</span></code> file. Afterwards,
-they can be included in the documentation using the
-<a class="reference external" href="http://www.sphinx-doc.org/en/stable/markup/code.html#includes">literalinclude</a>
-directive. For instance, if you add a new example code <code class="file docutils literal"><span class="pre">loop_main.py</span></code>,
+they can be included in the documentation using the literalinclude
+directive.
+For instance, if you add a new example code <code class="file docutils literal"><span class="pre">loop_main.py</span></code>,
 you would add it in your module documentation as follows:</p>
 <div class="highlight-rest"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="ow">literalinclude</span><span class="p">::</span> ../../../tests/doc/scripts/loop_main.py
 </pre></div>
@@ -648,7 +646,7 @@ contributions to web pages using ProMod3.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/core/geometry.html b/doc/html/core/geometry.html
index 3cdcb509f583cc24facb60b9bcd5c19e7db01f34..236cc3934d3aaa79ffb708540fc64c1382caa561 100644
--- a/doc/html/core/geometry.html
+++ b/doc/html/core/geometry.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Geometry functions &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Geometry functions &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="core - ProMod3 Core Functionality" href="index.html" />
     <link rel="next" title="Runtime profiling" href="runtime_profiling.html" />
     <link rel="prev" title="helper - Shared Functionality For the Everything" href="helper.html" />
@@ -55,14 +56,14 @@
 <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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Gromacs rule</li>
 <li><strong>number</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Desired number of positions (max. 3)</li>
-<li><strong>anchors</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Anchor positions (max. 4)</li>
+<li><strong>anchors</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Anchor positions (max. 4)</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"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></p>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></p>
 </td>
 </tr>
 </tbody>
@@ -78,16 +79,16 @@
 <col 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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of C atom</li>
-<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of nitrogen atom</li>
-<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of C-alpha atom</li>
+<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of C atom</li>
+<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of nitrogen atom</li>
+<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of C-alpha atom</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"><code class="xref py py-class docutils literal"><span class="pre">tuple</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></p>
+<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">tuple</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></p>
 </td>
 </tr>
 </tbody>
@@ -104,9 +105,9 @@ dihedral (A-B-C-D).</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>A</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of atom A</li>
-<li><strong>B</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of atom B</li>
-<li><strong>C</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of atom C</li>
+<li><strong>A</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of atom A</li>
+<li><strong>B</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of atom B</li>
+<li><strong>C</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of atom C</li>
 <li><strong>bond_length</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Bond length (C-D)</li>
 <li><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Angle (B-C-D)</li>
 <li><strong>dihedral</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Dihedral (A-B-C-D)</li>
@@ -116,7 +117,7 @@ dihedral (A-B-C-D).</p>
 <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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></p>
+<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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></p>
 </td>
 </tr>
 </tbody>
@@ -127,22 +128,22 @@ dihedral (A-B-C-D).</p>
 <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>
 <dd><p>Constructs position of C-beta atom given the positions of the backbone nitrogen,
-C-alpha and c atoms.</p>
+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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of nitrogen atom</li>
-<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of C-alpha atom</li>
-<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of C atom</li>
+<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of nitrogen atom</li>
+<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of C-alpha atom</li>
+<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Position of C atom</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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></p>
+<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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></p>
 </td>
 </tr>
 </tbody>
@@ -159,8 +160,8 @@ around a line defined by <cite>axis</cite> and <cite>anchor</cite>.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>axis</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Axis of rotation</li>
-<li><strong>anchor</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Anchor for rotation</li>
+<li><strong>axis</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Axis of rotation</li>
+<li><strong>anchor</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Anchor for rotation</li>
 <li><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Angle (in radians in range [-pi,pi]) of rotation</li>
 </ul>
 </td>
@@ -168,7 +169,7 @@ around a line defined by <cite>axis</cite> and <cite>anchor</cite>.</p>
 <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/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Mat4</span></code></a></p>
+<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/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Mat4</span></code></a></p>
 </td>
 </tr>
 </tbody>
@@ -185,7 +186,7 @@ going through the origin.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>axis</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Axis of rotation</li>
+<li><strong>axis</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Axis of rotation</li>
 <li><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Angle (in radians in range [-pi,pi]) of rotation</li>
 </ul>
 </td>
@@ -193,7 +194,7 @@ going through the origin.</p>
 <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/dev/geom/mat/#ost.geom.Mat3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Mat3</span></code></a></p>
+<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/dev/geom/mat/#ost.geom.Mat3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Mat3</span></code></a></p>
 </td>
 </tr>
 </tbody>
@@ -210,7 +211,7 @@ going through the origin.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue handle from which to extract N, CA and C coordinates.</td>
+<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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.RuntimeError" title="(in Python v2.7)"><code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code></a> if <em>res</em> does not contain N, CA and C
 atoms.</td>
@@ -229,7 +230,7 @@ atoms.</td>
 <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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></td>
+<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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -346,7 +347,7 @@ angles and one distance and is used in the fragment database for fast lookups.</
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/core/graph_minimizer.html b/doc/html/core/graph_minimizer.html
index b99d92a070ce4ed9faef1242be310ea4eb2a9fe7..751d2f810451874742d7d44dd31528e9d19927de 100644
--- a/doc/html/core/graph_minimizer.html
+++ b/doc/html/core/graph_minimizer.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Graph Minimizer &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Graph Minimizer &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="core - ProMod3 Core Functionality" href="index.html" />
     <link rel="next" title="SetCompoundsChemlib()" href="setcompoundschemlib.html" />
     <link rel="prev" title="Runtime profiling" href="runtime_profiling.html" />
@@ -44,13 +45,13 @@
   <div class="section" id="graph-minimizer">
 <h1>Graph Minimizer<a class="headerlink" href="#graph-minimizer" title="Permalink to this headline">¶</a></h1>
 <p>The graph minimizer solves an energy minimization problem where we have n
-nodes <span class="math">N_i</span>, with each node having several possible solutions.
-Every solution has a self energy <span class="math">E_{self}</span> and pairwise energies in between nodes
+nodes <span class="math">\(N_i\)</span>, with each node having several possible solutions.
+Every solution has a self energy <span class="math">\(E_{self}\)</span> and pairwise energies in between nodes
 are possible. The goal is to select exactly one solution per node to obtain
-a set <span class="math">X=[x_1, x_2, ..., x_n]</span> that minimizes:</p>
+a set <span class="math">\(X=[x_1, x_2, ..., x_n]\)</span> that minimizes:</p>
 <div class="math">
-<p><span class="math">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])</span></p>
-</div><dl class="class">
+\[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">
@@ -111,7 +112,7 @@ inconsistent with the number of solutions in the specified nodes.</p>
 <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>
 <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="#goldstein1994" id="id1">[goldstein1994]</a>.</p>
+<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" />
@@ -138,7 +139,7 @@ a solution must be dominated by at least this <strong>e_cut</strong>.</li>
 <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>
 <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="../sidechain/index.html#krivov2009" id="id2">[krivov2009]</a>.</p>
+<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" />
@@ -202,7 +203,7 @@ 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="../sidechain/index.html#krivov2009" id="id3">[krivov2009]</a>.</p>
+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" />
@@ -241,7 +242,7 @@ 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="#leach1998" id="id4">[leach1998]</a>.</p>
+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" />
@@ -277,7 +278,7 @@ of that random selection relative to the current configuration is
 estimated. If the difference in energy is negative, the step is
 accepted. If not, the step is accepted with a probability given by
 the temperature dependent Metropolis criterion
-<span class="math">exp^{\left(\frac{-e_{diff}}{T}\right)}</span>.
+<span class="math">\(exp^{\left(\frac{-e_{diff}}{T}\right)}\)</span>.
 The temperature for every run starts with <strong>start_temperature</strong>
 and is multiplied every <strong>change_frequency</strong> steps with <strong>cooling_factor</strong>
 to achieve a simulated annealing effect.
@@ -330,18 +331,6 @@ The second element is the according energy value.</td>
 
 </dd></dl>
 
-<table class="docutils citation" frame="void" id="goldstein1994" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id1">[goldstein1994]</a></td><td>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="leach1998" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id4">[leach1998]</a></td><td>Leach AR, Lemon AP (1998). Explring the conformational space of prootein side chains using dead-end elimination and the A* algorithm. Proteins.</td></tr>
-</tbody>
-</table>
 </div>
 
 
@@ -384,7 +373,7 @@ The second element is the according energy value.</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/core/helper.html b/doc/html/core/helper.html
index 2ef049d9bc9fdc579ad7b7dffa6e9227371c6429..138df0862e217d75bf7574e2c44f62590d1576d8 100644
--- a/doc/html/core/helper.html
+++ b/doc/html/core/helper.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>helper - Shared Functionality For the Everything &mdash; ProMod3 1.2.0 documentation</title>
+    <title>helper - Shared Functionality For the Everything &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="core - ProMod3 Core Functionality" href="index.html" />
     <link rel="next" title="Geometry functions" href="geometry.html" />
     <link rel="prev" title="pm3argparse - Parsing Command Lines" href="pm3argparse.html" />
@@ -246,7 +247,7 @@ script will terminate if a gzip file is found.</li>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/core/index.html b/doc/html/core/index.html
index 774d53ed424cd8915182a7f8216297a4fe85bde9..d65e79fbf1e65c7e73829aef4c97f8b9b527f37c 100644
--- a/doc/html/core/index.html
+++ b/doc/html/core/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>core - ProMod3 Core Functionality &mdash; ProMod3 1.2.0 documentation</title>
+    <title>core - ProMod3 Core Functionality &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Documentation For Users" href="../users.html" />
     <link rel="next" title="pm3argparse - Parsing Command Lines" href="pm3argparse.html" />
     <link rel="prev" title="Loading Precomputed Objects" href="../loop/load_loop_objects.html" />
@@ -104,7 +105,7 @@ modeling per se but cover standard programming issues.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/core/pm3argparse.html b/doc/html/core/pm3argparse.html
index c92c89603a57ec80a32e2435a5661d076d14f31a..e527fc76ef4254701b89b5a79b35112c10300692 100644
--- a/doc/html/core/pm3argparse.html
+++ b/doc/html/core/pm3argparse.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>pm3argparse - Parsing Command Lines &mdash; ProMod3 1.2.0 documentation</title>
+    <title>pm3argparse - Parsing Command Lines &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="core - ProMod3 Core Functionality" href="index.html" />
     <link rel="next" title="helper - Shared Functionality For the Everything" href="helper.html" />
     <link rel="prev" title="core - ProMod3 Core Functionality" href="index.html" />
@@ -198,11 +199,51 @@ wrong type</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="reference internal" href="../_modules/promod3/core/pm3argparse.html#PM3ArgumentParser.AddProfile"><span class="viewcode-link">[source]</span></a><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"><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"><span class="pre">Parse()</span></code></a>.</p>
+<p>Options/arguments added:</p>
+<ul class="simple">
+<li><code class="docutils literal"><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"><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 
+<a class="reference external" href="https://www.openstructure.org/docs/dev/bindings/hhblits/#ost.bindings.hhblits.HHblits.A3MToProfile" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><span class="pre">ost.bindings.hhblits.HHblits.A3MToProfile()</span></code></a> if you have a file 
+in a3m format at hand.</li>
+</ul>
+<p>Notes:</p>
+<ul class="simple">
+<li>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>
+</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"><span class="pre">Parse()</span></code></a>:</p>
+<ul class="simple">
+<li><code class="xref py py-attr docutils literal"><span class="pre">profiles</span></code> - <code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>, 
+ordered to match the target sequences.</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>
+</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="reference internal" href="../_modules/promod3/core/pm3argparse.html#PM3ArgumentParser.AddStructure"><span class="viewcode-link">[source]</span></a><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 alignments to the argument parser.
+<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"><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"><span class="pre">Parse()</span></code></a>.</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -343,7 +384,7 @@ and with the right constraints.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/core/runtime_profiling.html b/doc/html/core/runtime_profiling.html
index 2466ad9d3f6e6d8de264e1874c43332677a3a97a..d7218105ee41bcf6fdb9ef0e92ad11406d389553 100644
--- a/doc/html/core/runtime_profiling.html
+++ b/doc/html/core/runtime_profiling.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Runtime profiling &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Runtime profiling &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="core - ProMod3 Core Functionality" href="index.html" />
     <link rel="next" title="Graph Minimizer" href="graph_minimizer.html" />
     <link rel="prev" title="Geometry functions" href="geometry.html" />
@@ -200,7 +201,7 @@ will fail miserably if timers are currently running.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/core/setcompoundschemlib.html b/doc/html/core/setcompoundschemlib.html
index e0e9cb4d4256b35a60b91b487c28cbea9efd04cf..724fb324faeef1dfd700327218734323f18813ac 100644
--- a/doc/html/core/setcompoundschemlib.html
+++ b/doc/html/core/setcompoundschemlib.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>SetCompoundsChemlib() &mdash; ProMod3 1.2.0 documentation</title>
+    <title>SetCompoundsChemlib() &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Documentation For Users" href="../users.html" />
     <link rel="next" title="Documentation For Developers" href="../developers.html" />
     <link rel="prev" title="Graph Minimizer" href="graph_minimizer.html" />
@@ -105,7 +106,7 @@ enabled globally.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/dev_setup.html b/doc/html/dev_setup.html
index f58b1ee6ad20de2cf87c9fc6bf8c81d1ba15d6b5..075ba92b7bf050a989eebdc8b4c6927a62b89ef3 100644
--- a/doc/html/dev_setup.html
+++ b/doc/html/dev_setup.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>ProMod3 Setup &mdash; ProMod3 1.2.0 documentation</title>
+    <title>ProMod3 Setup &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
     <link rel="up" title="Documentation For Developers" href="developers.html" />
     <link rel="next" title="Contributing" href="contributing.html" />
     <link rel="prev" title="Documentation For Developers" href="developers.html" />
@@ -292,7 +293,7 @@ modules from there, use the binaries from <code class="file docutils literal"><s
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/developers.html b/doc/html/developers.html
index 89882a9474b79f60d2d36dbbc47bec5394e3ccc3..e1c550bbbbdea027b691ada3779a6814064890f4 100644
--- a/doc/html/developers.html
+++ b/doc/html/developers.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Documentation For Developers &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Documentation For Developers &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
     <link rel="next" title="ProMod3 Setup" href="dev_setup.html" />
     <link rel="prev" title="SetCompoundsChemlib()" href="core/setcompoundschemlib.html" />
    
@@ -123,7 +124,7 @@ new features.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/genindex.html b/doc/html/genindex.html
index 4e5da3b46b5ba10cbb6458cf8b9eee2e6aeedac4..97e9e9d6addfc26832a37135fd38ff0207c79073 100644
--- a/doc/html/genindex.html
+++ b/doc/html/genindex.html
@@ -7,7 +7,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Index &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Index &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -24,7 +24,8 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
@@ -43,7 +44,8 @@
 <h1 id="index">Index</h1>
 
 <div class="genindex-jumpbox">
- <a href="#_"><strong>_</strong></a>
+ <a href="#Symbols"><strong>Symbols</strong></a>
+ | <a href="#_"><strong>_</strong></a>
  | <a href="#A"><strong>A</strong></a>
  | <a href="#B"><strong>B</strong></a>
  | <a href="#C"><strong>C</strong></a>
@@ -66,6 +68,69 @@
  | <a href="#U"><strong>U</strong></a>
  
 </div>
+<h2 id="Symbols">Symbols</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt>
+    -i, --backbone-independent
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="actions/index.html#cmdoption-i">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -k, --keep-sidechains
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="actions/index.html#cmdoption-k">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -n, --no-disulfids
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="actions/index.html#cmdoption-n">command line option</a>
+  </dt>
+
+      </dl></dd>
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt>
+    -r, --rigid-rotamers
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="actions/index.html#cmdoption-r">command line option</a>
+  </dt>
+
+      </dl></dd>
+      
+  <dt>
+    -s, --no-subrotamer-optimization
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="actions/index.html#cmdoption-s">command line option</a>
+  </dt>
+
+      </dl></dd>
+  </dl></td>
+</tr></table>
+
 <h2 id="_">_</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%" valign="top"><dl>
@@ -282,6 +347,10 @@
   </dt>
 
       
+  <dt><a href="core/pm3argparse.html#promod3.core.pm3argparse.PM3ArgumentParser.AddProfile">AddProfile() (promod3.core.pm3argparse.PM3ArgumentParser method)</a>
+  </dt>
+
+      
   <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.BBDepRotamerLib.AddRotamer">AddRotamer() (promod3.sidechain.BBDepRotamerLib method)</a>
   </dt>
 
@@ -737,12 +806,12 @@
   </dt>
 
       </dl></dd>
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="modelling/gap_handling.html#promod3.modelling.ClearGaps">ClearGaps() (in module promod3.modelling)</a>
   </dt>
 
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="loop/all_atom.html#promod3.loop.AllAtomPositions.ClearPos">ClearPos() (promod3.loop.AllAtomPositions method)</a>
   </dt>
@@ -761,6 +830,18 @@
   </dt>
 
         
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.CTerminalCloser.Close">(promod3.modelling.CTerminalCloser method)</a>
+  </dt>
+
+        
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.CloserBase.Close">(promod3.modelling.CloserBase method)</a>
+  </dt>
+
+        
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.DeNovoCloser.Close">(promod3.modelling.DeNovoCloser method)</a>
+  </dt>
+
+        
   <dt><a href="modelling/monte_carlo.html#promod3.modelling.DirtyCCDCloser.Close">(promod3.modelling.DirtyCCDCloser method)</a>
   </dt>
 
@@ -772,6 +853,10 @@
   <dt><a href="modelling/monte_carlo.html#promod3.modelling.KICCloser.Close">(promod3.modelling.KICCloser method)</a>
   </dt>
 
+        
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.NTerminalCloser.Close">(promod3.modelling.NTerminalCloser method)</a>
+  </dt>
+
       </dl></dd>
       
   <dt><a href="modelling/pipeline.html#promod3.modelling.CloseGaps">CloseGaps() (in module promod3.modelling)</a>
@@ -782,6 +867,10 @@
   </dt>
 
       
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.CloserBase">CloserBase (class in promod3.modelling)</a>
+  </dt>
+
+      
   <dt><a href="modelling/pipeline.html#promod3.modelling.CloseSmallDeletions">CloseSmallDeletions() (in module promod3.modelling)</a>
   </dt>
 
@@ -821,6 +910,33 @@
 
       </dl></dd>
       
+  <dt>
+    command line option
+  </dt>
+
+      <dd><dl>
+        
+  <dt><a href="actions/index.html#cmdoption-i">-i, --backbone-independent</a>
+  </dt>
+
+        
+  <dt><a href="actions/index.html#cmdoption-k">-k, --keep-sidechains</a>
+  </dt>
+
+        
+  <dt><a href="actions/index.html#cmdoption-n">-n, --no-disulfids</a>
+  </dt>
+
+        
+  <dt><a href="actions/index.html#cmdoption-r">-r, --rigid-rotamers</a>
+  </dt>
+
+        
+  <dt><a href="actions/index.html#cmdoption-s">-s, --no-subrotamer-optimization</a>
+  </dt>
+
+      </dl></dd>
+      
   <dt><a href="scoring/backbone_score_env.html#promod3.scoring.ConstraintFunction">ConstraintFunction (class in promod3.scoring)</a>
   </dt>
 
@@ -890,6 +1006,10 @@
 
       </dl></dd>
       
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.CoolerBase">CoolerBase (class in promod3.modelling)</a>
+  </dt>
+
+      
   <dt><a href="loop/structure_db.html#promod3.loop.CoordInfo">CoordInfo (class in promod3.loop)</a>
   </dt>
 
@@ -946,6 +1066,14 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%" valign="top"><dl>
       
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.DeNovoCloser">DeNovoCloser (class in promod3.modelling)</a>
+  </dt>
+
+      
+  <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.DihedralConfiguration">DihedralConfiguration (class in promod3.sidechain)</a>
+  </dt>
+
+      
   <dt><a href="modelling/monte_carlo.html#promod3.modelling.DirtyCCDCloser">DirtyCCDCloser (class in promod3.modelling)</a>
   </dt>
 
@@ -969,12 +1097,12 @@
   <dt><a href="modelling/sidechain_reconstruction.html#promod3.modelling.SidechainReconstructionData.disulfid_bridges">disulfid_bridges (promod3.modelling.SidechainReconstructionData attribute)</a>
   </dt>
 
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="sidechain/disulfid.html#promod3.sidechain.DisulfidScore">DisulfidScore() (in module promod3.sidechain)</a>
   </dt>
 
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomClashScorer.DoExternalScores">DoExternalScores() (promod3.scoring.AllAtomClashScorer method)</a>
   </dt>
@@ -1542,6 +1670,10 @@
   </dt>
 
       
+  <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.GetDihedralConfiguration">GetDihedralConfiguration() (in module promod3.sidechain)</a>
+  </dt>
+
+      
   <dt><a href="loop/structure_db.html#promod3.loop.FragDB.GetDistBinSize">GetDistBinSize() (promod3.loop.FragDB method)</a>
   </dt>
 
@@ -1892,12 +2024,20 @@
   </dt>
 
       
-  <dt><a href="modelling/monte_carlo.html#promod3.modelling.GetScore">GetScore() (in module promod3.modelling)</a>
+  <dt><a href="sidechain/rotamer_lib.html#promod3.sidechain.GetRotamericConfiguration">GetRotamericConfiguration() (in module promod3.sidechain)</a>
+  </dt>
+
+      
+  <dt><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>
   </dt>
 
       <dd><dl>
         
-  <dt><a href="loop/structure_db.html#promod3.loop.Fragger.GetScore">(promod3.loop.Fragger method)</a>, <a href="loop/structure_db.html#promod3.loop.Fragger.GetScore">[1]</a>
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.LinearScorer.GetScore">(promod3.modelling.LinearScorer method)</a>
+  </dt>
+
+        
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.ScorerBase.GetScore">(promod3.modelling.ScorerBase method)</a>
   </dt>
 
       </dl></dd>
@@ -1984,11 +2124,15 @@
   </dt>
 
       
-  <dt><a href="modelling/monte_carlo.html#promod3.modelling.ExponentialCooler.GetTemperature">GetTemperature() (promod3.modelling.ExponentialCooler method)</a>
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.CoolerBase.GetTemperature">GetTemperature() (promod3.modelling.CoolerBase method)</a>
   </dt>
 
       <dd><dl>
         
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.ExponentialCooler.GetTemperature">(promod3.modelling.ExponentialCooler method)</a>
+  </dt>
+
+        
   <dt><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.GetTemperature">(promod3.sidechain.FRMRotamer method)</a>
   </dt>
 
@@ -2145,6 +2289,10 @@
   </dt>
 
         
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.SamplerBase.Initialize">(promod3.modelling.SamplerBase method)</a>
+  </dt>
+
+        
   <dt><a href="modelling/monte_carlo.html#promod3.modelling.SoftSampler.Initialize">(promod3.modelling.SoftSampler method)</a>
   </dt>
 
@@ -2270,6 +2418,10 @@
   </dt>
 
       
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.LinearScorer">LinearScorer (class in promod3.modelling)</a>
+  </dt>
+
+      
   <dt><a href="loop/mm_system_creation.html#promod3.loop.ForcefieldConnectivity.lj_pairs">lj_pairs (promod3.loop.ForcefieldConnectivity attribute)</a>
   </dt>
 
@@ -2348,6 +2500,10 @@
   </dt>
 
       
+  <dt><a href="sidechain/loading.html#promod3.sidechain.LoadBBDepLib">LoadBBDepLib() (in module promod3.sidechain)</a>
+  </dt>
+
+      
   <dt><a href="modelling/algorithms.html#promod3.modelling.FraggerHandle.LoadCached">LoadCached() (promod3.modelling.FraggerHandle method)</a>
   </dt>
 
@@ -2371,22 +2527,18 @@
   <dt><a href="scoring/backbone_scorers.html#promod3.scoring.LoadDefaultBackboneOverallScorer">LoadDefaultBackboneOverallScorer() (in module promod3.scoring)</a>
   </dt>
 
-      
-  <dt><a href="sidechain/loading.html#promod3.sidechain.LoadDunbrackLib">LoadDunbrackLib() (in module promod3.sidechain)</a>
-  </dt>
-
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="loop/load_loop_objects.html#promod3.loop.LoadFragDB">LoadFragDB() (in module promod3.loop)</a>
   </dt>
 
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="scoring/backbone_scorers.html#promod3.scoring.LoadHBondScorer">LoadHBondScorer() (in module promod3.scoring)</a>
   </dt>
 
       
-  <dt><a href="sidechain/loading.html#promod3.sidechain.LoadPenultimateLib">LoadPenultimateLib() (in module promod3.sidechain)</a>
+  <dt><a href="sidechain/loading.html#promod3.sidechain.LoadLib">LoadLib() (in module promod3.sidechain)</a>
   </dt>
 
       
@@ -2788,6 +2940,10 @@
   </dt>
 
         
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.SamplerBase.ProposeStep">(promod3.modelling.SamplerBase method)</a>
+  </dt>
+
+        
   <dt><a href="modelling/monte_carlo.html#promod3.modelling.SoftSampler.ProposeStep">(promod3.modelling.SoftSampler method)</a>
   </dt>
 
@@ -2903,6 +3059,10 @@
 
       <dd><dl>
         
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.CoolerBase.Reset">(promod3.modelling.CoolerBase method)</a>
+  </dt>
+
+        
   <dt><a href="modelling/monte_carlo.html#promod3.modelling.ExponentialCooler.Reset">(promod3.modelling.ExponentialCooler method)</a>
   </dt>
 
@@ -3010,6 +3170,10 @@
   </dt>
 
       
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.SamplerBase">SamplerBase (class in promod3.modelling)</a>
+  </dt>
+
+      
   <dt><a href="loop/mm_system_creation.html#promod3.loop.ForcefieldLookup.Save">Save() (promod3.loop.ForcefieldLookup method)</a>
   </dt>
 
@@ -3146,6 +3310,10 @@
   </dt>
 
       
+  <dt><a href="modelling/monte_carlo.html#promod3.modelling.ScorerBase">ScorerBase (class in promod3.modelling)</a>
+  </dt>
+
+      
   <dt><a href="modelling/gap_handling.html#promod3.modelling.ScoringGapExtender">ScoringGapExtender (class in promod3.modelling)</a>
   </dt>
 
@@ -3383,12 +3551,12 @@
   <dt><a href="loop/backbone.html#promod3.loop.BackboneList.SetOLC">SetOLC() (promod3.loop.BackboneList method)</a>
   </dt>
 
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="loop/mm_system_creation.html#promod3.loop.ForcefieldLookup.SetPeptideBoundConnectivity">SetPeptideBoundConnectivity() (promod3.loop.ForcefieldLookup method)</a>
   </dt>
 
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
       
   <dt><a href="sidechain/rotamer.html#promod3.sidechain.Particle.SetPolarDirection">SetPolarDirection() (promod3.sidechain.Particle method)</a>
   </dt>
@@ -3715,7 +3883,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/gettingstarted.html b/doc/html/gettingstarted.html
index f984958d7fd43ff0e604a8031e37bb8b44e74eec..f28f4800a5b0ebadeba73fabd887cbb4187419cd 100644
--- a/doc/html/gettingstarted.html
+++ b/doc/html/gettingstarted.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Getting Started &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Getting Started &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
     <link rel="up" title="Documentation For Users" href="users.html" />
     <link rel="next" title="ProMod3 Actions" href="actions/index.html" />
     <link rel="prev" title="Documentation For Users" href="users.html" />
@@ -88,7 +89,7 @@ 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"><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"><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/dev/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v1.7.1)"><code class="xref py py-mod docutils literal"><span class="pre">ost.mol.mm</span></code></a> from OST)</li>
+(using <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v1.8.0)"><code class="xref py py-mod docutils literal"><span class="pre">ost.mol.mm</span></code></a> from OST)</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 &#8220;CPU&#8221; platform of OpenMM (should be
@@ -147,7 +148,7 @@ not set, 1 thread will be used by default.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/index.html b/doc/html/index.html
index 9a9a20281972b758a64c9e1976765ce31fd410cc..01e2cbfaf22aa5dd703cdd8476e46b4176815030 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Welcome To ProMod3’s Documentation! &mdash; ProMod3 1.2.0 documentation</title>
+    <title>ProMod3 &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="#" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="#" />
     <link rel="next" title="Documentation For Users" href="users.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
@@ -39,15 +40,23 @@
         <div class="bodywrapper">
           <div class="body" role="main">
             
-  <div class="section" id="welcome-to-promod3-s-documentation">
-<h1>Welcome To ProMod3&#8217;s Documentation!<a class="headerlink" href="#welcome-to-promod3-s-documentation" title="Permalink to this headline">¶</a></h1>
-<p>Contents:</p>
+  <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 OpenStructure <a class="reference internal" href="references.html#biasini2013" id="id1">[biasini2013]</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>
+</div>
+<div class="section" id="documentation">
+<h1>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h1>
 <div class="toctree-wrapper compound">
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="users.html">Users</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="gettingstarted.html">Getting Started</a></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"><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"><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"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
@@ -56,29 +65,16 @@
 <li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="docutils literal"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="developers.html">Developers</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="dev_setup.html">ProMod3 Setup</a></li>
-<li class="toctree-l2"><a class="reference internal" href="contributing.html">Contributing</a></li>
-<li class="toctree-l2"><a class="reference internal" href="actions/index_dev.html"><code class="docutils literal"><span class="pre">test_actions</span></code> - Testing Actions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="cmake/index.html">ProMod3&#8216;s Share Of CMake</a></li>
-<li class="toctree-l2"><a class="reference internal" href="portableIO.html">Using Binary Files In ProMod3</a></li>
-</ul>
-</li>
 </ul>
 </div>
 <div class="toctree-wrapper compound">
 <ul>
+<li class="toctree-l1"><a class="reference internal" href="developers.html">Developers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
+<li class="toctree-l1"><a class="reference internal" href="references.html">References</a></li>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 </ul>
 </div>
-</div>
-<div class="section" id="indices-and-tables">
-<h1>Indices And Tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h1>
-<ul class="simple">
-<li><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></li>
-<li><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></li>
-<li><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></li>
-</ul>
 </div>
 
 
@@ -89,10 +85,10 @@
         <div class="sphinxsidebarwrapper">
   <h3><a href="#">Table Of Contents</a></h3>
   <ul>
-<li><a class="reference internal" href="#">Welcome To ProMod3&#8217;s Documentation!</a><ul>
+<li><a class="reference internal" href="#">ProMod3</a></li>
+<li><a class="reference internal" href="#documentation">Documentation</a><ul>
 </ul>
 </li>
-<li><a class="reference internal" href="#indices-and-tables">Indices And Tables</a></li>
 </ul>
 <div class="relations">
 <h3>Related Topics</h3>
@@ -124,7 +120,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/license.html b/doc/html/license.html
new file mode 100644
index 0000000000000000000000000000000000000000..6fe3a3cad151efe00afbb56d17a09686d0a9822b
--- /dev/null
+++ b/doc/html/license.html
@@ -0,0 +1,311 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>License &mdash; ProMod3 1.3.0 documentation</title>
+    
+    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '1.3.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
+    <link rel="next" title="References" href="references.html" />
+    <link rel="prev" title="Using Binary Files In ProMod3" href="portableIO.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 role="document">
+  
+
+    <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>
+<div class="highlight-default"><div class="highlight"><pre><span></span>
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      &quot;License&quot; shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      &quot;Licensor&quot; shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      &quot;Legal Entity&quot; shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      &quot;control&quot; means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      &quot;You&quot; (or &quot;Your&quot;) shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      &quot;Source&quot; form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      &quot;Object&quot; form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      &quot;Work&quot; shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      &quot;Derivative Works&quot; shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      &quot;Contribution&quot; shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, &quot;submitted&quot;
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as &quot;Not a Contribution.&quot;
+
+      &quot;Contributor&quot; shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a &quot;NOTICE&quot; text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an &quot;AS IS&quot; BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets &quot;[]&quot;
+      replaced with your own identifying information. (Don&#39;t include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same &quot;printed page&quot; as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+ProMod3 bundles the file &quot;FindEigen3.cmake&quot;, which is availabe under a 
+&quot;2-clause BSD&quot; license. For details, see cmake_support/FindEigen3.cmake.
+
+ProMod3 bundles the file &quot;cmake.py&quot;, which is available under a 
+&quot;3-clause BSD&quot; license. For details, see doc/cmake.py and 
+doc/Copyright_cmake.py.txt
+</pre></div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper"><div class="relations">
+<h3>Related Topics</h3>
+<ul>
+  <li><a href="index.html">Documentation overview</a><ul>
+      <li>Previous: <a href="portableIO.html" title="previous chapter">Using Binary Files In ProMod3</a></li>
+      <li>Next: <a href="references.html" title="next chapter">References</a></li>
+  </ul></li>
+</ul>
+</div>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/license.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      
+      |
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      
+      |
+      <a href="_sources/license.txt"
+          rel="nofollow">Page source</a>
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/doc/html/loop/all_atom.html b/doc/html/loop/all_atom.html
index df65f9c542ab9108208ba0e8740ebb02e80413e0..0566e8bfdc93c7b7ac7921816c9ed17834a69859 100644
--- a/doc/html/loop/all_atom.html
+++ b/doc/html/loop/all_atom.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Handling All Atom Positions &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Handling All Atom Positions &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="loop - Loop Handling" href="index.html" />
     <link rel="next" title="Generate ost.mol.mm systems" href="mm_system_creation.html" />
     <link rel="prev" title="Structural Data" href="structure_db.html" />
@@ -90,8 +91,8 @@ new loop is being added.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a> /
-<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceList</span></code></a>) &#8211; Internal SEQRES to be set (single chain or list with one per
+<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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a> /
+<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceList</span></code></a>) &#8211; 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>
@@ -113,7 +114,7 @@ concatenated one after each other (indexing starts at 0)</li>
 <col class="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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>) &#8211; Structral data to be set as environment. The chains
+<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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>) &#8211; 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>
@@ -143,7 +144,7 @@ means, that positions in the env. may be reset, newly set or cleared.</p>
 <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"><span class="pre">AllAtomEnvPositions</span></code></a>) &#8211; 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"><span class="pre">AllAtomPositions</span></code></a>) &#8211; 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"><span class="pre">BackboneList</span></code></a>) &#8211; Backbone data to be set as environment.</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Res. number defining the start position in the SEQRES.</li>
+<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Res. number defining the start position in the SEQRES.</li>
 <li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Index of chain the structural data belongs to.</li>
 </ul>
 </td>
@@ -220,7 +221,7 @@ a loop to reset later with <a class="reference internal" href="#promod3.loop.All
 <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/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceList</span></code></a></td>
+<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/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceList</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -354,7 +355,7 @@ and if found set the corresponding position, otherwise we unset it.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue providing atoms</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue providing atoms</li>
 </ul>
 </td>
 </tr>
@@ -400,7 +401,7 @@ out of bounds or if residues in the two containers are inconsistent
 <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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Set position at that index.</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Set position to <em>pos</em>.</li>
+<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Set position to <em>pos</em>.</li>
 </ul>
 </td>
 </tr>
@@ -450,7 +451,7 @@ out of bounds or if residues in the two containers are inconsistent
 <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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a></td>
+<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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Atom position index.</td>
 </tr>
@@ -554,7 +555,7 @@ if <em>atom_name</em> is not one of that residue&#8217;s heavy atoms.</p>
 <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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a></td>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index</td>
 </tr>
@@ -833,9 +834,9 @@ atom (N, CA, C, O).</p>
 <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/dev/conop/connectivity/#ost.conop.HeuristicProcessor" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.HeuristicProcessor</span></code></a>.</td>
+Connectivity resolved with <a class="reference external" href="https://www.openstructure.org/docs/dev/conop/connectivity/#ost.conop.HeuristicProcessor" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a></td>
+<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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -855,8 +856,8 @@ function efficient, we require the backbone atoms (N, C, CA) to be set.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index</li>
-<li><strong>chain</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ChainHandle</span></code></a>) &#8211; Chain into which we insert</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Residue number for the inserted residue</li>
+<li><strong>chain</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ChainHandle</span></code></a>) &#8211; Chain into which we insert</li>
+<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Residue number for the inserted residue</li>
 </ul>
 </td>
 </tr>
@@ -949,7 +950,7 @@ integer in the range [0, <em>XXX_NUM_HYDROGENS</em>-1].</p>
 <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>
 <dd><p>Collection of static methods to lookup properties of amino acid types
-(<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><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"><span class="pre">AminoAcidAtom</span></code></a>) and
+(<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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"><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"><span class="pre">AminoAcidHydrogen</span></code></a>).</p>
 <dl class="staticmethod">
 <dt id="promod3.loop.AminoAcidLookup.GetOLC">
@@ -962,7 +963,7 @@ hydrogen types (<a class="reference internal" href="#promod3.loop.AminoAcidHydro
 </tr>
 <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a></td>
 </tr>
-<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</td>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</td>
 </tr>
 </tbody>
 </table>
@@ -984,7 +985,7 @@ hydrogen types (<a class="reference internal" href="#promod3.loop.AminoAcidHydro
 </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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</li>
+<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</li>
 <li><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Atom index (in [0, GetNumAtoms(aa)-1])</li>
 <li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Atom name</li>
 </ul>
@@ -1014,7 +1015,7 @@ hydrogen types (<a class="reference internal" href="#promod3.loop.AminoAcidHydro
 </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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</li>
+<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</li>
 <li><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Atom index (in [0, GetNumHydrogens(aa)-1])</li>
 <li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Atom name</li>
 </ul>
@@ -1043,7 +1044,7 @@ atom.</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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</li>
+<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</li>
 <li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Atom name</li>
 </ul>
 </td>
@@ -1071,7 +1072,7 @@ and atom.</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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</li>
+<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</li>
 <li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Atom name</li>
 </ul>
 </td>
@@ -1095,7 +1096,7 @@ hydrogens of <em>aa</em>.</p>
 </tr>
 <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a></td>
 </tr>
-<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</td>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</td>
 </tr>
 </tbody>
 </table>
@@ -1127,7 +1128,7 @@ hydrogens of <em>aa</em>.</p>
 </tr>
 <tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a></td>
 </tr>
-<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</td>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</td>
 </tr>
 </tbody>
 </table>
@@ -1160,7 +1161,7 @@ hydrogens of <em>aa</em>.</p>
 <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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a></p>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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">
@@ -1254,7 +1255,7 @@ 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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a></td>
 </tr>
-<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</td>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</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/2.7/library/exceptions.html#exceptions.RuntimeError" title="(in Python v2.7)"><code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code></a> if no such atom (i.e. PRO)</td>
 </tr>
@@ -1278,7 +1279,7 @@ 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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a></td>
 </tr>
-<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</td>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AminoAcid</span></code></a>) &#8211; Amino acid type</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/2.7/library/exceptions.html#exceptions.RuntimeError" title="(in Python v2.7)"><code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code></a> if no such atom (i.e. H3 for PRO)</td>
 </tr>
@@ -1342,7 +1343,7 @@ when residue is N terminal.</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/loop/backbone.html b/doc/html/loop/backbone.html
index 096e988e0855d432d670e2d868e5e9d6da9309ab..9d5e222b29480b28114ff9d969e7dc4c7ea390fd 100644
--- a/doc/html/loop/backbone.html
+++ b/doc/html/loop/backbone.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Representing Loops &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Representing Loops &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="loop - Loop Handling" href="index.html" />
     <link rel="next" title="Sampling Dihedral Angles" href="torsion_sampler.html" />
     <link rel="prev" title="loop - Loop Handling" href="index.html" />
@@ -46,7 +47,7 @@
 <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"><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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>.</p>
+converted from, to, or inserted to a <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>.</p>
 <div class="highlight-default"><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>
@@ -160,7 +161,7 @@ code which is not one of the 20 default amino acids or if
 <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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Sequence of created BackboneList</li>
-<li><strong>residues</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code>) &#8211; List of <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a> objects from
+<li><strong>residues</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code>) &#8211; List of <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a> objects from
 which the backbone positions are extracted.</li>
 </ul>
 </td>
@@ -184,7 +185,7 @@ a residue not providing all necessary positions.</p>
 <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/dev/img/base/img/#ost.img.ImageHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.img.ImageHandle</span></code></a></td>
+<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/dev/img/base/img/#ost.img.ImageHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.img.ImageHandle</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -194,7 +195,7 @@ a residue not providing all necessary positions.</p>
 <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/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; </li>
-<li><strong>sampling</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; </li>
+<li><strong>sampling</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; </li>
 <li><strong>resolution</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; </li>
 <li><strong>high_resolution</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; </li>
 </ul>
@@ -213,7 +214,7 @@ a residue not providing all necessary positions.</p>
 <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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a></td>
+<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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -230,8 +231,8 @@ be replaced, otherwise they will be added to the entity.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>chain</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ChainHandle</span></code></a>) &#8211; The chain</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Residue number defining the start location of insertion</li>
+<li><strong>chain</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ChainHandle</span></code></a>) &#8211; The chain</li>
+<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Residue number defining the start location of insertion</li>
 </ul>
 </td>
 </tr>
@@ -247,7 +248,7 @@ be replaced, otherwise they will be added to the entity.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>map</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/img/base/img/#ost.img.ImageHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.img.ImageHandle</span></code></a>) &#8211; </li>
+<li><strong>map</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/img/base/img/#ost.img.ImageHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.img.ImageHandle</span></code></a>) &#8211; </li>
 <li><strong>resolution</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; </li>
 <li><strong>high_resolution</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; </li>
 </ul>
@@ -266,7 +267,7 @@ be replaced, otherwise they will be added to the entity.</p>
 <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/dev/geom/composite/#ost.geom.AlignedCuboid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.AlignedCuboid</span></code></a></td>
+<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/dev/geom/composite/#ost.geom.AlignedCuboid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; </td>
 </tr>
@@ -299,7 +300,8 @@ be replaced, otherwise they will be added to the entity.</p>
 <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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Set amino acid sequence to this.</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/2.7/library/exceptions.html#exceptions.RuntimeError" title="(in Python v2.7)"><code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code></a> if <em>sequence</em> contains a one letter
-code which is not one of the 20 default amino acids.</td>
+code which is not one of the 20 default amino acids or size of
+<em>sequence</em> does not match.</td>
 </tr>
 </tbody>
 </table>
@@ -369,7 +371,7 @@ actual fragment at specified <em>index</em></p>
 <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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a></td>
+<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/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index.</td>
 </tr>
@@ -394,7 +396,7 @@ atom for residue at given index.</td>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
 <li><strong>index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index.</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of nitrogen / alpha carbon / beta carbon / carbon
+<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of nitrogen / alpha carbon / beta carbon / carbon
 / oxygen atom to this.</li>
 </ul>
 </td>
@@ -446,7 +448,7 @@ atom for residue at given index.</td>
 <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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a></td>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index.</td>
 </tr>
@@ -463,7 +465,7 @@ atom for residue at given index.</td>
 <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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index.</li>
-<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Set amino acid type of the residue to this.</li>
+<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Set amino acid type of the residue to this.</li>
 </ul>
 </td>
 </tr>
@@ -489,12 +491,12 @@ and set the amino acid type according to the given one letter code.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
 <li><strong>index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index.</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ResidueHandle</span></code></a>) &#8211; Residue from which to extract backbone atom positions</li>
-<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of nitrogen atom to this.</li>
-<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of alpha carbon atom to this.</li>
-<li><strong>cb_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of beta carbon atom to this.</li>
-<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of carbon atom to this.</li>
-<li><strong>o_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of oxygen atom to this.</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ResidueHandle</span></code></a>) &#8211; Residue from which to extract backbone atom positions</li>
+<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of nitrogen atom to this.</li>
+<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of alpha carbon atom to this.</li>
+<li><strong>cb_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of beta carbon atom to this.</li>
+<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of carbon atom to this.</li>
+<li><strong>o_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of oxygen atom to this.</li>
 <li><strong>olc</strong> (<code class="xref py py-class docutils literal"><span class="pre">char</span></code>) &#8211; Set one letter code of the residue to this.</li>
 </ul>
 </td>
@@ -564,12 +566,12 @@ to the given one letter code.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ResidueHandle</span></code></a>) &#8211; Residue from which to extract backbone atom positions</li>
-<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of nitrogen atom to this.</li>
-<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of alpha carbon atom to this.</li>
-<li><strong>cb_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of beta carbon atom to this.</li>
-<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of carbon atom to this.</li>
-<li><strong>o_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of oxygen atom to this.</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ResidueHandle</span></code></a>) &#8211; Residue from which to extract backbone atom positions</li>
+<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of nitrogen atom to this.</li>
+<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of alpha carbon atom to this.</li>
+<li><strong>cb_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of beta carbon atom to this.</li>
+<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of carbon atom to this.</li>
+<li><strong>o_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>) &#8211; Set position of oxygen atom to this.</li>
 <li><strong>olc</strong> (<code class="xref py py-class docutils literal"><span class="pre">char</span></code>) &#8211; Set one letter code of the residue to this.</li>
 </ul>
 </td>
@@ -633,7 +635,7 @@ reconstructed if the residue handle is valid.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>after_c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue following the C stem (C stem residue is last
+<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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue following the C stem (C stem residue is last
 element of this backbone list)</td>
 </tr>
 </tbody>
@@ -650,7 +652,7 @@ element of this backbone list)</td>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
 <li><strong>index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index.</li>
-<li><strong>transform</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a>) &#8211; The transformation</li>
+<li><strong>transform</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a>) &#8211; The transformation</li>
 </ul>
 </td>
 </tr>
@@ -670,7 +672,7 @@ element of this backbone list)</td>
 <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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Start index.</li>
 <li><strong>to</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; End index (one past last residue to transform).</li>
-<li><strong>transform</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a>) &#8211; The transformation</li>
+<li><strong>transform</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a>) &#8211; The transformation</li>
 </ul>
 </td>
 </tr>
@@ -686,7 +688,7 @@ element of this backbone list)</td>
 <col class="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"><span class="pre">ost.geom.Transform</span></code> / <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a>) &#8211; The transformation</td>
+<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"><span class="pre">ost.geom.Transform</span></code> / <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a>) &#8211; The transformation</td>
 </tr>
 </tbody>
 </table>
@@ -706,12 +708,12 @@ 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/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a></p>
+<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/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index.</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; The other residue.</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><span class="pre">BackboneList</span></code></a>) &#8211; The other backbone list.</li>
 <li><strong>other_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Residue index in <em>other</em> backbone list.</li>
 </ul>
@@ -731,7 +733,7 @@ positions of the N, CA and C atoms.</p>
 <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/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a></td>
+<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/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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"><span class="pre">BackboneList</span></code></a>) &#8211; The other backbone list.</td>
 </tr>
@@ -847,8 +849,8 @@ smaller than 3.</p>
 <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 at residue defined by <strong>index</strong>. The first
-rotation axis is defined by the CA positions from residues at
+<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>.
+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
 of the two transformed oxygens, the backrub motion gets completed by
@@ -1003,7 +1005,7 @@ backbone list.</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/loop/index.html b/doc/html/loop/index.html
index 4ceff047a047b214b7ec544b3426b6026963b818..7564641ee912944a4e121b4fae73c19bc9bcddb0 100644
--- a/doc/html/loop/index.html
+++ b/doc/html/loop/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>loop - Loop Handling &mdash; ProMod3 1.2.0 documentation</title>
+    <title>loop - Loop Handling &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Documentation For Users" href="../users.html" />
     <link rel="next" title="Representing Loops" href="backbone.html" />
     <link rel="prev" title="Other Scoring Functions" href="../scoring/other_scoring_functions.html" />
@@ -162,7 +163,7 @@ loops. The following example should give you an idea of what can be done:</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/loop/load_loop_objects.html b/doc/html/loop/load_loop_objects.html
index 8425953c8165937468f1c690d1e44d38250cfe99..ab7769618f810185d5317090ed4d90d69be1b015 100644
--- a/doc/html/loop/load_loop_objects.html
+++ b/doc/html/loop/load_loop_objects.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Loading Precomputed Objects &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Loading Precomputed Objects &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="loop - Loop Handling" href="index.html" />
     <link rel="next" title="core - ProMod3 Core Functionality" href="../core/index.html" />
     <link rel="prev" title="Generate ost.mol.mm systems" href="mm_system_creation.html" />
@@ -49,7 +50,7 @@ ProMod3 offers to load precomputed instances for direct usage.</p>
 <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>
 <dd><p>Loads and returns a torsion sampler with an amino acid grouping
-as defined by Solis &amp; Rachovsky [1] that has been trained on
+as defined by <a class="reference internal" href="../references.html#solis2006" id="id1">[solis2006]</a> that has been trained on
 non-redundant protein structures.</p>
 <table class="docutils field-list" frame="void" rules="none">
 <col class="field-name" />
@@ -69,7 +70,7 @@ non-redundant protein structures.</p>
 <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>
 <dd><p>Loads and returns a torsion sampler with an amino acid grouping
-as defined by Solis &amp; Rachovsky [1] that has been trained on coil
+as defined by <a class="reference internal" href="../references.html#solis2006" id="id2">[solis2006]</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" />
@@ -89,7 +90,7 @@ residues of  non-redundant protein structures.</p>
 <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>
 <dd><p>Loads and returns a torsion sampler with an amino acid grouping
-as defined by Solis &amp; Rachovsky [1] that has been trained on helical
+as defined by <a class="reference internal" href="../references.html#solis2006" id="id3">[solis2006]</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" />
@@ -109,7 +110,7 @@ residues of  non-redundant protein structures.</p>
 <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>
 <dd><p>Loads and returns a torsion sampler with an amino acid grouping
-as defined by Solis &amp; Rachovsky [1] that has been trained on extended
+as defined by <a class="reference internal" href="../references.html#solis2006" id="id4">[solis2006]</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" />
@@ -126,48 +127,41 @@ residues of  non-redundant protein structures.</p>
 </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>
-<dd><p>Loads and returns a FragDB containing fragments up to the length of 14,
-therefore capable of bridging gaps up to the length of 12.</p>
+<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>
+<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 Fragment database</td>
+<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.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal"><span class="pre">FragDB</span></code></a></td>
+<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"><span class="pre">StructureDB</span></code></a></td>
 </tr>
 </tbody>
 </table>
 </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><em>load_frequencies=True</em><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 24000 chains form the
-PDB with redundancy cutoff of 90%</p>
+<dt id="promod3.loop.LoadFragDB">
+<code class="descclassname">promod3.loop.</code><code class="descname">LoadFragDB</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadFragDB" title="Permalink to this definition">¶</a></dt>
+<dd><p>Loads and returns a FragDB 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"><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"><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">Parameters:</th><td class="field-body"><strong>load_frequencies</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; If True, the full database including profile
-information gets loaded (see
-<a class="reference internal" href="structure_db.html#promod3.loop.StructureDB.Load" title="promod3.loop.StructureDB.Load"><code class="xref py py-meth docutils literal"><span class="pre">StructureDB.Load()</span></code></a>).</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The structure db</td>
+<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The Fragment database</td>
 </tr>
-<tr class="field-odd 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"><span class="pre">StructureDB</span></code></a></td>
+<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"><span class="pre">FragDB</span></code></a></td>
 </tr>
 </tbody>
 </table>
 </dd></dl>
 
-<dl class="docutils">
-<dt>[1] A. D. Solis and S. Rackovsky. Improvement of statistical potentials and</dt>
-<dd>threading score functions using information maximization.
-Proteins, 62(4):892–908, Mar 2006.</dd>
-</dl>
 </div>
 
 
@@ -210,7 +204,7 @@ Proteins, 62(4):892–908, Mar 2006.</dd>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/loop/mm_system_creation.html b/doc/html/loop/mm_system_creation.html
index 38cdf31e4748d13ed4624067799504894827ea98..d3e6544cd24bc573c0b568c01010e7905009a4e2 100644
--- a/doc/html/loop/mm_system_creation.html
+++ b/doc/html/loop/mm_system_creation.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Generate ost.mol.mm systems &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Generate ost.mol.mm systems &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="loop - Loop Handling" href="index.html" />
     <link rel="next" title="Loading Precomputed Objects" href="load_loop_objects.html" />
     <link rel="prev" title="Handling All Atom Positions" href="all_atom.html" />
@@ -42,8 +43,8 @@
           <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/dev/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v1.7.1)"><code class="xref py py-mod docutils literal"><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/dev/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v1.7.1)"><code class="xref py py-mod docutils literal"><span class="pre">ost.mol.mm</span></code></a> / OpenMM simulations for loops in
+<h1>Generate <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v1.8.0)"><code class="xref py py-mod docutils literal"><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/dev/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v1.8.0)"><code class="xref py py-mod docutils literal"><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"><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"><span class="pre">ForcefieldLookup</span></code></a>).</p>
 <p>The example below showcases the creation and use of an MM system:</p>
@@ -288,7 +289,7 @@ acid types for <em>out_pos[res_indices[i]]</em> and <em>all_pos[res_indices[i]]<
 <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"><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/dev/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.mm.Simulation</span></code></a></td>
+<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/dev/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.mm.Simulation</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -435,7 +436,7 @@ FF specific data for amino acids in a protein. We distinguish amino acid types
 <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/dev/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.mm.Simulation</span></code></a> objects. Specifically, we can:</p>
+<dd><p>This class provides all functionality to generate <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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
 <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"><span class="pre">GetNumAtoms()</span></code></a> (note that only OXT indexing depends on whether a
@@ -548,7 +549,7 @@ for details.</p>
 <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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a></td>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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"><span class="pre">ForcefieldAminoAcid</span></code></a>) &#8211; Forcefield-specific amino acid type</td>
 </tr>
@@ -664,7 +665,7 @@ for details.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.SetFudgeLJ" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.SetFudgeLJ()</span></code></a>)</td>
+<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.SetFudgeLJ" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td>
 </tr>
@@ -680,7 +681,7 @@ for details.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.SetFudgeQQ" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.SetFudgeQQ()</span></code></a>)</td>
+<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.SetFudgeQQ" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td>
 </tr>
@@ -695,7 +696,7 @@ for details.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.SetMasses" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.SetMasses()</span></code></a>)</p>
+<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/dev/mol/mm/topology/#ost.mol.mm.Topology.SetMasses" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal"><span class="pre">GetNumAtoms()</span></code></a>)</p>
@@ -719,7 +720,7 @@ for details.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.SetCharges" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.SetCharges()</span></code></a>)</p>
+<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/dev/mol/mm/topology/#ost.mol.mm.Topology.SetCharges" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal"><span class="pre">GetNumAtoms()</span></code></a>)</p>
@@ -744,7 +745,7 @@ for details.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.SetSigmas" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.SetSigmas()</span></code></a>)</p>
+(see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.SetSigmas" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal"><span class="pre">GetNumAtoms()</span></code></a>)</p>
@@ -769,7 +770,7 @@ for details.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.SetEpsilons" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.SetEpsilons()</span></code></a>)</p>
+(see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.SetEpsilons" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal"><span class="pre">GetNumAtoms()</span></code></a>)</p>
@@ -915,7 +916,7 @@ for details.</p>
 <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>
 <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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>. Additionally,
+correspond to the 20 values of <a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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>
@@ -932,7 +933,7 @@ types. The full list of values is:</p>
 <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&#8217;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/dev/mol/mm/topology/#ost.mol.mm.Topology" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><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://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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"><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
@@ -1042,7 +1043,7 @@ False, False)</em>.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicBond" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.AddHarmonicBond()</span></code></a>)</p>
+<dd><p>Define harmonic bond (see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicBond" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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>
@@ -1104,7 +1105,7 @@ False, False)</em>.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicAngle" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.AddHarmonicAngle()</span></code></a>)</p>
+<dd><p>Define harmonic angle (see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicAngle" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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>
@@ -1181,7 +1182,7 @@ False, False)</em>.</p>
 <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>
 <dd><p>Define Urey-Bradley angle
-(see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddUreyBradleyAngle" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.AddUreyBradleyAngle()</span></code></a>)</p>
+(see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddUreyBradleyAngle" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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>
@@ -1286,8 +1287,8 @@ False, False)</em>.</p>
 <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>
 <dd><p>Define periodic dihedral or improper (see
-<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddPeriodicDihedral" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.AddPeriodicDihedral()</span></code></a> and
-<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddPeriodicImproper" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.AddPeriodicImproper()</span></code></a>)</p>
+<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddPeriodicDihedral" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.AddPeriodicDihedral()</span></code></a> and
+<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddPeriodicImproper" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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>
@@ -1391,7 +1392,7 @@ False, False)</em>.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicImproper" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.AddHarmonicImproper()</span></code></a>)</p>
+<dd><p>Define harmonic improper (see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicImproper" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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>
@@ -1481,7 +1482,7 @@ False, False)</em>.</p>
 <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/dev/mol/mm/topology/#ost.mol.mm.Topology.AddLJPair" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.mm.Topology.AddLJPair()</span></code></a>)</p>
+<dd><p>Define LJ pair (see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/topology/#ost.mol.mm.Topology.AddLJPair" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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>
@@ -1592,7 +1593,7 @@ False, False)</em>.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/loop/structure_db.html b/doc/html/loop/structure_db.html
index 9e2c5705f18ee62396096e5fb1a4622a9ff814dc..6f0cff9e04a1148be311f7ecac8b1f82cd0d264c 100644
--- a/doc/html/loop/structure_db.html
+++ b/doc/html/loop/structure_db.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Structural Data &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Structural Data &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="loop - Loop Handling" href="index.html" />
     <link rel="next" title="Handling All Atom Positions" href="all_atom.html" />
     <link rel="prev" title="Sampling Dihedral Angles" href="torsion_sampler.html" />
@@ -43,7 +44,7 @@
             
   <div class="section" id="structural-data">
 <h1>Structural Data<a class="headerlink" href="#structural-data" title="Permalink to this headline">¶</a></h1>
-<p>The structural database serves as a container for structural backbone and
+<p>The <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal"><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
 accession using matching stem geometry (see: <a class="reference internal" href="#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal"><span class="pre">FragDB</span></code></a>) or sequence
@@ -66,10 +67,10 @@ 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="#chakravarty1999" id="id1">[chakravarty1999]</a> and gets
+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="#zhou2005" id="id2">[zhou2005]</a> - Since the calculation of such a profile already requires a
+in <a class="reference internal" href="../references.html#zhou2005" id="id2">[zhou2005]</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
@@ -83,7 +84,7 @@ and manually set them (or load the provided default database).</li>
 <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>
 <dd><p>The CoordInfo gets automatically generated when new chains are added to
-the structural database. It contains internal information of how a
+a <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal"><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">
@@ -118,14 +119,14 @@ structure. (<a class="reference external" href="https://docs.python.org/2.7/libr
 <code class="descname">start_resnum</code><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.</p>
+stuff to the structure db. (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>)</p>
 </dd></dl>
 
 <dl class="attribute">
 <dt id="promod3.loop.CoordInfo.shift">
 <code class="descname">shift</code><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.</p>
+structural information in db. (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>)</p>
 </dd></dl>
 
 </dd></dl>
@@ -133,7 +134,7 @@ structural information in db.</p>
 <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>
-<dd><p>The FragmentInfo defines any fragment in the structural database. If you
+<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"><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" />
@@ -151,8 +152,8 @@ implement your own accessor object, thats the information you want to store.</p>
 <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><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"><span class="pre">CoordInfo</span></code></a>) in the structure db
-this particle belongs to. (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>)</p>
+<dd><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"><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"><span class="pre">StructureDB</span></code></a> this particle belongs to. (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>)</p>
 </dd></dl>
 
 <dl class="attribute">
@@ -194,8 +195,8 @@ and fill it with content.</p>
 <span class="n">prof_dir</span> <span class="o">=</span> <span class="s2">&quot;data&quot;</span>
 
 <span class="c1"># The naming of the files in the directories is e.g. 1CRN.pdb for </span>
-<span class="c1"># the structure and 1CRNA.hhm for the profile. Please note, </span>
-<span class="c1"># that the structure can contain several chains, whereas the hhm </span>
+<span class="c1"># the structure and 1CRNA.hhm for the profile. </span>
+<span class="c1"># The structure possibly contain several chains, whereas the hhm </span>
 <span class="c1"># file is only for that specific chain.</span>
 <span class="n">structure_ids</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;1CRN&quot;</span><span class="p">,</span> <span class="s2">&quot;1AKI&quot;</span><span class="p">]</span>
 <span class="n">chain_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;A&quot;</span><span class="p">,</span> <span class="s2">&quot;A&quot;</span><span class="p">]</span>
@@ -227,11 +228,14 @@ and fill it with content.</p>
 
                                 
 <span class="c1"># We now have two structures in both databases...</span>
-
-<span class="c1"># Please note, that there is no profile derived from structures</span>
-<span class="c1"># assigned yet to structure_db_one, the memory is only allocated</span>
-<span class="c1"># and set to zero. In structure_db_two, there&#39;ll never be stored a </span>
-<span class="c1"># structure profile as we did not initialize it accordingly. </span>
+<span class="c1"># Lets get a summary of whats actually in there</span>
+<span class="n">structure_db_one</span><span class="o">.</span><span class="n">PrintStatistics</span><span class="p">()</span>
+<span class="n">structure_db_two</span><span class="o">.</span><span class="n">PrintStatistics</span><span class="p">()</span>
+
+<span class="c1"># There is no profile derived from structures assigned to </span>
+<span class="c1"># structure_db_one yet, the memory is only allocated and set to </span>
+<span class="c1"># zero. In structure_db_two, there&#39;ll never be stored a structure </span>
+<span class="c1"># profile as we did not initialize it accordingly. </span>
 <span class="c1"># However, we can still use its coordinates and residue depths to</span>
 <span class="c1"># generate profiles!  </span>
 <span class="c1"># To demonstrate, we use our structure_db_two to derive profiles </span>
@@ -271,7 +275,7 @@ 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/dev/seq/base/seq/#ost.seq.ProfileDB" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileDB</span></code></a> to gather profiles produced from jobs
+<li>Use the <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileDB" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileDB</span></code></a> to gather profiles produced from jobs
 running in parallel</li>
 </ol>
 <dl class="class">
@@ -282,7 +286,7 @@ StructureDB in order to define what data you want to store additionally
 to backbone coordinates and sequence.
 If you want to store all data possible, use All. If you only want a subset,
 you can combine some of the datatypes with a bitwise or operation
-(see example script for StructureDB). One important note:
+(see example script for <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal"><span class="pre">StructureDB</span></code></a>). One important note:
 If you enable AAFrequenciesStruct, the actual information is not automatically
 assigned. Only the according memory is allocated and set to zero, the actual
 information must be assigned manually (see example script again...).</p>
@@ -293,8 +297,8 @@ AAFrequenciesStruct</p>
 <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>
-<dd><p>Generates an empty StructureDB 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"><span class="pre">AddCoordinates()</span></code></a>. The information extracted there is defined by
+<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"><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"><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"><span class="pre">StructureDBDataType</span></code></a>
 documentation and at the example script...</p>
 <table class="docutils field-list" frame="void" rules="none">
@@ -405,10 +409,10 @@ in the according <a class="reference internal" href="#promod3.loop.CoordInfo" ti
 <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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; identifier of the added structure (e.g. pdb id)</li>
 <li><strong>chain_name</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; 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/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityView</span></code></a>) &#8211; The full entity that must contain a chain named
+<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityView</span></code></a>) &#8211; 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/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; 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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Profile information for the chain with name
+<li><strong>seqres</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; 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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; 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> &#8211; Flag whether you want to add only the longest
 connected stretch of residues are all connected
@@ -460,7 +464,7 @@ accordingly!</p>
 <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 StructureDB 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"><span class="pre">GetNumCoords()</span></code></a>-1]) of
+<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"><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"><span class="pre">GetNumCoords()</span></code></a>-1])
 of all coords (connected stretches) with matching
 <em>id</em> / <em>chain_name</em>.</p>
 </td>
@@ -490,7 +494,7 @@ 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"><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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; The StructureDB 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"><span class="pre">GetNumCoords()</span></code></a>-1])</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; The <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal"><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"><span class="pre">GetNumCoords()</span></code></a>-1])</td>
 </tr>
 </tbody>
 </table>
@@ -536,9 +540,9 @@ the database.</td>
 <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"><span class="pre">FragmentInfo</span></code></a>) &#8211; Fragment definition from which to extract positions.</li>
 <li><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Sequence to set for the returned backbone list.</li>
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Positions on which the backbone list&#8217;s N-terminus should be
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Positions on which the backbone list&#8217;s N-terminus should be
 superposed onto.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Positions on which the backbone list&#8217;s C-terminus should be
+<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Positions on which the backbone list&#8217;s C-terminus should be
 superposed onto.</li>
 </ul>
 </td>
@@ -649,7 +653,8 @@ connected stretches of residues in the database.</td>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Solvent accessibility for each residue of <em>fragment</em> in square A
-as calculated by dssp.</td>
+as calculated by <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/alg/molalg/#ost.mol.alg.Accessibility" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><span class="pre">Accessibility()</span></code></a> when adding
+the structure to the database.</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"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td>
 </tr>
@@ -675,7 +680,7 @@ connected stretches of residues in the database.</td>
 <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The sequence profile for the residues defined by <em>fragment</em> with
 the BLOSUM62 probabilities as NULL model.</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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a></td>
+<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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a></td>
 </tr>
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal"><span class="pre">FragmentInfo</span></code></a>) &#8211; Fragment definition from which to extract the sequence
 profile</td>
@@ -699,7 +704,7 @@ connected stretches of residues in the database.</td>
 <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The structure profile for the residues defined by <em>fragment</em> with
 the BLOSUM62 probabilities as NULL model.</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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a></td>
+<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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a></td>
 </tr>
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal"><span class="pre">FragmentInfo</span></code></a>) &#8211; Fragment definition from which to extract the structure
 profile</td>
@@ -734,7 +739,7 @@ containing that data.</li>
 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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a></p>
+<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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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"><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.RuntimeError" title="(in Python v2.7)"><code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code></a> if <em>bb_list</em> and
@@ -756,7 +761,7 @@ frequencies in entry with <em>coord_idx</em></p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Source of profile frequencies</li>
+<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Source of profile frequencies</li>
 <li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; 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"><span class="pre">GetNumCoords()</span></code></a>-1])</li>
 </ul>
@@ -785,7 +790,7 @@ 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"><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> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code>) &#8211; StructureDB indices to be added to the sub database (in [0,
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>indices</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code>) &#8211; 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"><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"><a class="reference external" href="https://docs.python.org/2.7/library/exceptions.html#exceptions.RuntimeError" title="(in Python v2.7)"><code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code></a> if you provide an invalid index</td>
@@ -906,7 +911,8 @@ for details.</p>
 <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>
-<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>
+<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" />
@@ -922,7 +928,8 @@ for details.</p>
 <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>
-<dd><p>The size of the bins for the distance describing the stem geometry and used to organize the fragments in the database.</p>
+<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" />
@@ -938,8 +945,13 @@ for details.</p>
 <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>
-<dd><p>Iterates over all fragments of length <strong>fragment_length</strong> in the given structural database and adds them to the fragment database. Fragments will be skipped if there is already a fragment in the database that has an RMSD to the one being added smaller than <strong>rmsd_cutoff</strong>.
-As the fragments are added they are organized in bins described by their length and the geometry of their N and C stem.</p>
+<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
+that has an RMSD smaller than <strong>rmsd_cutoff</strong>, where RMSD is calculated
+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" />
@@ -958,7 +970,7 @@ As the fragments are added they are organized in bins described by their length
 <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>
-<dd><p>Prints statistics about the fragment databse, notably:</p>
+<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>
@@ -1019,7 +1031,7 @@ a given length.</p>
 <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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; 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. This function is quick.</td>
+<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/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></td>
 </tr>
@@ -1034,7 +1046,7 @@ a given length.</p>
 <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. This function is quick.</td>
+<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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a></td>
 </tr>
@@ -1052,8 +1064,8 @@ and <strong>c_stem</strong> and of the same length as the <strong>frag_size</str
 <col 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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; The N-stem</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; The C-stem</li>
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; The N-stem</li>
+<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; The C-stem</li>
 <li><strong>frag_size</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Number of residues of the fragment</li>
 <li><strong>extra_bins</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Whether to extend the search to include fragments from
 <em>extra_bins</em> additional bins surrounding the bin given by
@@ -1080,7 +1092,7 @@ function.</p>
 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"><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"><span class="pre">StructureDB</span></code></a> for n fragments,
 that maximize a certain score and gathers a set of fragments with a guaranteed
-structural diversity based on an rmsd_threshold. You can use the <a class="reference internal" href="#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal"><span class="pre">Fragger</span></code></a>
+structural diversity based on an rmsd threshold. You can use the <a class="reference internal" href="#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal"><span class="pre">Fragger</span></code></a>
 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"><span class="pre">FraggerHandle</span></code></a> or search for fragments from scratch
 using an arbitrary linear combination of scores:</p>
@@ -1093,9 +1105,9 @@ 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"><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="#jones1999" id="id3">[Jones1999]</a>
-and the dssp <a class="reference internal" href="#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"><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="#soding2005" id="id5">[soding2005]</a>.</li>
+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"><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>:
 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"><span class="pre">StructureDB</span></code></a> given the target sequence. The probabilities are
@@ -1277,7 +1289,7 @@ linked to this object.</li>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
 <li><strong>w</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; linear weight</li>
-<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Profile for the fraggers target_sequence</li>
+<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Profile for the fraggers target_sequence</li>
 </ul>
 </td>
 </tr>
@@ -1295,7 +1307,7 @@ linked to this object.</li>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
 <li><strong>w</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; linear weight</li>
-<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Profile for the fraggers target_sequence</li>
+<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Profile for the fraggers target_sequence</li>
 </ul>
 </td>
 </tr>
@@ -1511,7 +1523,7 @@ coordinates. This file will hence be much larger than the one saved with
 <dl class="class">
 <dt id="promod3.loop.PsipredPrediction">
 <em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">PsipredPrediction</code><a class="headerlink" href="#promod3.loop.PsipredPrediction" title="Permalink to this definition">¶</a></dt>
-<dd><p>A container for the secondary structure prediction by Psipred.</p>
+<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>
@@ -1694,36 +1706,6 @@ to <strong>to</strong>, not including <strong>to</strong> itself</p>
 
 </dd></dl>
 
-<table class="docutils citation" frame="void" id="soding2005" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id5">[soding2005]</a></td><td>Söding J (2005). Protein homology detection by HMM-HMM comparison. Bioinformatics 21 (7): 951–960.</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"><a class="fn-backref" href="#id1">[chakravarty1999]</a></td><td>Chakravarty S, Varadarajan R (1999). Residue depth: a novel parameter for the analysis of protein structure and stability. Structure 7 (7): 723–732.</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"><a class="fn-backref" href="#id2">[zhou2005]</a></td><td>Zhou H, Zhou Y (2005). Fold Recognition by Combining Sequence Profiles Derived From Evolution and From Depth-Dependent Structural Alignment of Fragments. Proteins 58 (2): 321–328.</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"><a class="fn-backref" href="#id3">[Jones1999]</a></td><td>Jones DT (1999) Protein secondary structure prediction based on position-specific scoring matrices. J. Mol. Biol. 292: 195-202.</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"><a class="fn-backref" href="#id4">[kabsch1983]</a></td><td>Kabsch W, Sander C (1983) Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers 22 2577-2637.</td></tr>
-</tbody>
-</table>
 </div>
 </div>
 
@@ -1779,7 +1761,7 @@ to <strong>to</strong>, not including <strong>to</strong> itself</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/loop/torsion_sampler.html b/doc/html/loop/torsion_sampler.html
index c9d75287ca27196ad6349d2f16c1aeb7a3c7df34..fa5416d4e0c15c8af944940c4079c2eebe1649da 100644
--- a/doc/html/loop/torsion_sampler.html
+++ b/doc/html/loop/torsion_sampler.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Sampling Dihedral Angles &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Sampling Dihedral Angles &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="loop - Loop Handling" href="index.html" />
     <link rel="next" title="Structural Data" href="structure_db.html" />
     <link rel="prev" title="Representing Loops" href="backbone.html" />
@@ -138,7 +139,7 @@ acids not matching any of the group definitions.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>view</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityView</span></code></a>) &#8211; structure from which parameters will be extracted</td>
+<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/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityView</span></code></a>) &#8211; structure from which parameters will be extracted</td>
 </tr>
 </tbody>
 </table>
@@ -210,9 +211,9 @@ for details.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue for the central residue</li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
+<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
+<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue for the central residue</li>
+<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
 </ul>
 </td>
 </tr>
@@ -252,9 +253,9 @@ standard amino acid</td>
 <col 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
+<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
+<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
 </ul>
 </td>
 </tr>
@@ -290,9 +291,9 @@ standard amino acid</td>
 <col 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
+<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
+<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
 <li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; <em>psi</em> angle</li>
 </ul>
 </td>
@@ -334,9 +335,9 @@ standard amino acid</td>
 <col 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
+<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
+<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
 <li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; <em>phi</em> angle</li>
 </ul>
 </td>
@@ -378,9 +379,9 @@ standard amino acid</td>
 <col 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
+<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
+<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
 <li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; phi angle</li>
 <li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; psi angle</li>
 </ul>
@@ -424,9 +425,9 @@ standard amino acid</td>
 <col 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
+<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
+<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
 <li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; phi angle</li>
 <li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; psi angle</li>
 </ul>
@@ -448,9 +449,9 @@ standard amino acid</td>
 <col 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
+<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue before <em>central</em></li>
+<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; id of the residue after <em>central</em></li>
 <li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; phi angle</li>
 <li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; psi angle</li>
 </ul>
@@ -589,7 +590,7 @@ standard amino acid</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/modelling/algorithms.html b/doc/html/modelling/algorithms.html
index 0cd8be8702bde9b8f390725a811a36e6c272ea21..bc65d5f6ae40d7d1d8b756f2addcb9a2319ac84b 100644
--- a/doc/html/modelling/algorithms.html
+++ b/doc/html/modelling/algorithms.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Modelling Algorithms &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Modelling Algorithms &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="modelling - Protein Modelling" href="index.html" />
     <link rel="next" title="sidechain - Sidechain Modelling" href="../sidechain/index.html" />
     <link rel="prev" title="Sidechain Reconstruction" href="sidechain_reconstruction.html" />
@@ -94,7 +95,7 @@ of the solutions</li>
 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"><span class="pre">promod3.loop.BackboneList</span></code></a> objects
 and the second element being a <code class="xref py py-class docutils literal"><span class="pre">list</span></code> of
-<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a> defining the transformations to
+<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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>
@@ -112,7 +113,7 @@ onto <strong>bb_list_two</strong></p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>aln</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) &#8211; An alignment with attached <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityView</span></code></a>
+<li><strong>aln</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) &#8211; An alignment with attached <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; The idx of the first sequence from which the CA
 positions will be extracted</li>
@@ -133,9 +134,9 @@ of the solutions</li>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">tuple</span></code> with the first element being a
 <code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <code class="xref py py-class docutils literal"><span class="pre">list</span></code> defining the
 column indices of the common subsets (rigid blocks)
-relative to the input <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.AlignmentHandle</span></code></a>
+relative to the input <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.AlignmentHandle</span></code></a>
 and the second element being a <code class="xref py py-class docutils literal"><span class="pre">list</span></code> of
-<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a> defining the transformations to
+<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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>
@@ -172,7 +173,7 @@ of the solutions</li>
 indices of the common subsets (rigid blocks) relative
 to the input <code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3List</span></code> objects
 and the second element being a <code class="xref py py-class docutils literal"><span class="pre">list</span></code> of
-<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a> defining the transformations to
+<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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>
@@ -235,8 +236,8 @@ Weird things are happening otherwise.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>/<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; SEQRES for this chain</li>
-<li><strong>profile</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Sequence profile for this chain.</li>
+<li><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>/<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; SEQRES for this chain</li>
+<li><strong>profile</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; 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"><span class="pre">promod3.loop.PsipredPrediction</span></code></a>) &#8211; Psipred prediction for this chain.</li>
 <li><strong>fragment_length</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Length (num. residues) of fragments to be extracted.</li>
 <li><strong>fragments_per_position</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Number of fragments to be extracted at each
@@ -328,7 +329,7 @@ want to generate</li>
 <li><strong>avg_sampling_per_position</strong> &#8211; 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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; The sequence profile for <strong>sequence</strong>. This increases the 
+<li><strong>profile</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; 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"><span class="pre">promod3.loop.PsipredPrediction</span></code></a>) &#8211; The psipred prediction for <strong>sequence</strong>. This
 increases the fragment search performance</li>
@@ -411,7 +412,7 @@ with the keys of the scores in <strong>scorer</strong></li>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/modelling/gap_handling.html b/doc/html/modelling/gap_handling.html
index 032f3350c35708976935479acb04659939e587f6..d273996b81a2fd13fd7400c246e1e0a508db258b 100644
--- a/doc/html/modelling/gap_handling.html
+++ b/doc/html/modelling/gap_handling.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Handling Gaps &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Handling Gaps &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="modelling - Protein Modelling" href="index.html" />
     <link rel="next" title="Handling Loop Candidates" href="loop_candidates.html" />
     <link rel="prev" title="Model Checking" href="model_checking.html" />
@@ -60,8 +61,8 @@ invalid residue handles to <cite>before</cite> or <cite>after</cite>.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.before" title="promod3.modelling.StructuralGap.before"><code class="xref py py-attr docutils literal"><span class="pre">before</span></code></a></li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.after" title="promod3.modelling.StructuralGap.after"><code class="xref py py-attr docutils literal"><span class="pre">after</span></code></a></li>
+<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.before" title="promod3.modelling.StructuralGap.before"><code class="xref py py-attr docutils literal"><span class="pre">before</span></code></a></li>
+<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.after" title="promod3.modelling.StructuralGap.after"><code class="xref py py-attr docutils literal"><span class="pre">after</span></code></a></li>
 <li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.seq" title="promod3.modelling.StructuralGap.seq"><code class="xref py py-attr docutils literal"><span class="pre">seq</span></code></a></li>
 </ul>
 </td>
@@ -116,7 +117,7 @@ are valid and:</p>
 <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/dev/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ChainHandle</span></code></a></td>
+<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/dev/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ChainHandle</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -267,13 +268,13 @@ extend the gap past another gap.</p>
 <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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>)</p>
+<dd><p>Residue before the gap (read-only, <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>)</p>
 </dd></dl>
 
 <dl class="attribute">
 <dt id="promod3.modelling.StructuralGap.after">
 <code class="descname">after</code><a class="headerlink" href="#promod3.modelling.StructuralGap.after" title="Permalink to this definition">¶</a></dt>
-<dd><p>Residue after the gap (read-only, <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>)</p>
+<dd><p>Residue after the gap (read-only, <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>)</p>
 </dd></dl>
 
 <dl class="attribute">
@@ -318,7 +319,7 @@ False if no new extension possible.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal"><span class="pre">StructuralGap</span></code></a>) &#8211; The gap which will be extended by <a class="reference internal" href="#promod3.modelling.GapExtender.Extend" title="promod3.modelling.GapExtender.Extend"><code class="xref py py-meth docutils literal"><span class="pre">Extend()</span></code></a>.</li>
-<li><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; The full sequence of the chain, the gap is associated with.</li>
+<li><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; The full sequence of the chain, the gap is associated with.</li>
 </ul>
 </td>
 </tr>
@@ -359,7 +360,7 @@ valid termini.</td>
 <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"><span class="pre">StructuralGap</span></code></a>) &#8211; 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"><span class="pre">Extend()</span></code></a>.</li>
-<li><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; The full sequence of the chain, the gap is associated with.</li>
+<li><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; 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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; <ul>
 <li>If -1, all possible non-terminal gaps are returned.</li>
 <li>If &gt;= 0, this restricts the max. gap-length
@@ -412,7 +413,7 @@ score = num_gap_extensions * <cite>extension_penalty</cite> + sum( <cite>penalti
 <li><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal"><span class="pre">StructuralGap</span></code></a>) &#8211; The gap which will be extended by <a class="reference internal" href="#promod3.modelling.ScoringGapExtender.Extend" title="promod3.modelling.ScoringGapExtender.Extend"><code class="xref py py-meth docutils literal"><span class="pre">Extend()</span></code></a>.</li>
 <li><strong>extension_penalty</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Penalty for length of gap.</li>
 <li><strong>penalties</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Penalty for each residue added to gap.</li>
-<li><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; The full sequence of the chain, the gap is associated with.</li>
+<li><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; 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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; <ul>
 <li>If -2, <a class="reference internal" href="#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal"><span class="pre">GapExtender</span></code></a> is used instead of <a class="reference internal" href="#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal"><span class="pre">FullGapExtender</span></code></a>
 (i.e. it stops at gaps and termini).</li>
@@ -652,7 +653,7 @@ gaps of different chains or an N-terminal gap with a C-terminal gap.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/modelling/index.html b/doc/html/modelling/index.html
index 79fbb0d1cc6ff30dd9e85dc0aebdb05f2097a5e4..a3ac0b9ca1f43d9a5f6127e1c42b354a7820dfaf 100644
--- a/doc/html/modelling/index.html
+++ b/doc/html/modelling/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>modelling - Protein Modelling &mdash; ProMod3 1.2.0 documentation</title>
+    <title>modelling - Protein Modelling &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,10 +23,11 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Documentation For Users" href="../users.html" />
     <link rel="next" title="Modelling Pipeline" href="pipeline.html" />
-    <link rel="prev" title="Building ProMod3" href="../buildsystem.html" />
+    <link rel="prev" title="Singularity" href="../container/singularity.html" />
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
@@ -129,7 +130,7 @@ a model fully automatically as follows:</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-      <li>Previous: <a href="../buildsystem.html" title="previous chapter">Building ProMod3</a></li>
+      <li>Previous: <a href="../container/singularity.html" title="previous chapter">Singularity</a></li>
       <li>Next: <a href="pipeline.html" title="next chapter">Modelling Pipeline</a></li>
   </ul></li>
   </ul></li>
@@ -157,7 +158,7 @@ a model fully automatically as follows:</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/modelling/loop_candidates.html b/doc/html/modelling/loop_candidates.html
index b1803ae6baaba3a96330a07192ae2987307a9f9b..de65ccf216e9c07d06b70446a5853ad3d27c6c3d 100644
--- a/doc/html/modelling/loop_candidates.html
+++ b/doc/html/modelling/loop_candidates.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Handling Loop Candidates &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Handling Loop Candidates &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="modelling - Protein Modelling" href="index.html" />
     <link rel="next" title="Fitting Loops Into Gaps" href="loop_closing.html" />
     <link rel="prev" title="Handling Gaps" href="gap_handling.html" />
@@ -132,8 +133,8 @@ a fragment database.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; The residue at the C-terminal end of the loop</li>
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; The residue at the C-terminal end of the loop</li>
 <li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; 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"><span class="pre">FragDB</span></code></a>) &#8211; The fragment database</li>
@@ -244,9 +245,9 @@ not depending on a metropolis criterium.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the n-stem positions every candidate
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><span class="pre">CCD()</span></code></a>.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the c-stem positions every candidate
+<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><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"><span class="pre">TorsionSampler</span></code></a> / <code class="xref py py-class docutils literal"><span class="pre">list</span></code>
 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"><span class="pre">TorsionSampler</span></code></a>) &#8211; A torsion sampler (used for all residues) or a list
@@ -288,9 +289,9 @@ candidate. This leads to an increase in number of loops.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the n-stem positions every candidate
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the c-stem positions every candidate
+<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the c-stem positions every candidate
 should match</li>
 <li><strong>pivot_one</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; First pivot residue</li>
 <li><strong>pivot_two</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Second pivot residue</li>
@@ -364,7 +365,7 @@ anything is raised when calculating the scores.</p>
 <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>
 <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/dev/seq/base/seq/#ost.seq.ProfileHandle.GetAverageScore" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.seq.ProfileHandle.GetAverageScore()</span></code></a> for
+<em>structure_db</em> (see <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle.GetAverageScore" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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 &#8220;score&#8221; is better! So take care when
 combining this to other scores, where it is commonly the other way around.</p>
@@ -380,7 +381,7 @@ with this DB).</p>
 <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"><span class="pre">ScoreContainer</span></code></a>) &#8211; 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"><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"><span class="pre">StructureDB</span></code></a>) &#8211; 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"><span class="pre">FillFromDatabase()</span></code></a></li>
-<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Profile information for target.</li>
+<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; Profile information for target.</li>
 <li><strong>offset</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Loop starts at index <em>offset</em> in <em>prof</em>.</li>
 </ul>
 </td>
@@ -412,8 +413,8 @@ positions and the corresponding atoms in <em>c_stem</em>.</p>
 <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"><span class="pre">ScoreContainer</span></code></a>) &#8211; 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"><span class="pre">ScoringWeights</span></code></a></li>
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; The residue at the C-terminal end of the loop.</li>
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; The residue at the C-terminal end of the loop.</li>
 </ul>
 </td>
 </tr>
@@ -1139,7 +1140,7 @@ scoring routines, <a class="reference internal" href="#promod3.modelling.ScoreCo
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/modelling/loop_closing.html b/doc/html/modelling/loop_closing.html
index d6e5827539347b83e178f2de00f6fbfc0a8fd73c..52ebde2059feba7e72d096792b30be8f0b7a702f 100644
--- a/doc/html/modelling/loop_closing.html
+++ b/doc/html/modelling/loop_closing.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Fitting Loops Into Gaps &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Fitting Loops Into Gaps &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="modelling - Protein Modelling" href="index.html" />
     <link rel="next" title="Generating Loops De Novo" href="monte_carlo.html" />
     <link rel="prev" title="Handling Loop Candidates" href="loop_candidates.html" />
@@ -47,8 +48,8 @@
 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="#canutescu2003" id="id1">[canutescu2003]</a></li>
-<li>Kinematic closure (KIC) <a class="reference internal" href="#mandell2009" id="id2">[mandell2009]</a></li>
+<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>
 </ul>
 </div></blockquote>
 <p>In case of small gaps or small issues in the loop you might also consider the
@@ -83,11 +84,11 @@ to avoid moving into unfavourable regions of the backbone dihedrals.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Sequence of the backbones to be closed</li>
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the n_stem.
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the n_stem.
 If the residue before <em>n_stem</em> doesn&#8217;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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the c_stem.
+<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the c_stem.
 If the residue after <em>c_stem</em> doesn&#8217;t exist, the
 torsion sampler will use a default residue (ALA) and
 psi angle (-0.7854) to evaluate the last angle.</li>
@@ -124,8 +125,8 @@ This is faster but might lead to weird backbone dihedral pairs.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the n_stem</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the c_stem</li>
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the n_stem</li>
+<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue defining the c_stem</li>
 <li><strong>max_steps</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Maximal number of iterations</li>
 <li><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; 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>
@@ -326,7 +327,7 @@ size or sequence as the initial one.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
+<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
 <li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Force constant in kJ/mol/nm^2</li>
 </ul>
 </td>
@@ -348,7 +349,7 @@ size or sequence as the initial one.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
+<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
 <li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Force constant in kJ/mol/nm^2</li>
 </ul>
 </td>
@@ -371,7 +372,7 @@ doesn&#8217;t do anything if specified residue is a glycine</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
+<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
 <li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Force constant in kJ/mol/nm^2</li>
 </ul>
 </td>
@@ -393,7 +394,7 @@ doesn&#8217;t do anything if specified residue is a glycine</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
+<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
 <li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Force constant in kJ/mol/nm^2</li>
 </ul>
 </td>
@@ -415,7 +416,7 @@ doesn&#8217;t do anything if specified residue is a glycine</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
+<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Restraint Position (in Angstrom)</li>
 <li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Force constant in kJ/mol/nm^2</li>
 </ul>
 </td>
@@ -588,19 +589,6 @@ the one given in the constructor.</td>
 
 </dd></dl>
 
-<p class="rubric">Citations</p>
-<table class="docutils citation" frame="void" id="canutescu2003" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id1">[canutescu2003]</a></td><td>Canutescu AA and Dunbrack RL Jr. (2003). Cyclic coordinate descent: A robotics algorithm for protein loop closure. Protein Sci. 12(5):963–972.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="mandell2009" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id2">[mandell2009]</a></td><td>Mandell DJ, Coutsias EA and Kortemme T (2009). Sub-angstrom accuracy in protein loop reconstruction by robotics-inspired conformational sampling. Nat Methods. 6(8):551-2.</td></tr>
-</tbody>
-</table>
 </div>
 </div>
 
@@ -655,7 +643,7 @@ the one given in the constructor.</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/modelling/model_checking.html b/doc/html/modelling/model_checking.html
index 914620c01d9b7ab91692936ea61927682e9a7a87..906b67d17afa9e1c515359689b1bd6c60e4febb2 100644
--- a/doc/html/modelling/model_checking.html
+++ b/doc/html/modelling/model_checking.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Model Checking &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Model Checking &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="modelling - Protein Modelling" href="index.html" />
     <link rel="next" title="Handling Gaps" href="gap_handling.html" />
     <link rel="prev" title="Modelling Pipeline" href="pipeline.html" />
@@ -57,14 +58,14 @@ three of the atoms exist (center and radii are estimated then).</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityView</span></code></a>) &#8211; Structure for which to detect rings.</td>
+<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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">EntityView</span></code></a>) &#8211; Structure for which to detect rings.</td>
 </tr>
 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of rings to perform ring checks. Each ring is a named
 tuple with:
-center (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>),
-plane (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/composite/#ost.geom.Plane" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Plane</span></code></a>),
+center (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Vec3</span></code></a>),
+plane (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/composite/#ost.geom.Plane" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Plane</span></code></a>),
 radius (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>),
-residue (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ResidueHandle</span></code></a>).</td>
+residue (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ResidueHandle</span></code></a>).</td>
 </tr>
 </tbody>
 </table>
@@ -80,11 +81,11 @@ residue (<a class="reference external" href="https://www.openstructure.org/docs/
 <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> &#8211; 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"><span class="pre">GetRings()</span></code></a>.</li>
-<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityView</span></code></a>) &#8211; Structure for which to detect punches.</li>
+<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">EntityView</span></code></a>) &#8211; Structure for which to detect punches.</li>
 </ul>
 </td>
 </tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of residues (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ResidueHandle</span></code></a>) which
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of residues (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ResidueHandle</span></code></a>) which
 have a punched ring.</p>
 </td>
 </tr>
@@ -103,7 +104,7 @@ This check is faster than using <a class="reference internal" href="#promod3.mod
 <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> &#8211; 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"><span class="pre">GetRings()</span></code></a>.</li>
-<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityView</span></code></a>) &#8211; Structure for which to detect punches.</li>
+<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">EntityView</span></code></a>) &#8211; Structure for which to detect punches.</li>
 </ul>
 </td>
 </tr>
@@ -128,7 +129,7 @@ This check is faster than using <a class="reference internal" href="#promod3.mod
 <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"><span class="pre">LoopCandidates</span></code>) &#8211; 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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a>) &#8211; Model for which loop is to be filled.</li>
+<li><strong>model</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a>) &#8211; 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"><span class="pre">StructuralGap</span></code></a>.) &#8211; Gap for which loop is to be filled.</li>
 <li><strong>orig_indices</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code>) &#8211; Mapping to old indexing of candidates. If given, it
 must have as many elements as <em>candidates</em>.</li>
@@ -193,7 +194,7 @@ with <code class="docutils literal"><span class="pre">MolProbity</span> <span cl
 <tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/2.7/library/stdtypes.html#dict" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><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/dev/base/settings/#ost.settings.FileNotFound" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">FileNotFound</span></code></a> if the &#8220;phenix.molprobity&#8221;
+<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/dev/base/settings/#ost.settings.FileNotFound" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">FileNotFound</span></code></a> if the &#8220;phenix.molprobity&#8221;
 executable is not found.</p>
 </td>
 </tr>
@@ -210,7 +211,7 @@ executable is not found.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>ost_ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Entity</span></code></a>) &#8211; OST entity on which to do analysis.</td>
+<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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Entity</span></code></a>) &#8211; OST entity on which to do analysis.</td>
 </tr>
 </tbody>
 </table>
@@ -282,7 +283,7 @@ executable is not found.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/modelling/monte_carlo.html b/doc/html/modelling/monte_carlo.html
index 6732e2a0fa011a0b43ada5c9968d35caabf3e393..8186f35520f454fd595ac135a1b5696efbe6f7fa 100644
--- a/doc/html/modelling/monte_carlo.html
+++ b/doc/html/modelling/monte_carlo.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Generating Loops De Novo &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Generating Loops De Novo &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="modelling - Protein Modelling" href="index.html" />
     <link rel="next" title="Sidechain Reconstruction" href="sidechain_reconstruction.html" />
     <link rel="prev" title="Fitting Loops Into Gaps" href="loop_closing.html" />
@@ -111,17 +112,18 @@ 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="method">
+<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=True</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>
+<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="reference internal" href="../_modules/promod3/modelling/_monte_carlo.html#SampleMonteCarlo"><span class="viewcode-link">[source]</span></a><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
-conformation gets accepted/rejected using a metropolis criterion based on the
-temperature given by the <em>cooler</em>
+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
+conformation gets accepted/rejected using a metropolis criterion based on 
+the temperature given by the <em>cooler</em> 
 =&gt; acceptance probability: exp(-delta_score/T).
-The result is stored in <em>bb_list</em> and is either the lowest energy conformation
-ever encountered or the last accepted proposal.</p>
+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" />
@@ -132,7 +134,7 @@ conformations.</li>
 <li><strong>closer</strong> (<a class="reference internal" href="#mc-closer-object"><span class="std std-ref">Closer Object</span></a>) &#8211; 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>) &#8211; 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>) &#8211; Cooler object to control the temperature of the
+<li><strong>cooler</strong> (<a class="reference internal" href="#mc-cooler-object"><span class="std std-ref">Cooler Object</span></a>) &#8211; 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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; 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"><span class="pre">BackboneList</span></code></a>) &#8211; The chosen conformation gets stored here.</li>
@@ -141,8 +143,8 @@ 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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Seed for internal random number generator.</li>
 <li><strong>lowest_energy_conformation</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; If True, we choose the lowest scoring
-conformation of the trajectory. Otherwise,
-the last accepted proposal.</li>
+conformation of the trajectory. 
+Otherwise, the last accepted proposal.</li>
 </ul>
 </td>
 </tr>
@@ -154,7 +156,61 @@ the last accepted proposal.</li>
 <span id="mc-sampler-object"></span><h2>Sampler Object<a class="headerlink" href="#sampler-object" title="Permalink to this headline">¶</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.</p>
+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"><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>
+<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>
+<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"><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"><span class="pre">promod3.loop.BackboneList</span></code></a>) &#8211; 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"><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>
+</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>
+<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"><span class="pre">promod3.loop.BackboneList</span></code></a>) &#8211; 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"><span class="pre">promod3.loop.BackboneList</span></code></a>) &#8211; 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"><span class="pre">promod3.loop.BackboneList</span></code></a> is assigned to
+this parameter.</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></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>
@@ -337,7 +393,7 @@ by any fragger remain rigid.</p>
 <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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Overall sequence</li>
-<li><strong>fraggers</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; 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"><span class="pre">Fragger</span></code></a> objects. The first
+<li><strong>fraggers</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code>) &#8211; 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"><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>
@@ -345,7 +401,7 @@ All fraggers must contain fragments of equal size.</li>
 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"><span class="pre">BackboneList</span></code></a> and
 results in a helix.</li>
-<li><strong>sampling_start_index</strong> &#8211; Defines the beginning of the region, that actually
+<li><strong>sampling_start_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; 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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; When calling the Initialize function, the positions get set
 to the ones of <em>init_bb_list</em>. This is the number of
@@ -400,7 +456,44 @@ fragger object to alter the conformation.</p>
 conformations typically have to undergo some structural changes, so they
 fit to a given environment. This can either be structural changes, that
 the stems of the sampled conformation overlap with given stem residues or
-or simple stem superposition in case of terminal sampling.</p>
+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"><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>
+<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>
+<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"><span class="pre">promod3.loop.BackboneList</span></code></a>) &#8211; 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"><span class="pre">promod3.loop.BackboneList</span></code></a>) &#8211; 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"><span class="pre">promod3.loop.BackboneList</span></code></a> is assigned to
+this parameter.</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/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a></p>
+</td>
+</tr>
+</tbody>
+</table>
+</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>
@@ -413,9 +506,9 @@ avoid moving into unfavourable phi/psi ranges.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><span class="pre">CCD()</span></code></a>.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation
+<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><span class="pre">CCD()</span></code></a>.</li>
 <li><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; 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"><span class="pre">TorsionSampler</span></code></a> / <code class="xref py py-class docutils literal"><span class="pre">list</span></code>
@@ -456,15 +549,16 @@ conformation to be closed.</li>
 <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>
 <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.</p>
+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"><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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation
 should adapt.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation
+<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation
 should adapt.</li>
 </ul>
 </td>
@@ -504,9 +598,9 @@ solutions. The KICCloser simply picks the first one.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation should
+<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation should
 adapt.</li>
-<li><strong>c_stem</strong> &#8211; Defining stem positions the closed conformation should
+<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation should
 adapt.</li>
 <li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Seed for internal random generators.</li>
 </ul>
@@ -539,49 +633,128 @@ adapt.</li>
 <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>
-<dd><p>The NTerminalCloser simply takes the conformation and closes by superposing
-the c_stem with the desired positions.</p>
+<dd><p>The <a class="reference internal" href="#promod3.modelling.NTerminalCloser" title="promod3.modelling.NTerminalCloser"><code class="xref py py-class docutils literal"><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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation should
+<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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation should
 adapt.</td>
 </tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Whether closing was successful</td>
+</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"><span class="pre">BackboneList</span></code></a>) &#8211; 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"><span class="pre">BackboneList</span></code></a>) &#8211; Closed (transformed) conformation gets stored in
+here.</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></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>
-<dd><p>The CTerminalCloser simply takes the conformation and closes by superposing
-the n_stem with the desired positions.</p>
+<dd><p>The <a class="reference internal" href="#promod3.modelling.CTerminalCloser" title="promod3.modelling.CTerminalCloser"><code class="xref py py-class docutils literal"><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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation should
+<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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Defining stem positions the closed conformation should
 adapt.</td>
 </tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Whether closing was successful</td>
+</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"><span class="pre">BackboneList</span></code></a>) &#8211; 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"><span class="pre">BackboneList</span></code></a>) &#8211; Closed (transformed) conformation gets stored in
+here.</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></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>
+<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>
+<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>
 <p>The scorer asses a proposed conformation and are intended to return a pseudo
-energy, the lower the better.</p>
+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"><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>
+<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>
+<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"><span class="pre">promod3.loop.BackboneList</span></code></a>) &#8211; 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/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
 <dl class="class">
-<dt>
-<code class="descname">LinearScorer(scorer, scorer_env, start_resnum, num_residues,</code></dt>
-<dt>
-<code class="descname">chain_idx, linear_weights)</code></dt>
+<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>
 <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"><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"><span class="pre">CalculateLinearCombination()</span></code></a> for a
@@ -589,7 +762,7 @@ 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
-<a class="reference internal" href="#promod3.modelling.GetScore" title="promod3.modelling.GetScore"><code class="xref py py-func docutils literal"><span class="pre">GetScore()</span></code></a> call.
+<a class="reference internal" href="#promod3.modelling.LinearScorer.GetScore" title="promod3.modelling.LinearScorer.GetScore"><code class="xref py py-func docutils literal"><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"><span class="pre">BackboneScoreEnv</span></code></a> to restore to the
 original state once the sampling is done.</p>
@@ -617,8 +790,8 @@ which no scorer exists</p>
 </tbody>
 </table>
 <dl class="method">
-<dt id="promod3.modelling.GetScore">
-<code class="descclassname">promod3.modelling.</code><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.GetScore" title="Permalink to this definition">¶</a></dt>
+<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" />
@@ -640,13 +813,44 @@ which no scorer exists</p>
 <span id="mc-cooler-object"></span><h2>Cooler Object<a class="headerlink" href="#cooler-object" title="Permalink to this headline">¶</a></h2>
 <p>The cooler objects control the temperature of the Monte Carlo trajectory.
 They&#8217;re intended to deliver steadily decreasing temperatures with calls
-to their GetTemperature function.</p>
+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"><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>
+<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/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a></td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="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>
+<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>
 <dd><p>The exponential cooler starts with a given <em>start_temperature</em> and counts the
-calls to its GetTemperature function. According to the <em>change_frequency</em>,
-the returned temperature gets multiplied by the <em>cooling_factor</em>.</p>
+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"><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" />
@@ -676,7 +880,8 @@ the returned temperature gets multiplied by the <em>cooling_factor</em>.</p>
 <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><p>Sets current temperature back to <em>start_temperature</em></p>
+<dd><p>Sets current temperature back to <em>start_temperature</em> and the
+internal counter to 0</p>
 </dd></dl>
 
 </dd></dl>
@@ -735,7 +940,7 @@ the returned temperature gets multiplied by the <em>cooling_factor</em>.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/modelling/pipeline.html b/doc/html/modelling/pipeline.html
index 9973f610b7e21bd5badbd8e66be478d0bc0272bd..7d998f48befc7775c95dbfd58b7046cf79c583d8 100644
--- a/doc/html/modelling/pipeline.html
+++ b/doc/html/modelling/pipeline.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Modelling Pipeline &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Modelling Pipeline &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="modelling - Protein Modelling" href="index.html" />
     <link rel="next" title="Model Checking" href="model_checking.html" />
     <link rel="prev" title="modelling - Protein Modelling" href="index.html" />
@@ -117,7 +118,7 @@ chain follows afterwards.</p>
 <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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a></td>
+<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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -143,13 +144,13 @@ Gaps of different chains are appended one after another.</p>
 <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/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">SequenceHandle</span></code></a> for each chain
+<dd><p>List of sequences with one <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">SequenceList</span></code></a></td>
+<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/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">SequenceList</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -158,7 +159,7 @@ of the target protein.</p>
 <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/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a> for each chain of
+<dd><p>List of profiles with one <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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"><span class="pre">seqres</span></code></a>). Please note, that this
 attribute won&#8217;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"><span class="pre">BuildFromRawModel()</span></code></a>. You have
 to fill it manually or even better by the convenient function
@@ -167,7 +168,7 @@ to fill it manually or even better by the convenient function
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a></td>
+<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -321,7 +322,7 @@ 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/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityView</span></code></a> attached.</p>
+<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">EntityView</span></code></a> attached.</p>
 <p>This is a basic protein core modelling algorithm that copies backbone
 coordinates based on the sequence alignment. For matching residues, the
 side chain coordinates are also copied. Gaps are ignored. Hydrogen an
@@ -349,7 +350,7 @@ as information about insertions and deletions in the gaps list.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>aln</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">AlignmentHandle</span></code></a> / <code class="xref py py-class docutils literal"><span class="pre">AlignmentList</span></code>) &#8211; Single alignment handle for raw model with single chain or
+<li><strong>aln</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">AlignmentHandle</span></code></a> / <code class="xref py py-class docutils literal"><span class="pre">AlignmentList</span></code>) &#8211; 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/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; True, if we wish to include ligands in the model. This
 searches for ligands in all OST handles of the views
@@ -375,7 +376,7 @@ in SMTL). All ligands are added to a new chain named
 <li>the second sequence does not have an attached structure</li>
 <li>the residues of the template structure do not match with the
 alignment sequence (note that you can set an &#8220;offset&#8221; (see
-<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.AlignmentHandle.SetSequenceOffset" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">SetSequenceOffset()</span></code></a>) for the
+<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.AlignmentHandle.SetSequenceOffset" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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>
@@ -413,12 +414,12 @@ return an incomplete model.</p>
 <li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) &#8211; 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/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; if True, use the AMBER force field instead of the def.
-CHARMM one (see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/forcefield/#ost.mol.mm.LoadAMBERForcefield" title="(in OpenStructure v1.7.1)"><code class="xref py py-func docutils literal"><span class="pre">ost.mol.mm.LoadAMBERForcefield()</span></code></a>
-and <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/forcefield/#ost.mol.mm.LoadCHARMMForcefield" title="(in OpenStructure v1.7.1)"><code class="xref py py-func docutils literal"><span class="pre">ost.mol.mm.LoadCHARMMForcefield()</span></code></a>).
+CHARMM one (see <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/forcefield/#ost.mol.mm.LoadAMBERForcefield" title="(in OpenStructure v1.8.0)"><code class="xref py py-func docutils literal"><span class="pre">ost.mol.mm.LoadAMBERForcefield()</span></code></a>
+and <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/forcefield/#ost.mol.mm.LoadCHARMMForcefield" title="(in OpenStructure v1.8.0)"><code class="xref py py-func docutils literal"><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> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/forcefield/#ost.mol.mm.Forcefield" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.mm.Forcefield</span></code></a>) &#8211; Additional list of force fields to use if a 
+<li><strong>extra_force_fields</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/forcefield/#ost.mol.mm.Forcefield" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.mm.Forcefield</span></code></a>) &#8211; 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
@@ -429,7 +430,7 @@ existing parametrization are skipped.</li>
 <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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Entity</span></code></a></p>
+<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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Entity</span></code></a></p>
 </td>
 </tr>
 </tbody>
@@ -604,7 +605,7 @@ environments get updated in <strong>target_mhandle</strong>.</p>
 <li><strong>target_chain_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; This is the chain where the info goes to</li>
 <li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; First residue of the copied stretch</li>
 <li><strong>end_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Last residue of the copied stretch</li>
-<li><strong>transform</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a>) &#8211; Transformation to be applied to all atom positions when
+<li><strong>transform</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Mat4</span></code></a>) &#8211; Transformation to be applied to all atom positions when
 they&#8217;re copied over</li>
 </ul>
 </td>
@@ -635,7 +636,7 @@ while ensuring consistency with the <a class="reference internal" href="#promod3
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal"><span class="pre">ModellingHandle</span></code></a>) &#8211; Will have the profiles attached afterwards</li>
-<li><strong>profiles</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; The sequence profiles to attach</li>
+<li><strong>profiles</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.ProfileHandle</span></code></a>) &#8211; The sequence profiles to attach</li>
 </ul>
 </td>
 </tr>
@@ -769,7 +770,7 @@ For the scondary-structure-penalty to work,
 the model-template must have the appropriate
 information before <a class="reference internal" href="#promod3.modelling.BuildRawModel" title="promod3.modelling.BuildRawModel"><code class="xref py py-func docutils literal"><span class="pre">BuildRawModel()</span></code></a> is
 called (e.g. with 
-<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/alg/molalg/#ost.mol.alg.AssignSecStruct" title="(in OpenStructure v1.7.1)"><code class="xref py py-meth docutils literal"><span class="pre">ost.mol.alg.AssignSecStruct()</span></code></a>).</li>
+<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/alg/molalg/#ost.mol.alg.AssignSecStruct" title="(in OpenStructure v1.8.0)"><code class="xref py py-meth docutils literal"><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/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; 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"><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"><span class="pre">GapExtender</span></code></a>. Also works in combination
 with <cite>use_scoring_extender</cite>. This allows the gap
@@ -1100,7 +1101,7 @@ fragger handle for each chain in <em>mhandle</em>.</li>
 
 <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><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_pipeline.html#BuildSidechains"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.BuildSidechains" title="Permalink to this definition">¶</a></dt>
+<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="reference internal" href="../_modules/promod3/modelling/_pipeline.html#BuildSidechains"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.BuildSidechains" title="Permalink to this definition">¶</a></dt>
 <dd><p>Build sidechains for model.</p>
 <p>This is 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"><span class="pre">promod3.modelling.ReconstructSidechains()</span></code></a>, 
 followed by a check for ring punches. If ring punches are found it 
@@ -1123,6 +1124,10 @@ 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"><span class="pre">TorsionSampler</span></code></a>) &#8211; Used as parameter for <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal"><span class="pre">FillLoopsByDatabase()</span></code></a>
 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"><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"><span class="pre">BBDepRotamerLib</span></code></a>) &#8211; Used as parameter for 
+<code class="xref py py-func docutils literal"><span class="pre">modelling.ReconstructSidechains()</span></code>, a default 
+one is loaded if None.</li>
 </ul>
 </td>
 </tr>
@@ -1134,7 +1139,7 @@ if None.</li>
 <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><span class="sig-paren">)</span><a class="reference internal" href="../_modules/promod3/modelling/_pipeline.html#MinimizeModelEnergy"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#promod3.modelling.MinimizeModelEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Minimize energy of final model using molecular mechanics.</p>
-<p>Uses <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v1.7.1)"><code class="xref py py-mod docutils literal"><span class="pre">ost.mol.mm</span></code></a> to perform energy minimization.
+<p>Uses <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v1.8.0)"><code class="xref py py-mod docutils literal"><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>
@@ -1158,7 +1163,7 @@ If the variable is not set, 1 thread will be used by default.</p>
 <li><strong>max_iter_lbfgs</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Max. number of iterations within LBFGS method</li>
 <li><strong>use_amber_ff</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; 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"><span class="pre">BuildFromRawModel()</span></code></a>).</li>
-<li><strong>extra_force_fields</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/forcefield/#ost.mol.mm.Forcefield" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.mm.Forcefield</span></code></a>) &#8211; Additional list of force fields to use (see
+<li><strong>extra_force_fields</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/mm/forcefield/#ost.mol.mm.Forcefield" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.mm.Forcefield</span></code></a>) &#8211; 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"><span class="pre">BuildFromRawModel()</span></code></a>).</li>
 </ul>
 </td>
@@ -1166,7 +1171,7 @@ CHARMM one (see <a class="reference internal" href="#promod3.modelling.BuildFrom
 <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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">Entity</span></code></a></p>
+<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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">Entity</span></code></a></p>
 </td>
 </tr>
 </tbody>
@@ -1240,7 +1245,7 @@ CHARMM one (see <a class="reference internal" href="#promod3.modelling.BuildFrom
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/modelling/sidechain_reconstruction.html b/doc/html/modelling/sidechain_reconstruction.html
index 85e5fae720597dac6cad027ccab4fa3d2bf0d636..67bb2f71a5b0c7250f34c6ed6ce9b7c40924eaf6 100644
--- a/doc/html/modelling/sidechain_reconstruction.html
+++ b/doc/html/modelling/sidechain_reconstruction.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Sidechain Reconstruction &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Sidechain Reconstruction &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="modelling - Protein Modelling" href="index.html" />
     <link rel="next" title="Modelling Algorithms" href="algorithms.html" />
     <link rel="prev" title="Generating Loops De Novo" href="monte_carlo.html" />
@@ -46,7 +47,7 @@
 <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"><span class="pre">ReconstructSidechains()</span></code></a> function handles a full OST
-<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">EntityHandle</span></code></a></li>
+<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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"><span class="pre">SidechainReconstructor</span></code></a> is linked to an all atom environment
 and used to reconstruct sidechains of single loops</li>
 </ul>
@@ -101,7 +102,7 @@ and used to reconstruct sidechains of single loops</li>
 <col 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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>) &#8211; Structure for sidechain reconstruction. Note, that the sidechain
+<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>) &#8211; Structure for sidechain reconstruction. Note, that the sidechain
 reconstruction gets directly applied on the structure itself.</li>
 <li><strong>keep_sidechains</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; Flag, whether complete sidechains in <em>ent</em> (i.e. 
 containing all required atoms) should be kept rigid
@@ -114,8 +115,7 @@ the frame.</li>
 <li><strong>consider_ligands</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; Flag, whether to add ligands (anything in chain
 &#8216;_&#8217;) as static objects.</li>
 <li><strong>rotamer_library</strong> (<code class="xref py py-class docutils literal"><span class="pre">BBDepRotamerLib</span></code> / <code class="xref py py-class docutils literal"><span class="pre">RotamerLib</span></code>) &#8211; A rotamer library to extract the rotamers from. The
-default is the <code class="xref py py-meth docutils literal"><span class="pre">Dunbrack</span></code>
-library.</li>
+default is to call <code class="xref py py-meth docutils literal"><span class="pre">&lt;LoadBBDepLib&gt;()</span></code>.</li>
 <li><strong>optimize_subrotamers</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; Only considered when <em>rotamer_model</em>
 is &#8220;frm&#8221;.
 If set to True, the FRM solution undergoes 
@@ -212,7 +212,7 @@ environment before calling this!</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Start of loop.</li>
+<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Start of loop.</li>
 <li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Length of loop.</li>
 <li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Chain the loop belongs to.</li>
 <li><strong>start_resnum_list</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Starts of loops.</li>
@@ -253,9 +253,9 @@ if multiple reconstructors are used (or you must use a distinct <em>env</em>).</
 <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"><span class="pre">AllAtomEnv</span></code></a>) &#8211; Link to this environment.</li>
 <li><strong>use_frm</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; If True, use flexible rotamer model, else rigid.</li>
 <li><strong>use_bbdep_lib</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; If True, use default backbone dependent rot. library
-(<code class="xref py py-meth docutils literal"><span class="pre">Dunbrack</span></code>), else use
+(<code class="xref py py-meth docutils literal"><span class="pre">LoadBBDepLib()</span></code>), else use
 backbone independent one
-(<code class="xref py py-meth docutils literal"><span class="pre">Penultimate</span></code>).</li>
+(<code class="xref py py-meth docutils literal"><span class="pre">LoadLib()</span></code>).</li>
 <li><strong>rotamer_library</strong> (<code class="xref py py-class docutils literal"><span class="pre">BBDepRotamerLib</span></code> / <code class="xref py py-class docutils literal"><span class="pre">RotamerLib</span></code>) &#8211; Custom rotamer library to be used.</li>
 </ul>
 </td>
@@ -439,7 +439,7 @@ in the environment (same length as <em>env_pos.res_indices</em>)</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/objects.inv b/doc/html/objects.inv
index c7226c83d6d29c07ee6392a031ad29887d8c9f0f..f48241f38276d2e99ac3e7e82e959edb969244eb 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 ce9c3bed25946e90ca661dc414a86805a914c840..4fb4577a3af5b85d4e07184e241a77d59a86565c 100644
--- a/doc/html/portableIO.html
+++ b/doc/html/portableIO.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Using Binary Files In ProMod3 &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Using Binary Files In ProMod3 &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,9 +23,10 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
     <link rel="up" title="Documentation For Developers" href="developers.html" />
-    <link rel="next" title="Changelog" href="changelog.html" />
+    <link rel="next" title="License" href="license.html" />
     <link rel="prev" title="ProMod3‘s Share Of CMake" href="cmake/index.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
@@ -408,9 +409,9 @@ and non-portable I/O:</p>
 </ul>
 </li>
 <li>module <code class="docutils literal"><span class="pre">sidechain</span></code>:<ul>
-<li><code class="file docutils literal"><span class="pre">2010DunbrackLib.dat</span></code>
+<li><code class="file docutils literal"><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"><span class="pre">BBDepRotamerLib</span></code></a>)</li>
-<li><code class="file docutils literal"><span class="pre">PenultimateLib.dat</span></code>
+<li><code class="file docutils literal"><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"><span class="pre">RotamerLib</span></code></a>)</li>
 </ul>
 </li>
@@ -450,7 +451,7 @@ in the <code class="file docutils literal"><span class="pre">extras/data_generat
   <li><a href="index.html">Documentation overview</a><ul>
   <li><a href="developers.html">Documentation For Developers</a><ul>
       <li>Previous: <a href="cmake/index.html" title="previous chapter">ProMod3&#8216;s Share Of CMake</a></li>
-      <li>Next: <a href="changelog.html" title="next chapter">Changelog</a></li>
+      <li>Next: <a href="license.html" title="next chapter">License</a></li>
   </ul></li>
   </ul></li>
 </ul>
@@ -477,7 +478,7 @@ in the <code class="file docutils literal"><span class="pre">extras/data_generat
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/py-modindex.html b/doc/html/py-modindex.html
index 94cc934014dc70ed49d89fbccbc9117b373ad337..dfe91145475f83d296f076a203068b815e156073 100644
--- a/doc/html/py-modindex.html
+++ b/doc/html/py-modindex.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Python Module Index &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Python Module Index &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
 
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
@@ -131,7 +132,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/references.html b/doc/html/references.html
new file mode 100644
index 0000000000000000000000000000000000000000..c6a966468b4a871b84239adaf9a4c5424a94750e
--- /dev/null
+++ b/doc/html/references.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>References &mdash; ProMod3 1.3.0 documentation</title>
+    
+    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    './',
+        VERSION:     '1.3.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
+    <link rel="next" title="Changelog" href="changelog.html" />
+    <link rel="prev" title="License" href="license.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 role="document">
+  
+
+    <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,
+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).
+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).
+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).
+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).
+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).
+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).
+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).
+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).
+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).
+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).
+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="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).
+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).
+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
+potentials and threading score functions using information
+maximization. Proteins.</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).
+Fold Recognition by Combining Sequence Profiles Derived From
+Evolution and From Depth-Dependent Structural Alignment of
+Fragments. Proteins.</td></tr>
+</tbody>
+</table>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+        <div class="sphinxsidebarwrapper"><div class="relations">
+<h3>Related Topics</h3>
+<ul>
+  <li><a href="index.html">Documentation overview</a><ul>
+      <li>Previous: <a href="license.html" title="previous chapter">License</a></li>
+      <li>Next: <a href="changelog.html" title="next chapter">Changelog</a></li>
+  </ul></li>
+</ul>
+</div>
+  <div role="note" aria-label="source link">
+    <h3>This Page</h3>
+    <ul class="this-page-menu">
+      <li><a href="_sources/references.txt"
+            rel="nofollow">Show Source</a></li>
+    </ul>
+   </div>
+<div id="searchbox" style="display: none" role="search">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      
+      |
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      
+      |
+      <a href="_sources/references.txt"
+          rel="nofollow">Page source</a>
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/doc/html/scoring/all_atom_scorers.html b/doc/html/scoring/all_atom_scorers.html
index 983fd1a43688c709ba13f6608a27e1cbd61780b1..0fce2172d3357e8ab9a5bee0837e943696cc9a74 100644
--- a/doc/html/scoring/all_atom_scorers.html
+++ b/doc/html/scoring/all_atom_scorers.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>All Atom Scorers &mdash; ProMod3 1.2.0 documentation</title>
+    <title>All Atom Scorers &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="scoring - Loop Scoring" href="index.html" />
     <link rel="next" title="Other Scoring Functions" href="other_scoring_functions.html" />
     <link rel="prev" title="Backbone Scorers" href="backbone_scorers.html" />
@@ -568,7 +569,7 @@ of residues in the input loop. True by default.</td>
 <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"><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="other_scoring_functions.html#canutescu2003b" id="id1">[canutescu2003b]</a>). By default, the scorer calculates the scores by
+<a class="reference internal" href="../references.html#canutescu2003b" id="id1">[canutescu2003b]</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>
@@ -671,7 +672,7 @@ of residues in the input loop. True by default.</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/scoring/backbone_score_env.html b/doc/html/scoring/backbone_score_env.html
index e1b57c32a98e58a6133441cde6027450387db6b9..a5a744a73dde97efc0b9395b123095eef4ce1fac 100644
--- a/doc/html/scoring/backbone_score_env.html
+++ b/doc/html/scoring/backbone_score_env.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Backbone Score Environment &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Backbone Score Environment &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="scoring - Loop Scoring" href="index.html" />
     <link rel="next" title="Backbone Scorers" href="backbone_scorers.html" />
     <link rel="prev" title="scoring - Loop Scoring" href="index.html" />
@@ -68,8 +69,8 @@ task.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a> /
-<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceList</span></code></a>) &#8211; Internal SEQRES to be set (single chain or list with one per
+<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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a> /
+<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceList</span></code></a>) &#8211; 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>
@@ -106,7 +107,7 @@ structural data was already set, all the existing data gets cleared first.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>env_structure</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>) &#8211; Structral data to be set as environment. The chains
+<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/dev/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.EntityHandle</span></code></a>) &#8211; 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>
@@ -130,7 +131,7 @@ positions.</p>
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>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"><span class="pre">BackboneList</span></code></a>) &#8211; Structural data to be set as environment.</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Res. number defining the position in the SEQRES.</li>
+<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResNum</span></code></a>) &#8211; Res. number defining the position in the SEQRES.</li>
 <li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Index of chain the structural data belongs to.</li>
 </ul>
 </td>
@@ -279,7 +280,7 @@ providing lists of integers.</p>
 <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/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceList</span></code></a></td>
+<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/dev/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceList</span></code></a></td>
 </tr>
 </tbody>
 </table>
@@ -328,9 +329,9 @@ providing lists of integers.</p>
 <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>
 <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"><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 liner interpolation assuming the first and last
-value exactly lying on <em>min_dist</em> ang <em>max_dist</em>. For distances outside the
-range defined by <em>min_dist</em> and <em>max_dist</em>, the score is 0.0.</p>
+<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" />
@@ -343,10 +344,7 @@ between <em>min_dist</em> and <em>max_dist</em></li>
 </ul>
 </td>
 </tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Index of added constraint definition</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/2.7/library/exceptions.html#exceptions.RuntimeError" title="(in Python v2.7)"><code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code></a> if <em>min_dist</em> &gt;= <em>max_dist</em> or when
+<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/2.7/library/exceptions.html#exceptions.RuntimeError" title="(in Python v2.7)"><code class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></code></a> 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>
@@ -360,7 +358,7 @@ elements</p>
 <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>
 <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"><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 otherwise.</p>
+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" />
@@ -389,7 +387,7 @@ The constraint functions are built after the principle of QMEANDisCo.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>seqres</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; The sequence with which all added structures must match</li>
+<li><strong>seqres</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.SequenceHandle</span></code></a>) &#8211; 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"><span class="pre">PairwiseFunctionType</span></code></a>) &#8211; Whether you want to assess pairwise distances between CA
 or CB atoms</li>
 </ul>
@@ -404,7 +402,7 @@ or CB atoms</li>
 <col class="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/dev/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) &#8211; Alignment, where first sequence represent the initial
+<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/dev/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) &#8211; 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>
@@ -510,7 +508,7 @@ inconsistent with SEQRES you initialized the DiscoContainer with</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/scoring/backbone_scorers.html b/doc/html/scoring/backbone_scorers.html
index 71276424ad8d5762fa2f4f87b16a5e46d6c22fa1..986fd44da79fc557f4e535321a4c4dfb06a8ad33 100644
--- a/doc/html/scoring/backbone_scorers.html
+++ b/doc/html/scoring/backbone_scorers.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Backbone Scorers &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Backbone Scorers &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="scoring - Loop Scoring" href="index.html" />
     <link rel="next" title="All Atom Scorers" href="all_atom_scorers.html" />
     <link rel="prev" title="Backbone Score Environment" href="backbone_score_env.html" />
@@ -380,7 +381,7 @@ called for every type of amino acids and for every <em>count</em> &lt;= <em>max_
 <col 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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for which to set energy.</li>
+<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for which to set energy.</li>
 <li><strong>count</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Number of surrounding CB positions for which to set energy.</li>
 <li><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Energy to set for those parameters.</li>
 </ul>
@@ -442,9 +443,9 @@ of amino acids.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Radius in which other cbeta atoms are counted.</li>
+<li><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Radius in which other cbeta atoms are considered.</li>
 <li><strong>bins</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Number of equally sized bins to discretize distances (range
-of [0,*cutoff*]).</li>
+of [0, <em>cutoff</em>]).</li>
 <li><strong>seq_sep</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Minimal separation in sequence two cbeta atoms must have to
 be considered.</li>
 </ul>
@@ -514,8 +515,8 @@ SetEnergy(aa2, aa1, bin, energy).</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>aa1</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for first interaction partner.</li>
-<li><strong>aa2</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for second interaction partner.</li>
+<li><strong>aa1</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for first interaction partner.</li>
+<li><strong>aa2</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for second interaction partner.</li>
 <li><strong>bin</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Discrete bin describing the interaction distance.</li>
 <li><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Energy to set for those parameters.</li>
 </ul>
@@ -694,8 +695,8 @@ SetEnergy(aa2, aa1, dist_bin, beta_bin, alpha_bin, energy).</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>aa1</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for first interaction partner.</li>
-<li><strong>aa2</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for second interaction partner.</li>
+<li><strong>aa1</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for first interaction partner.</li>
+<li><strong>aa2</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; Amino acid for second interaction partner.</li>
 <li><strong>dist_bin</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Discrete bin describing the interaction distance.</li>
 <li><strong>alpha_bin</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Discrete bin describing the alpha angle.</li>
 <li><strong>beta_bin</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Discrete bin describing the beta angle.</li>
@@ -780,7 +781,7 @@ of residues to be scored. True by default.</td>
 <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"><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="other_scoring_functions.html#canutescu2003b" id="id1">[canutescu2003b]</a>).</p>
+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>
@@ -1387,7 +1388,7 @@ of residues to be scored. True by default.</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/scoring/index.html b/doc/html/scoring/index.html
index e733603063ec5484bad703f5de8006b1f24d4029..000b9b1b51955a090a9d37b16767545126d35e66 100644
--- a/doc/html/scoring/index.html
+++ b/doc/html/scoring/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>scoring - Loop Scoring &mdash; ProMod3 1.2.0 documentation</title>
+    <title>scoring - Loop Scoring &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Documentation For Users" href="../users.html" />
     <link rel="next" title="Backbone Score Environment" href="backbone_score_env.html" />
     <link rel="prev" title="Subrotamer Optimization" href="../sidechain/subrotamer_optimizer.html" />
@@ -44,7 +45,11 @@
   <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"><span class="pre">scoring</span></code></a> - Loop Scoring<a class="headerlink" href="#module-promod3.scoring" title="Permalink to this headline">¶</a></h1>
 <p>Tools and algorithms to score loops. The scoring system is split between an
-environment which contains model-specific data and scorers which evaluate loops.</p>
+environment and scorers.
+Several scorers can be attached to the same environment containing the
+actual structural data of the current modelling problem.
+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"><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>
@@ -147,7 +152,7 @@ scorers to it and finally score some loops:</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/scoring/other_scoring_functions.html b/doc/html/scoring/other_scoring_functions.html
index 998c0c6c19f3cec55ad955d5c844295d786d62b2..808f5acc128c968b6770224ed24e8f5aa87dfa3a 100644
--- a/doc/html/scoring/other_scoring_functions.html
+++ b/doc/html/scoring/other_scoring_functions.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Other Scoring Functions &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Other Scoring Functions &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="scoring - Loop Scoring" href="index.html" />
     <link rel="next" title="loop - Loop Handling" href="../loop/index.html" />
     <link rel="prev" title="All Atom Scorers" href="all_atom_scorers.html" />
@@ -49,7 +50,7 @@
 <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>
 <dd><p>Pairwise score from the SCWRL3 sidechain construction algorithm
-<a class="reference internal" href="#canutescu2003b" id="id1">[canutescu2003b]</a>.</p>
+<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" />
@@ -82,7 +83,7 @@ Suggestions from the paper:</p>
 <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>
 <dd><p>Implements the empirically derived disulfid score from the SCWRL3 sidechain
-construction algorithm <a class="reference internal" href="#canutescu2003b" id="id2">[canutescu2003b]</a>.</p>
+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" />
@@ -107,12 +108,6 @@ construction algorithm <a class="reference internal" href="#canutescu2003b" id="
 </table>
 </dd></dl>
 
-<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><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id2">2</a>)</em> Canutescu AA, Shelenkov AA, Dunbrack RL Jr. (2003). A graph-theory algorithm for rapid protein side-chain prediction. Protein Sci (2003).</td></tr>
-</tbody>
-</table>
 </div>
 </div>
 
@@ -164,7 +159,7 @@ construction algorithm <a class="reference internal" href="#canutescu2003b" id="
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/search.html b/doc/html/search.html
index 175b5dbecda4fd05bc276408aaeabcf79e257d85..385d102bf319742391c5f947956f78f14f02b593 100644
--- a/doc/html/search.html
+++ b/doc/html/search.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Search &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Search &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,8 +23,9 @@
     <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="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>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
   <script type="text/javascript">
     jQuery(function() { Search.loadIndex("searchindex.js"); });
   </script>
@@ -86,7 +87,7 @@
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/searchindex.js b/doc/html/searchindex.js
index 0c62df2650b19609ccc5d2fdf8536279e9693cc2..97200f95abb98a15977970df4ef4efcfaf0cbab7 100644
--- a/doc/html/searchindex.js
+++ b/doc/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:47,filenames:["actions/index","actions/index_dev","buildsystem","changelog","cmake/index","contributing","core/geometry","core/graph_minimizer","core/helper","core/index","core/pm3argparse","core/runtime_profiling","core/setcompoundschemlib","dev_setup","developers","gettingstarted","index","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","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_id","sidechain/rotamer_lib","sidechain/subrotamer_optimizer","users"],objects:{"":{"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:[6,1,1,""],ConstructCBetaPos:[6,1,1,""],ConstructCTerminalOxygens:[6,1,1,""],EvaluateGromacsPosRule:[6,1,1,""],GraphMinimizer:[7,3,1,""],RotationAroundLine:[6,1,1,""],StaticRuntimeProfiler:[11,3,1,""],StemCoords:[6,3,1,""],StemPairOrientation:[6,3,1,""],helper:[8,2,0,"-"],pm3argparse:[10,2,0,"-"]},"promod3.core.GraphMinimizer":{AStarSolve:[7,4,1,""],AddEdge:[7,4,1,""],AddNode:[7,4,1,""],ApplyDEE:[7,4,1,""],ApplyEdgeDecomposition:[7,4,1,""],MCSolve:[7,4,1,""],NaiveSolve:[7,4,1,""],Prune:[7,4,1,""],Reset:[7,4,1,""],TreeSolve:[7,4,1,""]},"promod3.core.StaticRuntimeProfiler":{Clear:[11,5,1,""],IsEnabled:[11,5,1,""],PrintSummary:[11,5,1,""],Start:[11,5,1,""],StartScoped:[11,5,1,""],Stop:[11,5,1,""]},"promod3.core.StemCoords":{c_coord:[6,6,1,""],ca_coord:[6,6,1,""],n_coord:[6,6,1,""]},"promod3.core.StemPairOrientation":{angle_four:[6,6,1,""],angle_one:[6,6,1,""],angle_three:[6,6,1,""],angle_two:[6,6,1,""],distance:[6,6,1,""]},"promod3.core.helper":{FileExists:[8,1,1,""],FileExtension:[8,1,1,""],FileGzip:[8,1,1,""],MsgErrorAndExit:[8,1,1,""]},"promod3.core.pm3argparse":{PM3ArgumentParser:[10,3,1,""]},"promod3.core.pm3argparse.PM3ArgumentParser":{"__init__":[10,4,1,""],AddAlignment:[10,4,1,""],AddStructure:[10,4,1,""],AssembleParser:[10,4,1,""],Parse:[10,4,1,""],action:[10,6,1,""]},"promod3.loop":{AllAtomEnv:[17,3,1,""],AllAtomEnvPositions:[17,3,1,""],AllAtomPositions:[17,3,1,""],AminoAcidAtom:[17,3,1,""],AminoAcidHydrogen:[17,3,1,""],AminoAcidLookup:[17,3,1,""],BackboneList:[18,3,1,""],CoordInfo:[22,3,1,""],ForcefieldAminoAcid:[21,3,1,""],ForcefieldBondInfo:[21,3,1,""],ForcefieldConnectivity:[21,3,1,""],ForcefieldHarmonicAngleInfo:[21,3,1,""],ForcefieldHarmonicImproperInfo:[21,3,1,""],ForcefieldLJPairInfo:[21,3,1,""],ForcefieldLookup:[21,3,1,""],ForcefieldPeriodicDihedralInfo:[21,3,1,""],ForcefieldUreyBradleyAngleInfo:[21,3,1,""],FragDB:[22,3,1,""],Fragger:[22,3,1,""],FraggerMap:[22,3,1,""],FragmentInfo:[22,3,1,""],LoadFragDB:[20,4,1,""],LoadStructureDB:[20,4,1,""],LoadTorsionSampler:[20,4,1,""],LoadTorsionSamplerCoil:[20,4,1,""],LoadTorsionSamplerExtended:[20,4,1,""],LoadTorsionSamplerHelical:[20,4,1,""],MmSystemCreator:[21,3,1,""],PsipredPrediction:[22,3,1,""],StructureDB:[22,3,1,""],StructureDBDataType:[22,3,1,""],TorsionSampler:[23,3,1,""]},"promod3.loop.AllAtomEnv":{ClearEnvironment:[17,4,1,""],GetAllAtomPositions:[17,4,1,""],GetEnvironment:[17,4,1,""],GetSeqres:[17,4,1,""],SetEnvironment:[17,4,1,""],SetInitialEnvironment:[17,4,1,""]},"promod3.loop.AllAtomEnvPositions":{all_pos:[17,6,1,""],res_indices:[17,6,1,""]},"promod3.loop.AllAtomPositions":{AllAtomPositions:[17,4,1,""],ClearPos:[17,4,1,""],ClearResidue:[17,4,1,""],Copy:[17,4,1,""],Extract:[17,4,1,""],ExtractBackbone:[17,4,1,""],GetAA:[17,4,1,""],GetFirstIndex:[17,4,1,""],GetIndex:[17,4,1,""],GetLastIndex:[17,4,1,""],GetNumAtoms:[17,4,1,""],GetNumResidues:[17,4,1,""],GetOmegaTorsion:[17,4,1,""],GetPhiTorsion:[17,4,1,""],GetPos:[17,4,1,""],GetPsiTorsion:[17,4,1,""],GetSequence:[17,4,1,""],InsertInto:[17,4,1,""],IsAllSet:[17,4,1,""],IsAnySet:[17,4,1,""],IsSet:[17,4,1,""],SetPos:[17,4,1,""],SetResidue:[17,4,1,""],ToEntity:[17,4,1,""]},"promod3.loop.AminoAcidLookup":{GetAA:[17,5,1,""],GetAAA:[17,5,1,""],GetAAH:[17,5,1,""],GetAnchorAtomIndex:[17,5,1,""],GetAtomName:[17,5,1,""],GetAtomNameAmber:[17,5,1,""],GetAtomNameCharmm:[17,5,1,""],GetElement:[17,5,1,""],GetH1Index:[17,5,1,""],GetH2Index:[17,5,1,""],GetH3Index:[17,5,1,""],GetHNIndex:[17,5,1,""],GetHydrogenIndex:[17,5,1,""],GetIndex:[17,5,1,""],GetMaxNumAtoms:[17,5,1,""],GetMaxNumHydrogens:[17,5,1,""],GetNumAtoms:[17,5,1,""],GetNumHydrogens:[17,5,1,""],GetOLC:[17,5,1,""]},"promod3.loop.BackboneList":{"__len__":[18,4,1,""],ApplyTransform:[18,4,1,""],BackboneList:[18,4,1,""],CARMSD:[18,4,1,""],Copy:[18,4,1,""],Extract:[18,4,1,""],GetAA:[18,4,1,""],GetBounds:[18,4,1,""],GetC:[18,4,1,""],GetCA:[18,4,1,""],GetCB:[18,4,1,""],GetN:[18,4,1,""],GetO:[18,4,1,""],GetOLC:[18,4,1,""],GetOmegaTorsion:[18,4,1,""],GetPhiTorsion:[18,4,1,""],GetPsiTorsion:[18,4,1,""],GetSequence:[18,4,1,""],GetTransform:[18,4,1,""],InsertInto:[18,4,1,""],MinCADistance:[18,4,1,""],RMSD:[18,4,1,""],ReconstructCBetaPositions:[18,4,1,""],ReconstructCStemOxygen:[18,4,1,""],ReconstructOxygenPositions:[18,4,1,""],ReplaceFragment:[18,4,1,""],RotateAroundOmegaTorsion:[18,4,1,""],RotateAroundPhiPsiTorsion:[18,4,1,""],RotateAroundPhiTorsion:[18,4,1,""],RotateAroundPsiTorsion:[18,4,1,""],Set:[18,4,1,""],SetAA:[18,4,1,""],SetAroundOmegaTorsion:[18,4,1,""],SetAroundPhiPsiTorsion:[18,4,1,""],SetAroundPhiTorsion:[18,4,1,""],SetAroundPsiTorsion:[18,4,1,""],SetBackrub:[18,4,1,""],SetC:[18,4,1,""],SetCA:[18,4,1,""],SetCB:[18,4,1,""],SetN:[18,4,1,""],SetO:[18,4,1,""],SetOLC:[18,4,1,""],SetSequence:[18,4,1,""],SuperposeOnto:[18,4,1,""],ToDensity:[18,4,1,""],ToEntity:[18,4,1,""],TransOmegaTorsions:[18,4,1,""],append:[18,4,1,""],clear:[18,4,1,""],empty:[18,4,1,""],resize:[18,4,1,""]},"promod3.loop.CoordInfo":{chain_name:[22,6,1,""],id:[22,6,1,""],offset:[22,6,1,""],shift:[22,6,1,""],size:[22,6,1,""],start_resnum:[22,6,1,""]},"promod3.loop.ForcefieldBondInfo":{bond_length:[21,6,1,""],force_constant:[21,6,1,""],index_one:[21,6,1,""],index_two:[21,6,1,""]},"promod3.loop.ForcefieldConnectivity":{harmonic_angles:[21,6,1,""],harmonic_bonds:[21,6,1,""],harmonic_impropers:[21,6,1,""],lj_pairs:[21,6,1,""],periodic_dihedrals:[21,6,1,""],periodic_impropers:[21,6,1,""],urey_bradley_angles:[21,6,1,""]},"promod3.loop.ForcefieldHarmonicAngleInfo":{angle:[21,6,1,""],force_constant:[21,6,1,""],index_one:[21,6,1,""],index_three:[21,6,1,""],index_two:[21,6,1,""]},"promod3.loop.ForcefieldHarmonicImproperInfo":{angle:[21,6,1,""],force_constant:[21,6,1,""],index_four:[21,6,1,""],index_one:[21,6,1,""],index_three:[21,6,1,""],index_two:[21,6,1,""]},"promod3.loop.ForcefieldLJPairInfo":{epsilon:[21,6,1,""],index_one:[21,6,1,""],index_two:[21,6,1,""],sigma:[21,6,1,""]},"promod3.loop.ForcefieldLookup":{GetAA:[21,4,1,""],GetCharges:[21,4,1,""],GetDefault:[21,5,1,""],GetDisulfidConnectivity:[21,4,1,""],GetEpsilons:[21,4,1,""],GetFudgeLJ:[21,4,1,""],GetFudgeQQ:[21,4,1,""],GetHeavyIndex:[21,4,1,""],GetHydrogenIndex:[21,4,1,""],GetInternalConnectivity:[21,4,1,""],GetMasses:[21,4,1,""],GetNumAtoms:[21,4,1,""],GetOXTIndex:[21,4,1,""],GetPeptideBoundConnectivity:[21,4,1,""],GetSigmas:[21,4,1,""],Load:[21,5,1,""],LoadCHARMM:[21,5,1,""],LoadPortable:[21,5,1,""],Save:[21,4,1,""],SavePortable:[21,4,1,""],SetCharges:[21,4,1,""],SetDefault:[21,5,1,""],SetDisulfidConnectivity:[21,4,1,""],SetEpsilons:[21,4,1,""],SetFudgeLJ:[21,4,1,""],SetFudgeQQ:[21,4,1,""],SetInternalConnectivity:[21,4,1,""],SetMasses:[21,4,1,""],SetPeptideBoundConnectivity:[21,4,1,""],SetSigmas:[21,4,1,""]},"promod3.loop.ForcefieldPeriodicDihedralInfo":{force_constant:[21,6,1,""],index_four:[21,6,1,""],index_one:[21,6,1,""],index_three:[21,6,1,""],index_two:[21,6,1,""],multiplicity:[21,6,1,""],phase:[21,6,1,""]},"promod3.loop.ForcefieldUreyBradleyAngleInfo":{angle:[21,6,1,""],angle_force_constant:[21,6,1,""],bond_force_constant:[21,6,1,""],bond_length:[21,6,1,""],index_one:[21,6,1,""],index_three:[21,6,1,""],index_two:[21,6,1,""]},"promod3.loop.FragDB":{AddFragments:[22,4,1,""],GetAngularBinSize:[22,4,1,""],GetDistBinSize:[22,4,1,""],GetNumFragments:[22,4,1,""],GetNumStemPairs:[22,4,1,""],HasFragLength:[22,4,1,""],Load:[22,5,1,""],LoadPortable:[22,5,1,""],MaxFragLength:[22,4,1,""],PrintStatistics:[22,4,1,""],Save:[22,4,1,""],SavePortable:[22,4,1,""],SearchDB:[22,4,1,""]},"promod3.loop.Fragger":{"__getitem__":[22,4,1,""],"__len__":[22,4,1,""],AddSSAgreeParameters:[22,4,1,""],AddSeqIDParameters:[22,4,1,""],AddSeqSimParameters:[22,4,1,""],AddSequenceProfileParameters:[22,4,1,""],AddStructureProfileParameters:[22,4,1,""],AddTorsionProbabilityParameters:[22,4,1,""],Fill:[22,4,1,""],GetFragmentInfo:[22,4,1,""],GetScore:[22,4,1,""]},"promod3.loop.FraggerMap":{"__getitem__":[22,4,1,""],"__setitem__":[22,4,1,""],Contains:[22,4,1,""],Load:[22,4,1,""],LoadBB:[22,4,1,""],Save:[22,4,1,""],SaveBB:[22,4,1,""]},"promod3.loop.FragmentInfo":{chain_index:[22,6,1,""],length:[22,6,1,""],offset:[22,6,1,""]},"promod3.loop.MmSystemCreator":{ExtractLoopPositions:[21,4,1,""],GetCpuPlatformSupport:[21,4,1,""],GetDisulfidBridges:[21,4,1,""],GetForcefieldAminoAcids:[21,4,1,""],GetIndexing:[21,4,1,""],GetLoopLengths:[21,4,1,""],GetLoopStartIndices:[21,4,1,""],GetNumLoopResidues:[21,4,1,""],GetNumResidues:[21,4,1,""],GetSimulation:[21,4,1,""],SetCpuPlatformSupport:[21,4,1,""],SetupSystem:[21,4,1,""],UpdatePositions:[21,4,1,""]},"promod3.loop.PsipredPrediction":{"__len__":[22,4,1,""],Add:[22,4,1,""],Extract:[22,4,1,""],FromHHM:[22,4,1,""],FromHoriz:[22,4,1,""],GetConfidence:[22,4,1,""],GetConfidences:[22,4,1,""],GetPrediction:[22,4,1,""],GetPredictions:[22,4,1,""],PsipredPrediction:[22,4,1,""]},"promod3.loop.StructureDB":{AddCoordinates:[22,4,1,""],GenerateStructureProfile:[22,4,1,""],GetBackboneList:[22,4,1,""],GetCoordIdx:[22,4,1,""],GetCoordInfo:[22,4,1,""],GetDSSPStates:[22,4,1,""],GetDihedralAngles:[22,4,1,""],GetNumCoords:[22,4,1,""],GetResidueDepths:[22,4,1,""],GetSequence:[22,4,1,""],GetSequenceProfile:[22,4,1,""],GetSolventAccessibilitites:[22,4,1,""],GetStructureProfile:[22,4,1,""],GetSubDB:[22,4,1,""],HasData:[22,4,1,""],Load:[22,5,1,""],LoadPortable:[22,5,1,""],PrintStatistics:[22,4,1,""],RemoveCoordinates:[22,4,1,""],Save:[22,4,1,""],SavePortable:[22,4,1,""],SetStructureProfile:[22,4,1,""]},"promod3.loop.TorsionSampler":{Draw:[23,4,1,""],DrawPhiGivenPsi:[23,4,1,""],DrawPsiGivenPhi:[23,4,1,""],ExtractStatistics:[23,4,1,""],GetBinSize:[23,4,1,""],GetBinsPerDimension:[23,4,1,""],GetHistogramIndex:[23,4,1,""],GetHistogramIndices:[23,4,1,""],GetPhiProbabilityGivenPsi:[23,4,1,""],GetProbability:[23,4,1,""],GetPsiProbabilityGivenPhi:[23,4,1,""],Load:[23,5,1,""],LoadPortable:[23,5,1,""],Save:[23,4,1,""],SavePortable:[23,4,1,""],UpdateDistributions:[23,4,1,""]},"promod3.modelling":{AllAtomRelaxer:[28,3,1,""],BackboneRelaxer:[28,3,1,""],BuildFromRawModel:[31,1,1,""],BuildRawModel:[31,1,1,""],BuildSidechains:[31,1,1,""],CCD:[28,3,1,""],CCDCloser:[30,3,1,""],CTerminalCloser:[30,3,1,""],CheckFinalModel:[31,1,1,""],ClearGaps:[25,1,1,""],CloseGaps:[31,1,1,""],CloseLargeDeletions:[31,1,1,""],CloseSmallDeletions:[31,1,1,""],CountEnclosedGaps:[25,1,1,""],CountEnclosedInsertions:[25,1,1,""],DirtyCCDCloser:[30,3,1,""],ExponentialCooler:[30,3,1,""],FillLoopsByDatabase:[31,1,1,""],FillLoopsByMonteCarlo:[31,1,1,""],FilterCandidates:[29,1,1,""],FilterCandidatesWithSC:[29,1,1,""],FraggerHandle:[24,3,1,""],FragmentSampler:[30,3,1,""],FullGapExtender:[25,3,1,""],GapExtender:[25,3,1,""],GenerateDeNovoTrajectories:[24,1,1,""],GetRingPunches:[29,1,1,""],GetRings:[29,1,1,""],GetScore:[30,4,1,""],HasRingPunches:[29,1,1,""],InsertLoop:[31,1,1,""],InsertLoopClearGaps:[25,1,1,""],IsAllAtomScoringSetUp:[31,1,1,""],IsBackboneScoringSetUp:[31,1,1,""],KIC:[28,3,1,""],KICCloser:[30,3,1,""],LoopCandidates:[27,3,1,""],MergeGaps:[25,1,1,""],MergeGapsByDistance:[31,1,1,""],MergeMHandle:[31,1,1,""],MinimizeModelEnergy:[31,1,1,""],ModelTermini:[31,1,1,""],ModellingHandle:[31,3,1,""],NTerminalCloser:[30,3,1,""],PhiPsiSampler:[30,3,1,""],ReconstructSidechains:[32,1,1,""],RemoveTerminalGaps:[31,1,1,""],ReorderGaps:[31,1,1,""],ReportMolProbityScores:[29,1,1,""],RigidBlocks:[24,4,1,""],RunMolProbity:[29,1,1,""],RunMolProbityEntity:[29,1,1,""],SampleMonteCarlo:[30,4,1,""],ScoreContainer:[27,3,1,""],ScoringGapExtender:[25,3,1,""],ScoringWeights:[27,3,1,""],SetPsipredPredictions:[31,1,1,""],SetSequenceProfiles:[31,1,1,""],SetupDefaultAllAtomScoring:[31,1,1,""],SetupDefaultBackboneScoring:[31,1,1,""],ShiftExtension:[25,3,1,""],SidechainReconstructionData:[32,3,1,""],SidechainReconstructor:[32,3,1,""],SoftSampler:[30,3,1,""],StructuralGap:[25,3,1,""],StructuralGapList:[25,3,1,""]},"promod3.modelling.AllAtomRelaxer":{GetSystemCreator:[28,4,1,""],Run:[28,4,1,""],UpdatePositions:[28,4,1,""]},"promod3.modelling.BackboneRelaxer":{AddCARestraint:[28,4,1,""],AddCBRestraint:[28,4,1,""],AddCRestraint:[28,4,1,""],AddNRestraint:[28,4,1,""],AddORestraint:[28,4,1,""],GetNonBondedCutoff:[28,4,1,""],Run:[28,4,1,""],SetNonBondedCutoff:[28,4,1,""]},"promod3.modelling.CCD":{CCD:[28,4,1,""],Close:[28,4,1,""]},"promod3.modelling.CCDCloser":{Close:[30,4,1,""]},"promod3.modelling.DirtyCCDCloser":{Close:[30,4,1,""]},"promod3.modelling.ExponentialCooler":{GetTemperature:[30,4,1,""],Reset:[30,4,1,""]},"promod3.modelling.FraggerHandle":{Get:[24,4,1,""],GetList:[24,4,1,""],LoadCached:[24,4,1,""],SaveCached:[24,4,1,""]},"promod3.modelling.FragmentSampler":{Initialize:[30,4,1,""],ProposeStep:[30,4,1,""]},"promod3.modelling.FullGapExtender":{Extend:[25,4,1,""]},"promod3.modelling.GapExtender":{Extend:[25,4,1,""]},"promod3.modelling.KIC":{Close:[28,4,1,""],KIC:[28,4,1,""]},"promod3.modelling.KICCloser":{Close:[30,4,1,""]},"promod3.modelling.LoopCandidates":{Add:[27,4,1,""],AddFragmentInfo:[27,4,1,""],ApplyCCD:[27,4,1,""],ApplyKIC:[27,4,1,""],CalculateAllAtomScores:[27,4,1,""],CalculateBackboneScores:[27,4,1,""],CalculateSequenceProfileScores:[27,4,1,""],CalculateStemRMSDs:[27,4,1,""],CalculateStructureProfileScores:[27,4,1,""],Extract:[27,4,1,""],FillFromDatabase:[27,5,1,""],FillFromMonteCarloSampler:[27,5,1,""],GetClusteredCandidates:[27,4,1,""],GetClusters:[27,4,1,""],GetFragmentInfo:[27,4,1,""],GetLargestCluster:[27,4,1,""],GetSequence:[27,4,1,""],HasFragmentInfos:[27,4,1,""],Remove:[27,4,1,""]},"promod3.modelling.ModellingHandle":{Copy:[31,4,1,""],all_atom_scorer:[31,6,1,""],all_atom_scorer_env:[31,6,1,""],all_atom_sidechain_env:[31,6,1,""],backbone_scorer:[31,6,1,""],backbone_scorer_env:[31,6,1,""],gaps:[31,6,1,""],model:[31,6,1,""],profiles:[31,6,1,""],psipred_predictions:[31,6,1,""],seqres:[31,6,1,""],sidechain_reconstructor:[31,6,1,""]},"promod3.modelling.PhiPsiSampler":{Initialize:[30,4,1,""],ProposeStep:[30,4,1,""]},"promod3.modelling.ScoreContainer":{Contains:[27,4,1,""],Copy:[27,4,1,""],Extend:[27,4,1,""],Extract:[27,4,1,""],Get:[27,4,1,""],GetNumCandidates:[27,4,1,""],IsEmpty:[27,4,1,""],LinearCombine:[27,4,1,""],Set:[27,4,1,""]},"promod3.modelling.ScoringGapExtender":{Extend:[25,4,1,""]},"promod3.modelling.ScoringWeights":{GetAllAtomScoringKeys:[27,5,1,""],GetAllAtomWeights:[27,5,1,""],GetBackboneScoringKeys:[27,5,1,""],GetBackboneWeights:[27,5,1,""],GetSequenceProfileScoresKey:[27,5,1,""],GetStemRMSDsKey:[27,5,1,""],GetStructureProfileScoresKey:[27,5,1,""],GetWeights:[27,5,1,""],SetAllAtomScoringKeys:[27,5,1,""],SetBackboneScoringKeys:[27,5,1,""],SetSequenceProfileScoresKey:[27,5,1,""],SetStemRMSDsKey:[27,5,1,""],SetStructureProfileScoresKey:[27,5,1,""],SetWeights:[27,5,1,""]},"promod3.modelling.ShiftExtension":{Extend:[25,4,1,""]},"promod3.modelling.SidechainReconstructionData":{disulfid_bridges:[32,6,1,""],env_pos:[32,6,1,""],is_c_ter:[32,6,1,""],is_n_ter:[32,6,1,""],loop_lengths:[32,6,1,""],loop_start_indices:[32,6,1,""],rotamer_res_indices:[32,6,1,""]},"promod3.modelling.SidechainReconstructor":{AttachEnvironment:[32,4,1,""],Reconstruct:[32,4,1,""]},"promod3.modelling.SoftSampler":{Initialize:[30,4,1,""],ProposeStep:[30,4,1,""]},"promod3.modelling.StructuralGap":{Copy:[25,4,1,""],ExtendAtCTerm:[25,4,1,""],ExtendAtNTerm:[25,4,1,""],GetChain:[25,4,1,""],GetChainIndex:[25,4,1,""],GetChainName:[25,4,1,""],GetLength:[25,4,1,""],IsCTerminal:[25,4,1,""],IsNTerminal:[25,4,1,""],IsTerminal:[25,4,1,""],ShiftCTerminal:[25,4,1,""],after:[25,6,1,""],before:[25,6,1,""],full_seq:[25,6,1,""],length:[25,6,1,""],seq:[25,6,1,""]},"promod3.scoring":{AllAtomClashScorer:[34,3,1,""],AllAtomInteractionScorer:[34,3,1,""],AllAtomOverallScorer:[34,3,1,""],AllAtomPackingScorer:[34,3,1,""],AllAtomScorer:[34,3,1,""],BackboneOverallScorer:[36,3,1,""],BackboneScoreEnv:[35,3,1,""],BackboneScorer:[36,3,1,""],CBPackingScorer:[36,3,1,""],CBetaScorer:[36,3,1,""],ClashScorer:[36,3,1,""],ConstraintFunction:[35,3,1,""],ContactFunction:[35,3,1,""],DiscoContainer:[35,3,1,""],HBondScorer:[36,3,1,""],LoadAllAtomInteractionScorer:[34,1,1,""],LoadAllAtomPackingScorer:[34,1,1,""],LoadCBPackingScorer:[36,1,1,""],LoadCBetaScorer:[36,1,1,""],LoadDefaultAllAtomOverallScorer:[34,1,1,""],LoadDefaultBackboneOverallScorer:[36,1,1,""],LoadHBondScorer:[36,1,1,""],LoadReducedScorer:[36,1,1,""],LoadSSAgreementScorer:[36,1,1,""],LoadTorsionScorer:[36,1,1,""],PairwiseFunction:[35,3,1,""],PairwiseFunctionType:[35,3,1,""],PairwiseScorer:[36,3,1,""],ReducedScorer:[36,3,1,""],SCWRL3DisulfidScore:[38,4,1,""],SCWRL3PairwiseScore:[38,4,1,""],SSAgreementScorer:[36,3,1,""],TorsionScorer:[36,3,1,""]},"promod3.scoring.AllAtomClashScorer":{DoExternalScores:[34,4,1,""],DoInternalScores:[34,4,1,""],DoNormalize:[34,4,1,""]},"promod3.scoring.AllAtomInteractionScorer":{DoExternalScores:[34,4,1,""],DoInternalScores:[34,4,1,""],DoNormalize:[34,4,1,""],Load:[34,5,1,""],LoadPortable:[34,5,1,""],Save:[34,4,1,""],SavePortable:[34,4,1,""],SetEnergy:[34,4,1,""]},"promod3.scoring.AllAtomOverallScorer":{"__getitem__":[34,4,1,""],"__setitem__":[34,4,1,""],AttachEnvironment:[34,4,1,""],CalculateLinearCombination:[34,4,1,""],Contains:[34,4,1,""],Get:[34,4,1,""]},"promod3.scoring.AllAtomPackingScorer":{DoNormalize:[34,4,1,""],Load:[34,5,1,""],LoadPortable:[34,5,1,""],Save:[34,4,1,""],SavePortable:[34,4,1,""],SetEnergy:[34,4,1,""]},"promod3.scoring.AllAtomScorer":{AttachEnvironment:[34,4,1,""],CalculateScore:[34,4,1,""],CalculateScoreProfile:[34,4,1,""]},"promod3.scoring.BackboneOverallScorer":{"__getitem__":[36,4,1,""],"__setitem__":[36,4,1,""],AttachEnvironment:[36,4,1,""],Calculate:[36,4,1,""],CalculateLinearCombination:[36,4,1,""],Contains:[36,4,1,""],Get:[36,4,1,""]},"promod3.scoring.BackboneScoreEnv":{AddPairwiseFunction:[35,4,1,""],ApplyPairwiseFunction:[35,4,1,""],ClearEnvironment:[35,4,1,""],Copy:[35,4,1,""],GetSeqres:[35,4,1,""],Pop:[35,4,1,""],SetEnvironment:[35,4,1,""],SetInitialEnvironment:[35,4,1,""],SetPsipredPrediction:[35,4,1,""],Stash:[35,4,1,""]},"promod3.scoring.BackboneScorer":{AttachEnvironment:[36,4,1,""],CalculateScore:[36,4,1,""],CalculateScoreProfile:[36,4,1,""]},"promod3.scoring.CBPackingScorer":{DoNormalize:[36,4,1,""],Load:[36,5,1,""],LoadPortable:[36,5,1,""],Save:[36,4,1,""],SavePortable:[36,4,1,""],SetEnergy:[36,4,1,""]},"promod3.scoring.CBetaScorer":{DoExternalScores:[36,4,1,""],DoInternalScores:[36,4,1,""],DoNormalize:[36,4,1,""],Load:[36,5,1,""],LoadPortable:[36,5,1,""],Save:[36,4,1,""],SavePortable:[36,4,1,""],SetEnergy:[36,4,1,""]},"promod3.scoring.ClashScorer":{DoExternalScores:[36,4,1,""],DoInternalScores:[36,4,1,""],DoNormalize:[36,4,1,""]},"promod3.scoring.DiscoContainer":{AddStructuralInfo:[35,1,1,""],AttachConstraints:[35,1,1,""]},"promod3.scoring.HBondScorer":{DoExternalScores:[36,4,1,""],DoInternalScores:[36,4,1,""],DoNormalize:[36,4,1,""],Load:[36,5,1,""],LoadPortable:[36,5,1,""],Save:[36,4,1,""],SavePortable:[36,4,1,""],SetEnergy:[36,4,1,""]},"promod3.scoring.PairwiseFunction":{Score:[35,4,1,""]},"promod3.scoring.PairwiseScorer":{DoExternalScores:[36,4,1,""],DoInternalScores:[36,4,1,""],DoNormalize:[36,4,1,""]},"promod3.scoring.ReducedScorer":{DoExternalScores:[36,4,1,""],DoInternalScores:[36,4,1,""],DoNormalize:[36,4,1,""],Load:[36,5,1,""],LoadPortable:[36,5,1,""],Save:[36,4,1,""],SavePortable:[36,4,1,""],SetEnergy:[36,4,1,""]},"promod3.scoring.SSAgreementScorer":{DoNormalize:[36,4,1,""],Load:[36,5,1,""],LoadPortable:[36,5,1,""],Save:[36,4,1,""],SavePortable:[36,4,1,""],SetScore:[36,4,1,""]},"promod3.scoring.TorsionScorer":{DoNormalize:[36,4,1,""],Load:[36,5,1,""],LoadPortable:[36,5,1,""],Save:[36,4,1,""],SavePortable:[36,4,1,""],SetEnergy:[36,4,1,""]},"promod3.sidechain":{AAToRotID:[46,4,1,""],BBDepRotamerLib:[47,3,1,""],DisulfidScore:[39,4,1,""],FRMRotamer:[44,3,1,""],FRMRotamerGroup:[44,3,1,""],Frame:[40,3,1,""],FrameResidue:[40,3,1,""],LoadDunbrackLib:[43,4,1,""],LoadPenultimateLib:[43,4,1,""],Particle:[44,3,1,""],RRMRotamer:[44,3,1,""],RRMRotamerGroup:[44,3,1,""],ReadDunbrackFile:[43,4,1,""],ResolveCysteins:[39,4,1,""],RotamerGraph:[41,3,1,""],RotamerID:[46,3,1,""],RotamerLib:[47,3,1,""],RotamerLibEntry:[47,3,1,""],SCWRLRotamerConstructor:[45,3,1,""],SidechainParticle:[44,3,1,""],SubrotamerOptimizer:[48,4,1,""],TLCToRotID:[46,4,1,""]},"promod3.sidechain.BBDepRotamerLib":{AddRotamer:[47,4,1,""],Load:[47,5,1,""],LoadPortable:[47,5,1,""],MakeStatic:[47,4,1,""],QueryLib:[47,4,1,""],Save:[47,4,1,""],SavePortable:[47,4,1,""],SetInterpolate:[47,4,1,""]},"promod3.sidechain.FRMRotamer":{"__getitem__":[44,4,1,""],"__len__":[44,4,1,""],AddFrameEnergy:[44,4,1,""],AddSubrotamerDefinition:[44,4,1,""],ApplyOnResidue:[44,4,1,""],GetActiveSubrotamer:[44,4,1,""],GetFrameEnergy:[44,4,1,""],GetInternalEnergy:[44,4,1,""],GetInternalEnergyPrefactor:[44,4,1,""],GetNumSubrotamers:[44,4,1,""],GetProbability:[44,4,1,""],GetSelfEnergy:[44,4,1,""],GetSubrotamerDefinition:[44,4,1,""],GetTemperature:[44,4,1,""],SetActiveSubrotamer:[44,4,1,""],SetFrameEnergy:[44,4,1,""],SetInternalEnergy:[44,4,1,""],SetInternalEnergyPrefactor:[44,4,1,""],SetProbability:[44,4,1,""],SetTemperature:[44,4,1,""],ToFrameResidue:[44,4,1,""],ToRRMRotamer:[44,4,1,""]},"promod3.sidechain.FRMRotamerGroup":{"__getitem__":[44,4,1,""],"__len__":[44,4,1,""],AddFrameEnergy:[44,4,1,""],ApplyOnResidue:[44,4,1,""],ApplySelfEnergyThresh:[44,4,1,""],Merge:[44,4,1,""],SetFrameEnergy:[44,4,1,""]},"promod3.sidechain.FrameResidue":{"__getitem__":[40,4,1,""],"__len__":[40,4,1,""]},"promod3.sidechain.Particle":{AddLonePair:[44,4,1,""],GetCharge:[44,4,1,""],GetName:[44,4,1,""],GetParticleType:[44,4,1,""],GetPos:[44,4,1,""],IsHBondAcceptor:[44,4,1,""],IsHBondDonor:[44,4,1,""],PairwiseEnergy:[44,4,1,""],SetPolarDirection:[44,4,1,""]},"promod3.sidechain.RRMRotamer":{"__getitem__":[44,4,1,""],"__len__":[44,4,1,""],AddFrameEnergy:[44,4,1,""],ApplyOnResidue:[44,4,1,""],GetFrameEnergy:[44,4,1,""],GetInternalEnergy:[44,4,1,""],GetInternalEnergyPrefactor:[44,4,1,""],GetProbability:[44,4,1,""],GetSelfEnergy:[44,4,1,""],SetFrameEnergy:[44,4,1,""],SetInternalEnergy:[44,4,1,""],SetInternalEnergyPrefactor:[44,4,1,""],SetProbability:[44,4,1,""],ToFrameResidue:[44,4,1,""]},"promod3.sidechain.RRMRotamerGroup":{"__getitem__":[44,4,1,""],"__len__":[44,4,1,""],AddFrameEnergy:[44,4,1,""],ApplyOnResidue:[44,4,1,""],ApplySelfEnergyThresh:[44,4,1,""],Merge:[44,4,1,""],SetFrameEnergy:[44,4,1,""]},"promod3.sidechain.RotamerGraph":{CreateFromFRMList:[41,5,1,""],CreateFromRRMList:[41,5,1,""]},"promod3.sidechain.RotamerLib":{AddRotamer:[47,4,1,""],Load:[47,5,1,""],LoadPortable:[47,5,1,""],MakeStatic:[47,4,1,""],QueryLib:[47,4,1,""],Save:[47,4,1,""],SavePortable:[47,4,1,""]},"promod3.sidechain.RotamerLibEntry":{FromResidue:[47,5,1,""],IsSimilar:[47,4,1,""],SimilarDihedral:[47,4,1,""],chi1:[47,6,1,""],chi2:[47,6,1,""],chi3:[47,6,1,""],chi4:[47,6,1,""],probability:[47,6,1,""],sig1:[47,6,1,""],sig2:[47,6,1,""],sig3:[47,6,1,""],sig4:[47,6,1,""]},"promod3.sidechain.SCWRLRotamerConstructor":{AssignInternalEnergies:[45,4,1,""],ConstructBackboneFrameResidue:[45,4,1,""],ConstructFrameResidue:[45,4,1,""],ConstructFrameResidueHeuristic:[45,4,1,""],ConstructRRMRotamerGroup:[45,4,1,""],ConstructSidechainFrameResidue:[45,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:[12,1,1,""],core:[9,2,0,"-"],loop:[19,2,0,"-"],modelling:[26,2,0,"-"],scoring:[37,2,0,"-"],sidechain:[42,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"]},objtypes:{"0":"cmake:command","1":"py:function","2":"py:module","3":"py:class","4":"py:method","5":"py:staticmethod","6":"py:attribute"},terms:{"10a":32,"1aki":22,"1akia":[],"1crn":[17,19,21,22,26,27,28,30,31,32,37,42],"1crn_cut":[26,27,31],"1crna":[22,27],"1ey":5,"1eye_rec":5,"2010dunbracklib":33,"20a":32,"2b1":2,"2jlp":0,"30a":32,"3x3":6,"655a":22,"__doc__":[8,10],"__getitem__":[22,34,36,40,44],"__init__":[1,5,10,13],"__len__":[18,22,40,44],"__main__":[1,5],"__name__":[1,5],"__setitem__":[22,34,36],"_data":33,"_name":4,"_run":[1,4],"_xml":4,"boolean":8,"break":[4,5,13],"byte":[7,33],"case":[0,1,5,13,18,22,23,25,28,30,31,32,33,36,39,42,44,45,47],"catch":22,"char":[18,33],"class":[],"const":33,"default":[],"enum":[22,46],"export":[5,17],"final":[5,15,22,24,26,27,31,35,37,39,41,42,44],"float":[6,7,17,18,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,38,39,44,45,47,48],"function":[],"import":[0,1,5,8,10,13,15,17,18,19,21,22,23,26,27,28,30,31,32,37,42,44,45],"int":[1,6,7,8,11,17,18,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,40,44,45,47,48],"long":31,"new":[1,3,5,10,13,14,17,18,21,22,25,27,28,30,31,32,33,42,44],"null":22,"public":[5,33,43],"return":[1,5,6,7,8,10,11,12,17,18,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,38,39,40,43,44,45,46,47],"s\u00f6ding":22,"short":[5,13,33],"static":[5,11,17,21,22,23,27,32,33,34,36,41,43,47],"super":42,"switch":[5,13,35],"throw":[1,33,42,43],"true":[1,8,10,11,17,18,19,20,21,22,25,27,28,29,30,31,32,33,34,36,39,42,45],"try":[1,5,15,25,31,33,47],"void":33,"while":[1,4,5,11,17,21,31,33],aa1:36,aa2:36,aa_aft:22,aa_befor:22,aa_clash:[31,34],aa_interact:[31,34],aa_pack:[31,34],aa_packing_scor:33,aa_relax_test:28,aa_res_idx:45,aa_scor:33,aa_with_rotam:42,aaa1:34,aaa2:34,aaa:[17,34],aaaaaaaa:18,aaaaggggggggggggggggggggaaaaaa:31,aafrequ:22,aafrequenciesstruct:22,aah:17,aatorotid:46,abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz:31,abil:13,abl:[2,5],abort:[5,7,28,31],about:[1,4,5,7,22,31],abov:[0,1,5,10,13,18,25,27,31,33,46,47],absolut:4,academ:5,accept:[7,10,27,28,30,31,32,33],acceptor:[36,45],access:[4,5,17,18,22,23,27,31,34,35,36,44,46],accessibili:[],accessibl:[],accessor:22,accord:[7,13,17,18,21,22,23,24,25,27,30,31,32,34,39,42,44,45,47],accordingli:[22,35],accur:24,accuraci:[24,28],achiev:[7,13],acknowledg:5,across:[1,47],act:28,action_nam:13,action_unit_test:1,actiontest:1,activ:[10,11,13,39,44,48],active_internal_energi:48,actual:[3,5,10,13,18,22,30,31,32,35,36,44,45,47],actual_posit:30,actual_step:30,adapt:[5,21,22,28,30,31,43],add:[1,2,4,5,7,10,15,17,22,23,27,28,31,32,34,35,36,39,42,44,45],add_argu:8,add_custom_target:5,add_doc_depend:4,add_doc_sourc:[4,5],add_subdirectori:5,addalign:10,addcarestraint:28,addcbrestraint:28,addcoordin:22,addcrestraint:28,addedg:7,addfrag:22,addfragmentinfo:27,addframeenergi:44,addharmonicangl:21,addharmonicbond:21,addharmonicimprop:21,addit:[4,8,10,11,13,18,19,21,22,29,31,33,45],addition:[1,4,13,17,21,22,45],addljpair:21,addlonepair:44,addnod:7,addnrestraint:28,addorestraint:28,addpairwisefunct:35,addperiodicdihedr:21,addperiodicimprop:21,address:33,addrotam:47,addseqidparamet:22,addseqsimparamet:[19,22],addsequenceprofileparamet:22,addssagreeparamet:22,addstructur:10,addstructuralinfo:35,addstructureprofileparamet:22,addsubrotamerdefinit:44,addtorsionprobabilityparamet:22,addureybradleyangl:21,admir:5,advanc:24,advantag:21,advic:[5,13],advis:[],affect:[5,18,45,46],after:[1,2,4,5,7,10,13,17,18,21,22,23,25,27,28,30,31,33,35,43,47],after_c_stem:18,afterward:[5,22,31],again:[2,3,5,22,24],against:34,agg:23,agglom:27,ago:1,agreement:[22,24,36],agress:[2,7],ala:[18,23,28,42,45,46],ala_cb:17,ala_h1:17,ala_h:17,alanin:[3,46],alg:[19,22,31],algorithm:[],alia:25,align:[0,10,15,22,24,26,31,35],alignedcuboid:18,alignmenthandl:[24,31,35],alignmentlist:[0,10,31],all:[],all_atom:[17,18,21,44,45],all_atom_env:17,all_atom_po:[17,45],all_atom_scor:31,all_atom_scorer_env:31,all_atom_sidechain_env:31,all_po:[17,21,28],all_scor:27,allatom:[28,31,32],allatomclashscor:[],allatominteractionscor:[],allatomoverallscor:[],allatompackingscor:[],allatomrelax:[21,28],alloc:22,allow:[0,2,3,5,8,13,18,22,23,24,27,30,31,33,34,36,41],allow_multitempl:10,allow_prepro_ci:18,almost:[4,28],aln:[0,24,26,27,31,35],aln_sourc:10,alon:8,along:[1,5],alot:5,alpha:[6,18,36,42],alpha_bin:36,alreadi:[1,4,5,7,13,18,21,22,24,27,31,32,34,35,36,44,45,47,48],also:[1,2,4,5,8,13,22,23,24,27,28,29,30,31,32,39,40,41,43,45,47],alter:[27,30],altern:[4,5,27,30,31,43,45],alwai:[0,1,5,13,25,30,31,33],amber:[17,31],ambig:47,ambigu:47,aminoacid:[17,18,21,23,36,46,47],aminoacidatom:[17,34],aminoacidhydrogen:17,aminoacidlookup:[17,21],among:27,amount:[15,24,47],analysi:[22,28,29],analyt:[27,47],anchor:[6,17],ancient:12,ang:35,angl:[],angle_bin:36,angle_bin_s:22,angle_force_const:21,angle_four:6,angle_on:6,angle_thre:6,angle_two:6,angstrom:[22,28],ani:[0,1,4,5,7,10,11,12,15,17,18,21,22,23,25,27,29,30,31,32,33,34,35,36,40,42,44,45],anneal:[7,27,30],announc:[1,5],anoth:[4,11,18,25,28,31,32,39],anymor:[3,7],anyon:[5,13],anyth:[0,2,5,10,11,12,27,28,32,34,36],anywai:5,anywher:13,apart:[1,27,31,32,34,36],append:[0,10,18,22,23,31,42],appli:[7,8,12,13,18,22,25,27,28,30,31,32,35,39,42,44],applic:[1,28,45],applyccd:27,applyde:7,applyedgedecomposit:7,applyk:27,applyonresidu:[42,44],applypairwisefunct:[35,36],applysd:21,applyselfenergythresh:[42,44],applytransform:18,approach:[2,7,22,24,31,33,39,42,45],appropri:[7,23,31,33,45],approx:31,approxim:[21,44],arbitrari:[3,17,22,39],arbitrarili:30,arg:[1,4,10,46],arg_ca:17,arg_hd3:17,arg_sorted_scor:27,arginin:46,argpars:10,argument:[],argumentpars:10,argv:10,around:[1,4,5,6,13,18,27,28,31,34,35,36],arrai:[0,5,33],artifici:22,ascend:25,ask:5,asn:46,asn_c:17,asn_hb2:17,asp:[17,44,46,47],asp_ha:17,asp_o:17,asparagin:46,aspart:[46,47],ass:30,assembl:10,assemblepars:10,assertequ:5,assess:[34,35],assign:[3,7,18,22,27,30,34,36,43,45,48],assigndssp:[],assigninternalenergi:45,assignsecstruct:31,associ:[22,25,40],assum:[1,4,5,21,22,28,31,33,35,36,39],assur:39,astar:3,astarsolv:7,atom:[],atom_idx:[17,21],atom_nam:[17,21],atomhandl:44,atomseq:[],attach:[0,4,5,10,17,21,24,25,27,31,32,34,35,36,37],attach_view:10,attachconstraint:35,attachenviron:[27,28,30,32,34,36,37],attachview:[26,27,31],attent:[1,13],attribut:[5,10,22,31,32,47],autom:[2,4],automat:[1,5,7,8,11,13,22,26,27,33,47],automatis:5,avaibl:45,avail:[1,2,3,5,12,13,15,21,22,27,30,35,42],availabl:5,averag:[27,35,39],avg:22,avg_sampling_per_posit:24,avoid:[3,8,12,22,28,30],awai:[13,32,44],awar:[5,45],awesom:[1,5],axi:[6,18],back:[1,13,21,30],backbon:[],backbone_scor:31,backbone_scorer_env:31,backbonelist:[],backboneoverallscor:[],backbonerelax:[28,31],backbonescor:[],backbonescoreenv:[],backbonescoreenvlisten:5,background:[2,32],backrub:18,backward:33,bad:21,base:[],base_target:4,bashrc:5,basi:[4,5,13,28,30,44],basic:[1,2,5,8,13,23,30,31,42,44,47],bb_list:[15,17,18,19,22,25,27,28,30,31,35],bb_list_on:24,bb_list_two:24,bb_score:27,bbdeprotamerlib:[32,33,43,45,47],becaus:[5,13,17,31,35],becom:[7,47],been:[2,3,7,13,20,22,27,28,31,34,36,39,43,47],befor:[1,4,5,10,13,18,21,22,23,25,27,28,30,31,32,33],begin:[1,5,17,18,30,35],behav:1,behaviour:[10,34,35,47],behind:5,bell:5,belong:[3,4,13,17,18,22,25,27,30,31,32,34,35,36,40,44,45],belov:22,below:[0,5,17,21,22,24,27,28,32,33,34,36,39],below_thre:22,besid:[2,4,7,10,22],best:[4,27,31,39],best_candid:27,beta:[6,18,29,36],beta_bin:36,better:[21,27,30,31,34,36],between:[1,3,7,10,18,21,22,24,25,27,28,30,31,32,33,34,35,36,37,38,39,40,44,45,47],beyond:10,big:[21,33],bilinearli:47,bin:[1,5,13,15,22,23,34,36,47],bin_siz:47,binari:[],bind:[],bins_per_dimens:23,bioinformat:22,biol:22,biophi:7,biopolym:22,bit:[1,2,5,13,27,31],bitwis:22,blank:5,block:[],blosum62:[19,22,24,35],bond:[],bond_force_const:21,bond_length:[6,21],bool:[1,5,7,8,10,11,17,18,20,21,22,25,27,28,29,30,31,32,33,34,36,39,44,45,47],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],boost_librari:4,boost_root:2,both:[17,22,25,31,39,42,47],bound:[17,21,24,27,44],bradlei:21,branch:[],branchnam:13,brew:4,bridg:[20,21,28,31,32],briefli:13,bring:5,broken:1,broyden:31,bug:[3,5,13],build_disulfid:32,builder:2,buildfromrawmodel:[26,31],buildrawmodel:[0,26,27,31],buildsidechain:31,buildup:[42,44],built:[4,21,22,35,40,45],bunch:[1,10,13],bytecod:1,c_coord:6,c_num:25,c_po:[6,18,36],c_stem:[6,19,22,25,27,28,30],c_stem_psi:30,c_str:33,c_ter:[28,45],ca_coord:6,ca_pairwise_funct:35,ca_po:[6,18],ca_pos_on:[38,39],ca_pos_two:[38,39],ca_posit:39,ca_rmsd:[19,22],cach:[2,22,24],calcul:[5,18,22,23,24,27,28,30,34,35,36,37,39,40,41,44,45],calculateallatomscor:27,calculatebackbonescor:27,calculatelinearcombin:[27,30,34,36],calculatescor:[34,36,37],calculatescoreprofil:[34,36],calculatesequenceprofilescor:27,calculatestemrmsd:27,calculatestructureprofilescor:27,calculatesurfac:[],call:[1,2,4,5,8,10,11,12,13,17,21,22,23,25,27,30,31,32,33,34,35,36,44,45,47],callabl:[10,13],calpha:31,calul:23,came:5,can:[],cand:31,candid:[],cannot:[0,5,10,21,22,23,25,31,33,34,36,43,46,47],canutescu2003:28,canutescu2003b:[34,36,38,39],canutescu:[28,38],cap:7,capabl:[20,26,30],captur:1,carbon:[6,18,38,44,45],carbonyl:[44,45],care:[0,5,7,27,28,31,33,36],carlo:[3,7,24,27,30,31,41],carmsd:[18,19,22],carri:[5,8],cast:33,categori:4,caus:[13,29],caution:17,caviti:22,cb_in_sidechain:45,cb_pack:[24,31,36],cb_packing_scor:33,cb_pairwise_funct:35,cb_po:18,cb_pos_on:[38,39],cb_pos_two:[38,39],cb_posit:39,cbeta:[24,27,30,31,36,37],cbeta_scor:[33,37],cbetaenvlisten:5,cbetascor:[],cbpackingscor:[],ccd:[],ccdcloser:30,center:29,central:[18,23,36],centroid:27,certain:[1,2,4,5,7,13,22,23,24,25,31,33,34,35,36],certainli:1,ch1particl:44,ch2particl:44,ch3particl:44,ch_name:22,chain:[],chain_id:[],chain_idx:[5,17,27,30,31,32,34,35,36],chain_idx_list:32,chain_idx_on:35,chain_idx_two:35,chain_index:[22,30,34],chain_indic:35,chain_nam:[22,31],chainhandl:[17,18,25],chainid:0,chainview:[],chakravarti:22,chakravarty1999:22,chanact:31,chanc:[5,7,31],chang:[1,3,4,5,7,13,17,23,24,25,28,30,31,32,34],change_frequ:[7,30],chapter:[25,29],charact:10,charg:[5,17,21,28,44,45],charmm:[17,21,31],check:[],check_io:33,check_xml:5,checkbasetyp:33,checkfinalmodel:31,checkmagicnumb:33,checkout:[5,13],checktypes:33,chemic:[12,17,34],chi1:47,chi2:47,chi3:47,chi4:47,chi:47,child:10,childclass:1,chmod:5,choos:[27,30],chosen:[0,10,30,31],cif:[0,10],ciiipgatcpgdyan:31,circumv:45,citat:28,clash:[3,24,27,28,30,31,34,36,37,39,42],clash_scor:37,clash_thresh:31,clashscor:[],classic:43,clean:[2,5,13],cleanli:33,clear:[11,17,18,27,31,35],clearenviron:[17,35],cleargap:25,clearpo:17,clearresidu:17,clip:10,clone:5,close:[13,15,18,22,27,28,30,31,32,39],closed_posit:30,closegap:31,closelargedelet:31,closer:[],closesmalldelet:[28,31],closest:[],closur:[28,31],clustal:[0,10],cluster:[3,27,33,35],cluster_thresh:[24,35],clutter:[1,5,22],cmake:[],cmake_support:[4,5,13],cmakecach:2,cmakelist:[1,2,4,5,13],cname:[],coars:5,code:[],codetest:[4,5],coil:[20,24],collect:[8,11,17,24,35],column:[22,24],combin:[21,22,23,24,27,30,31,34,36,39,47],come:[1,4,5,8,10,31,32,37,41],command:[],commandlin:10,comment:13,commerci:5,commit:[5,13],common:[5,10,24],commonli:[5,15,26,27,36],comp_lib:45,compar:[3,5,18,19,22,27,28,47],comparison:[22,31,47],compat:[13,21,33],compensatori:18,compil:[1,2,4,5,11,13,15,33,49],complain:1,complaint:13,complement:[],complet:[11,13,18,21,28,30,31,32,47],complex:[5,13,32,39,44,48],compon:[7,12,22,29,36],compound:[12,45],compoundlib:45,compress:[8,22],comput:[3,5,27,29,34,36],concaten:17,concept:5,concern:5,condit:[5,23],conf:[2,5],confid:[22,36],config:[4,5],config_head:4,configur:[2,5,7,13,27,47],conflict:13,conform:[7,22,28,30,41,42,47],connect:[4,7,13,17,21,22,27],conop:[17,18,21,23,36,45,46],conquer:5,consecut:[22,23,36],conserv:[15,25],consid:[4,5,7,11,13,17,18,22,23,24,27,28,30,31,32,34,35,36,39,43,45,47],consider_all_nod:7,consider_hydrogen:44,consider_ligand:32,consist:[3,5,17,21,24,25,27,28,30,31,32,33,35,39,44,47],constant:[3,21,28,34,36,48],constraint:[10,22,28,35],constraintfunct:35,construct:[],constructatompo:6,constructbackboneframeresidu:[42,45],constructcbetapo:6,constructcterminaloxygen:6,constructetd:7,constructframeresidu:45,constructframeresidueheurist:45,constructfrmrotamergroup:[42,45],constructor:[],constructrrmrotamergroup:45,constructsidechainframeresidu:45,contact:35,contactfunct:35,contain:[0,1,2,4,5,6,8,10,13,17,18,20,21,22,23,24,27,30,31,32,34,35,36,37,39,40,42,43,44,45,47],content:[5,9,14,16,19,22,37,42,49],contigu:[21,32,33],continu:[1,17,25,28,42],contrast:40,contribut:[],control:[0,3,5,7,27,30,32,35,44,45,47,48],conveni:[],convent:[1,46],converg:[24,27,28,30],convers:33,convert:[4,18,21,22,23,31,33,34,36,47,48],convert_module_data:4,convertbasetyp:33,cooler:[],cooling_factor:[7,30],coord:[22,27],coord_idx:22,coord_info:22,coordin:[3,6,22,27,28,31,34,42],coordinfo:22,cope:13,copi:[2,3,4,5,13,15,17,18,25,27,31,35],core:[],correct:21,correctli:31,correspond:[7,13,17,18,21,22,23,27,33,47],corrupt:[17,35],cotain:22,could:[1,4,5,10,13,21,22,31],count:[11,25,30,31,34,36],countenclosedgap:25,countenclosedinsert:25,counterpart:[27,36,45],coupl:[1,5,13,31],cours:5,coutsia:28,cover:[1,5,9,11,17,21,22,24,26,30],coverag:31,cparticl:44,cpp:4,cpr:[46,47],cpu:[15,21,31],cpu_platform_support:21,crambin:[22,27,30],crash:42,createalign:[27,31],createentityfromview:[32,42],createfromfrmlist:[41,42],createfromrrmlist:41,createfullview:[26,27,31],createsequ:[22,27,31],creation:[21,28],creator:[21,28],criteria:32,criterion:[7,30],criterium:27,croak:13,crucial:5,cterminalclos:30,cumul:45,current:[2,4,5,7,11,13,17,18,21,22,27,30,31,33,35,36,44,45,48],custom:[5,22,30,31,32,33,46],cutoff:[20,21,27,28,32,34,36],cycl:25,cyclic:[27,28],cyd:[46,47],cyh:[46,47],cys_hb3:17,cys_sg:17,cystein:[21,32,39,42,46],d_bin:36,dai:8,dampen:21,dare:4,dat:[22,33],data1:4,data2:4,data:[],data_:33,data_gener:33,data_to_stor:22,data_typ:22,databas:[],databs:22,datatyp:22,date:13,dbg:5,dcmake_install_prefix:2,deactiv:7,dead:7,deal:[31,32],debug:[5,7,17],decent:12,decid:[3,5,28],decis:23,declar:[4,5,13],decod:10,decompos:[3,7],decomposit:[7,24,41],decreas:30,dedic:[4,5,13],dee:7,deep:[18,31],def:[1,5,17,31],def_angl:17,defin:[],definem:5,degre:[18,22,23,43],delet:[0,2,5,18,31,44],deliv:[1,22,30,31],delta_scor:30,demand:31,demonstr:22,densiti:[18,28,43],dep1:4,dep2:4,dep:4,dependency1:4,dependency2:4,depends_on:4,depth:22,deriv:[1,22,38,39,43],descend:31,descent:[27,28],describ:[4,7,8,14,17,18,22,25,26,28,29,33,34,36,39,42,44,47,49],descript:[0,10,13,30,47],descriptor:22,descsrib:7,design:[1,3,43],desir:[6,15,21,27,28,30,31,34,35,36],detail:[0,6,10,13,21,22,23,27,29,30,31,34,36,47],detect:[],determin:[5,8,21,22,27,30,35,36],determinist:24,deuterium:31,develop:[],deviat:[18,29,30,43,47],devot:9,dict:[4,24,27,29,30,34,36],dictionari:[4,10,12,22,29],did:[5,22,27,31],differ:[1,2,4,5,7,12,13,17,22,24,25,27,31,34,36,42,46,47],dihedr:[],dihedral_angl:18,dihedral_bin:36,dihedral_idx:47,dihedral_pair:23,dimens:23,dir:[4,5],direct:[5,18,20,22,36,44,45],directli:[5,7,22,27,31,32,35,39,43,44,46,47],directori:[],dirti:1,dirtyccdclos:30,disabl:[1,13],disable_doctest:2,disable_document:2,disable_linkcheck:2,discard:22,discocontain:35,disconnect:3,discret:[34,36],discuss:22,disk:[5,21,24,34,36,47],displai:[8,10,11],dissimilar:24,dist:36,dist_bin:36,dist_bin_s:22,distanc:[6,18,22,24,27,31,32,34,35,36,38],distance_thresh:24,distant:35,distinct:[17,32],distribut:[1,5,21,22,23,30,33,34,36,43,47],disulfid:[],disulfid_bridg:[21,32],disulfid_score_thresh:32,disulfidscor:[32,39],dive:[13,31],diverg:5,divers:[22,24],dng:15,do_it:[34,36],doc:[2,4,5,13],docstr:10,doctest:[2,5,13],document:[],doe:[1,3,4,5,6,7,8,10,12,13,18,22,26,27,31,33,35,43],doesn:[5,13,25,28,30,47],doexternalscor:[34,36],dointernalscor:[34,36],domain:24,domin:7,don:[2,7,27,31,45],done:[1,5,8,10,13,19,21,23,27,30,31,33],donor:36,donorm:[34,36],dont_write_bytecod:1,dost_root:2,doubt:10,down:[10,18,22,30],dpm3_runtime_profiling_level:11,draw:[18,23,30],drawback:5,drawn:[23,30],drawphigivenpsi:23,drawpsigivenphi:23,drop:5,dssp:[3,22,36],dssp_state:36,due:[22,27,28,31,39,43],dump:47,dunbrack:[28,32,38,42,43],dure:[1,17,28,31,33,40,47],dynam:47,dynamicspatialorgan:3,e_cut:7,e_thresh:[7,31],e_tresh:7,each:[0,5,7,10,11,17,18,21,22,23,24,25,27,28,29,30,31,32,33,34,36],earli:3,earlier:2,easi:5,easier:[1,5],easili:[4,13,31],echo:5,edg:7,edge_idx:7,editor:1,educ:5,effect:[4,5,7,21,32,39],effici:[7,17,24,30],egg:22,eigen3_include_dir:2,eigen:[2,3],either:[0,5,10,13,17,18,23,25,27,28,30,31,32,33,34,35,36,40,44,46,47],elabor:5,electrostat:[21,28],element:[1,7,17,18,22,24,27,29,33,35,39],elimin:7,els:[5,13,32,33],emerg:1,empir:[38,39],emploi:13,empti:[5,8,10,18,22,24,27,31,44],enabl:[1,2,8,10,12,21,22],enable_mm:2,enable_ss:2,enclos:[25,31],encod:0,encount:[25,30],end:[0,1,2,4,5,7,8,10,13,17,18,22,24,25,27,31],end_resnum:31,end_transl:4,endian:33,energi:[3,5,7,15,21,28,30,31,34,36,39,40,41,44,45,48],enforc:[17,27,30,31,32,34,35,36],enough:[5,13,21,22,31,33],ensur:[2,5,15,27,31,33],ent:[0,10,17,21,22,29,32,37],ent_seq:37,enter:40,entiti:[5,10,11,17,18,22,29,31,37,42],entityhandl:[10,17,18,29,31,32,35],entityview:[22,23,24,29,31],entri:[],enumer:[5,7,17,21,22,27,35,42,44,45,46],env:[5,15,17,21,24,28,29,31,32,34,35,36,37],env_po:[28,32],env_structur:[17,35],environ:[],epsilon:[7,21,32,48],equal:[30,34,36,39,45],equidist:47,equival:[31,34,36],error:[0,8,10,11,22,28,31,33],especi:24,estim:[7,29,30,36,39,43],etc:[1,3,5,13,18,22,27,35],evalu:[],evaluategromacsposrul:6,even:[2,5,7,18,21,25,31],event:24,eventu:10,ever:[13,30],everi:[0,1,5,7,17,18,22,23,24,27,28,30,31,32,34,35,36,39,41,44,45,47,48],everyth:[],evolut:22,evolv:37,exact:[7,33],exactli:[2,7,22,24,27,31,35,39,45,46],exampl:[],example_reconstruct:42,exce:[34,36],exceed:[22,25],except:[0,3,10,22,25,31,45],exclud:[5,22],exclus:[1,5,21],execut:[],exisit:[],exist:[1,2,4,5,7,8,10,11,13,17,18,22,27,28,29,30,31,33,34,35,36,43,44,46,47],exit:[0,1,8,10],exit_cod:1,exit_statu:8,exot:5,exp:30,expect:[1,17,21,22,31,32,35,39,48],expens:22,experiment:31,explain:[1,5],explan:5,explicit:2,explr:7,exponenti:30,exponentialcool:30,expos:22,express:39,ext:8,extend:[],extendatcterm:25,extendatnterm:25,extended_search:[27,31],extens:[0,3,8,10,25,31],extension_penalti:25,extent:22,extern:[3,4,5],extra:[2,5,13,18,33],extra_bin:22,extra_force_field:31,extract:[5,6,17,18,19,21,22,23,24,26,27,28,30,31,32,34,35,36,39,43,45],extract_burial_statu:[],extractbackbon:17,extractloopposit:21,extractstatist:23,extrem:18,f_i:22,f_idx:35,facilit:24,factor:[7,21,30,43,44],fail:[0,1,5,8,11,18,27,28,31],failur:[0,5,8,10,47],fall:28,fallback:47,fals:[1,5,7,8,10,18,21,22,25,27,30,31,32,39,42,44,45],far:[27,31],fast:[6,15,17,21,22,23,33,34,35,36,47],fasta:[0,10,26,31],faster:[7,21,22,28,29,35],fastest:[28,31],favor:29,favourit:1,fed:[4,13],fedora:5,feed:[4,17,27],feel:[5,13],fellow:5,fetch:13,few:[2,5,13,21,33,37],ff_aa:21,ff_aa_on:21,ff_aa_two:21,ff_ala:21,ff_arg:21,ff_asn:21,ff_asp:21,ff_cy:21,ff_cys2:21,ff_gln:21,ff_glu:21,ff_gly:21,ff_hisd:21,ff_hise:21,ff_ile:21,ff_leu:21,ff_lookup:[21,28,31],ff_lookup_charmm:33,ff_ly:21,ff_met:21,ff_phe:21,ff_pro:21,ff_ser:21,ff_thr:21,ff_trp:21,ff_tyr:21,ff_val:21,ff_xxx:21,field:[31,33,47],figur:13,file:[],filecheck:13,fileexist:8,fileextens:8,filegzip:8,filenam:[0,5,8,10,21,22,23,24,33,34,36,43,47],filenotfound:29,fill:[4,5,10,13,19,22,25,26,27,29,31],fillfromdatabas:[27,31],fillfrommontecarlosampl:[27,31],fillloopsbydatabas:31,fillloopsbymontecarlo:31,filo:35,filtercandid:29,filtercandidateswithsc:29,final_model:[26,31],find:[],findchain:37,findwithin:5,fine:5,finish:48,fire:1,first:[0,1,5,7,10,13,15,17,18,21,22,23,24,25,27,28,30,31,32,34,35,36,38,39,42,44,47],fit:[],fix:[3,5,8,13,21,28,32,33,34,36],fix_cterm:28,fix_nterm:28,fix_surrounding_hydrogen:21,flag1:4,flag2:4,flag:[0,2,4,5,7,8,18,22,31,32,44,45],flanking_rot_angle_on:18,flanking_rot_angle_two:18,fletch:[22,42],fletcher:31,flexibl:[32,39,42,43,44,45,48],flip:47,flood:22,flush:[1,13],fold:22,folder:[2,4,5,13,15,33],follow:[0,1,2,4,5,7,8,13,15,18,19,21,22,24,25,26,27,31,32,33,34,36,42,44,45,46,47],fontsiz:23,forbidden:5,forc:[21,28,31],force_const:[21,28],forcefield:[],forcefieldaminoacid:21,forcefieldbondinfo:21,forcefieldconnect:21,forcefieldharmonicangleinfo:21,forcefieldharmonicimproperinfo:21,forcefieldljpairinfo:21,forcefieldlookup:[21,28,31,33],forcefieldperiodicdihedralinfo:21,forcefieldureybradleyangleinfo:21,forg:13,forget:[1,5],form:[11,20,21,22,26,31,35,47],formal:[27,28,44,47],format:[0,5,10,22,43],formatt:5,formula:29,forward:13,found:[1,4,5,8,10,13,17,19,22,24,27,28,29,30,31,32,39,41,47],foundat:1,four:[6,30],fraction:[22,24,28,30],frag_db:[19,22,27,33],frag_info:22,frag_length:[19,22,24],frag_map:22,frag_po:[19,22,24],frag_residu:[19,22],frag_seq:[19,22],frag_siz:22,fragdb:[19,20,22,27,31,33],fragger:[19,22,24,30,31],fragger_handl:31,fragger_map:22,fraggerhandl:[22,24,31],fraggermap:[22,24],fragment:[],fragment_db:31,fragment_handl:24,fragment_info:22,fragment_length:[22,24],fragmentinfo:[22,27],fragments_per_posit:24,fragmentsampl:30,frame:[],frame_energi:44,frame_residu:[40,42],frameresidu:[40,44,45],framework:5,free:[5,46,47],frequenc:[22,30],frm:32,frmrotam:[39,44,48],frmrotamergroup:[39,41,44,45],from:[],fromhhm:22,fromhoriz:22,fromresidu:47,front:[1,8,13],fstream:33,fudg:21,fulfil:[22,47],full:[0,1,5,7,17,20,21,22,25,26,27,30,32,42,44],full_seq:[25,27],fullgapextend:[25,31],fulli:[5,13,17,18,22,25,26,32],function_typ:35,functions_specific_to_your_act:5,fundament:33,funni:[2,5],further:[7,24,25,31,32,33],furthermor:33,futur:[21,22],gamma:[35,36,39],gamma_bin:36,gap:[],gapextend:[25,31],gapfre:22,gather:[4,9,13,22,24,42,44,47],gciiipgatcpgdyan:[27,31],gener:[],generatedenovotrajectori:24,generatestructureprofil:22,geom:[17,18,21,24,28,31,39,44],geometr:[],geoom:38,get:[],getaa:[17,18,21],getaaa:17,getaah:17,getactivesubrotam:44,getallatomposit:[17,28,32],getallatomscoringkei:27,getallatomweight:27,getanchoratomindex:17,getangl:42,getangularbins:22,getatomcount:5,getatomnam:17,getatomnameamb:17,getatomnamecharmm:17,getaveragescor:27,getbackbonelist:[19,22],getbackbonescoringkei:27,getbackboneweight:27,getbins:23,getbinsperdimens:23,getbound:18,getc:18,getca:18,getcb:18,getchain:25,getchainindex:25,getchainnam:25,getchains:5,getcharg:[21,44],getclust:27,getclusteredcandid:27,getconfid:22,getcoordidx:22,getcoordindex:[],getcoordinfo:22,getcpuplatformsupport:21,getdefault:[21,28,31],getdihedralangl:22,getdistbins:22,getdisulfidbridg:21,getdisulfidconnect:21,getdsspstat:22,getel:17,getenviron:17,getenvsetdata:5,getepsilon:21,getfirstindex:17,getforcefieldaminoacid:21,getfragmentinfo:[22,27],getframeenergi:44,getfudgelj:21,getfudgeqq:21,geth1index:17,geth2index:17,geth3index:17,getheavyindex:21,gethistogramindex:[18,23],gethistogramindic:23,gethnindex:17,gethydrogenindex:[17,21],getindex:[17,21],getinternalconnect:21,getinternalenergi:44,getinternalenergyprefactor:44,getlargestclust:27,getlastindex:17,getlength:25,getlist:24,getlooplength:21,getloopstartindic:21,getmass:21,getmaxnumatom:17,getmaxnumhydrogen:17,getn:18,getnam:[42,44],getnonbondedcutoff:28,getnum:27,getnumatom:[17,21],getnumb:27,getnumcandid:27,getnumchain:5,getnumcoord:22,getnumfrag:22,getnumhydrogen:17,getnumloopresidu:21,getnumresidu:[5,17,21],getnumstempair:22,getnumsubrotam:44,geto:18,getolc:[17,18],getomegators:[17,18],getoxtindex:21,getparticletyp:44,getpeptideboundconnect:21,getphiprobabilitygivenpsi:23,getphitors:[17,18,42],getpo:[17,44],getpotentialenergi:21,getpredict:22,getprob:[23,44],getpsiprobabilitygivenphi:23,getpsitors:[17,18,42],getr:29,getresiduedepth:22,getringpunch:29,getscor:[22,30],getselfenergi:44,getseqr:[17,35],getsequ:[17,18,22,27],getsequenceprofil:22,getsequenceprofilescoreskei:27,getsigma:21,getsimul:21,getsolventaccessibilitit:22,getstemrmsdskei:27,getstructureprofil:22,getstructureprofilescoreskei:27,getsubdb:22,getsubrotamerdefinit:44,getsystemcr:28,gettemperatur:[30,44],gettransform:18,getversionnumb:33,getweight:[24,27],ggg:31,gggaggg:31,gggggggggggggggggggg:31,git:[],gitignor:5,give:[4,5,13,19,27,30,31,44],given:[0,1,3,4,5,6,7,8,10,11,17,18,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,39,42,44,45,47],glass:7,gln:46,gln_ne2:17,global:[12,22,27,33],glu:[17,44,46,47],glu_oe1:17,glutam:46,glutamin:46,gly:[31,32,42,45,46],gly_n:17,glycin:[3,18,22,28,32,46],goal:[1,7,26],goe:[2,5,11,13,31,47],goldfarb:31,goldstein1994:7,goldstein:7,good:[4,5,15,21,22,31],got:2,grain:5,graph:[],graph_initial_epsilon:32,graph_intial_epsilon:32,graph_max_complex:32,graphminim:[7,41],grep:2,grid:22,gromac:6,group:[],group_definit:[23,36],group_idx:36,guarante:[22,24,27,32,33],gui:[5,23],guid:28,guidelin:[5,33],gzip:[0,8,10],hand:[2,4,10,44],handl:[],handler:24,happen:[1,5,21,22,24,25,30,31,44],hard:38,hardwar:15,harmon:[21,28],harmonic_angl:21,harmonic_bond:21,harmonic_improp:21,hasdata:22,hasfraglength:22,hasfragmentinfo:27,hash:22,hasringpunch:29,have:[],hbond:[24,31,36,44,45,46],hbond_scor:33,hbondscor:[],headach:5,header1:4,header2:4,header3:4,header4:4,header:[],header_output_dir:4,headlin:5,heavi:[17,21,32,34,45],heavili:[22,42],helic:[18,20,21,24,31,36,43],helix:[15,18,30,42],hello:33,hello_world:5,hellyeah:15,help:[0,1,2,4,5,10,13,15,21,36],helpactiontest:1,helper:[],hen:22,henc:[5,11,17,22,33],here:[0,1,2,4,5,8,10,11,13,15,17,18,21,22,23,24,26,27,28,30,31,33,34,36,39,47],het:31,heurist:[31,45],heuristicprocessor:17,hgfhvhefgdntngcmssgphfnpygkehgapvdenrhlg:0,hhm:[22,27],hhsearch:22,hhsuit:[],hidden:44,hide:[5,13],hierarch:[27,35],hierarchi:12,high:[3,5,13,26,31],high_resolut:18,higher:[2,27,35,36],highest:12,highli:[2,5],hint:10,histidin:[21,46],histogram:[23,30],histori:13,hit:[1,7,13,23,28],hmm:22,home:4,homolog:[0,9,15,22,31],homologu:22,honor:31,honour:31,hook:[],horiz:22,host:[4,13],hotfix:13,how:[],howev:22,hparticl:44,hpp:33,hsd:[46,47],hse:[46,47],html:[2,5,13],http:5,hydrogen:[3,17,18,21,22,31,36,44,45],hyphen:1,i_loop:[21,32],id_:33,idea:[1,5,17,19,21,22,31,35,44,48],ideal:[18,28,48],idenfifi:45,ident:[3,22,23,36,47],identifi:[0,10,11,22,27,31,32,34,36,45,47],idx:[7,17,18,21,22,24,28,35,44],idx_ca_res_37:17,idxhandl:5,iff:[22,25,29],ifstream:33,ignor:[0,21,28,31],illustr:22,imagehandl:18,imagin:5,imaginari:1,img:18,immedi:[1,5,12,13],impact:[21,22],implement:[3,13,22,24,25,28,31,33,38,39,41,42,46],implicit:2,improp:21,improv:[3,20,21,31,39,42],in_dir:4,in_fil:5,in_path:4,in_stream:33,in_stream_:33,inaccur:21,inaccurate_pot_energi:21,inact:48,inactive_internal_energi:48,incl:[21,22,31],includ:[2,5,8,13,15,17,20,21,22,25,27,29,31,33,34,36,42],include_ligand:31,inclus:31,incompat:[27,28],incomplet:[31,43],inconsist:[7,10,17,18,21,22,25,27,28,32,35],inconveni:13,increas:[7,24,27,28,31,45],independ:[21,32,43],index:[5,7,16,17,18,21,22,23,24,25,27,28,29,30,31,34,35,36,40,44,45,47],index_four:21,index_on:21,index_thre:21,index_two:21,indic:[],individu:[34,36],inf:[7,28],infin:28,infinit:28,influenc:[10,24,35],info:[22,27,31,35],inform:[5,10,13,18,19,20,22,24,25,27,31,35,36,37],inherit:[1,34,35,36,41],init:13,init_bb_list:30,init_frag:30,initi:[3,7,17,18,22,24,27,28,30,31,32,34,35,36,41,44,47],initial_bb:27,initial_epsilon:[7,48],initialis:1,inlin:[5,33],inner:11,input:[0,1,3,10,13,15,21,22,23,24,28,30,31,32,34,35,36,39,43,45,48],insert:[17,18,25,27,30,31,48],insertinto:[17,18,27],insertloop:[25,31],insertloopcleargap:[25,27,31],insid:[1,4],insight:13,inspir:28,instanc:[3,5,10,20,21,33],instead:[1,2,3,4,5,8,22,24,25,27,30,31,45],instruct:2,int16_t:33,int32_t:33,int_32_t:33,integ:[5,10,17,35],intend:[1,5,30],intent:22,interact:[3,5,21,28,34,35,36,38,39,40,44],intercept:[34,36],interest:[1,7,21,22,30,33,44,47],interfac:[0,4,5],intermedi:5,intern:[0,1,3,4,5,13,17,20,21,22,23,24,27,28,30,31,32,33,34,35,36,41,44,45,48],internal_e_prefac:45,internal_e_prefactor:44,internal_energi:44,internet:5,interpol:[35,47],interpret:[5,8],intervent:5,intrins:2,introduc:[1,4,5,13,28,31],invalid:[5,17,21,22,25,28,31,32,34,35,36,40,44,46,47],invok:[2,4,5,12,13],involv:[13,26,39],iostream:33,is_c_ter:[21,32],is_cter:21,is_n_ter:[21,32],is_nter:21,isallatomscoringsetup:[27,31],isallset:17,isanyset:17,isbackbonescoringsetup:31,isctermin:25,isempti:27,isen:11,ishbondacceptor:44,ishbonddonor:44,isntermin:25,isoleucin:46,isset:17,issimilar:47,issourc:33,istermin:25,isvalid:42,item:[1,5,13,17,18,21,22,31,35],iter:[7,22,23,24,27,28,30,31,44],itself:[3,4,5,13,22,30,32,33,34,36,44],job:[5,22,31],join:[5,17,19,22,27,28,30,32],jone:[22,44],jones1999:22,json:[0,10],just:[1,2,5,10,12,13,19,21,22,25,27,31,45],kabsch1983:22,kabsch:22,keep:[],keep_non_converg:27,keep_sidechain:[5,32],kei:[0,10,22,24,27,30,31,34,35,36],kept:[5,13,21,27,28,32,40],kernel:43,keyword:23,kic:[],kicclos:30,kick:10,kill_electrostat:21,kind:[1,5],kinemat:28,know:[2,47],known:[4,8,17,35,45],kortemm:28,krivov2009:[7,42,43],krivov:42,kwarg:1,l_e:44,lab:43,label:[13,21],lack:31,languag:4,larg:[23,28,31],larger:[7,11,18,22,31,45],largest:[24,27,39],last:[1,4,17,18,21,25,27,28,30,31,35,36,43],last_psi:18,later:[1,5,7,17],latest:[2,5],latter:[0,13,31],launcher:[4,5],layer:39,layout:[22,33],lazi:44,lbfg:31,leach1998:7,leach:7,lead:[0,5,6,8,18,21,27,28,32,34,36,43],least:[0,2,4,5,7,13,18,21,22,31,34,36,39],leav:1,left:[8,28],legal:5,lemon:7,len:[18,19,21,22,24,27,31,32,36,42],length:[6,7,17,20,21,22,23,24,25,27,28,31,32,33,34,35,39],length_dep_weight:31,length_depend:27,lennard:44,less:[0,7,13,18,21,22,23,27,31,34,36,47],let:[1,5,18,22,27,42],letter:[3,17,18,22,23,30,46],leu:46,leu_h:17,leucin:46,level:[2,3,5,11,12,13,26,31,44],lexicograph:31,lib64:5,libari:43,libexec:[4,5],libpromod3_nam:4,librari:[],library1:4,library2:4,licenc:43,life:13,ligand:[3,31,32,45],like:[1,4,5,13,31,33,43,44],limit:[3,22,28,31],line:[],linear:[22,24,27,30,34,36],linear_weight:[27,30,34,36],linearcombin:27,linearscor:30,liner:35,link:[2,4,5,13,17,21,22,24,30,32,34,35,36,37],link_cmd:4,linkcheck:[2,5,13],linker:[4,31],linker_length:31,list:[0,1,2,3,4,5,6,7,8,10,17,18,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,39,40,41,42,44,45,47,48],listen:5,literalinclud:5,littl:[4,5,13,33],live:[4,5],lj_pair:21,load:[],load_frequ:20,loadalign:[26,31],loadallatominteractionscor:34,loadallatompackingscor:34,loadamberforcefield:31,loadbb:22,loadcach:24,loadcbetascor:[27,30,36,37],loadcbpackingscor:36,loadcharmm:21,loadcharmmforcefield:31,loaddefaultallatomoverallscor:34,loaddefaultbackboneoverallscor:36,loaddunbracklib:[42,43],loadent:[0,10],loadfragdb:[19,20,27,31],loadhbondscor:36,loadpdb:[5,17,19,21,22,26,27,28,30,31,32,37,42],loadpenultimatelib:43,loadport:[21,22,23,33,34,36,47],loadreducedscor:36,loadsequenceprofil:[22,27],loadssagreementscor:36,loadstructuredb:[19,20,22,27,31],loadtorsionsampl:[18,20,23,30],loadtorsionsamplercoil:[20,27,31],loadtorsionsamplerextend:20,loadtorsionsamplerhel:20,loadtorsionscor:36,local:[2,21,22,23,34,36,47],locat:[2,3,4,7,18,22,25,33,34,36,44],log:[8,13,29,44,45],logic:0,loginfo:29,lone:44,lone_pair:44,longest:22,look:[5,8,13,18,22,32,35],lookup:[],looooooong:7,loop:[],loop_candid:27,loop_length:[21,22,27,32],loop_main:5,loop_po:21,loop_seq:27,loop_start_indic:[21,32],loopcandid:[],loss:13,lossi:22,lost:[1,13],lot:[1,5,10,13],lovel:43,lovell2000:43,low:[1,5,7,45],lower:[27,30,31,34,36],lowest:[27,30,44],lowest_energy_conform:30,lysin:46,machin:[21,22,23,33,34,36,47],macro:[4,5],made:[4,47],magic:[5,33],mai:[0,1,2,4,5,8,10,13,17,21,25,28,31],main:[31,33,47],mainli:[17,30,43,44],maintain:[5,13],major:13,makefil:[2,5],makestat:47,malici:13,man:[2,5],manag:[4,5],mandel:28,mandell2009:28,mani:[8,10,22,28,29,31,45],manipul:18,manner:[5,7,30],manual:[1,2,5,6,13,22,27,30,31,33,44],map:[17,18,22,24,29,32],mar:20,mark:[4,45],markup:5,mass:21,massiv:24,master:[5,13],mat3:6,mat4:[6,18,24,31],match:[0,4,21,22,23,27,28,30,31,35,36],materi:[1,5],math:29,mathemat:[27,28],matplotlib:23,matric:22,matrix:[6,22],matter:4,max:[6,7,17,25,29,31,32,36,47,48],max_alpha:36,max_beta:36,max_complex:[7,48],max_count:[34,36],max_d:36,max_dev:30,max_dist:[27,35],max_extens:31,max_gamma:36,max_iter:[24,27,31],max_iter_lbfg:31,max_iter_sd:31,max_length:25,max_loops_to_search:31,max_n:7,max_num_all_atom:31,max_p:45,max_prob:44,max_res_extens:31,max_step:28,max_to_show:11,max_visited_nod:7,maxfraglength:22,maxim:[7,20,22,24,27,28,30,31,35,36],maximum:[7,22,27,28,30,44,45],mc_closer:30,mc_cooler:30,mc_num_loop:31,mc_sampler:30,mc_scorer:30,mc_step:[7,31],mcsolv:7,mean:[4,5,10,13,17,21,28,31,32],meaning:[22,27,43],meant:[15,17,22,29,31,45],measur:24,mechan:[15,27,28,30,31,35],meddl:31,member:[5,10,27,31],memori:[7,22,31,33],mention:[1,2],merg:[13,21,24,25,27,31,32,35,44],merge_dist:31,mergegap:25,mergegapsbydist:31,mergemhandl:31,mess:[5,13,35],messi:13,met:46,methionin:[31,46],method:[0,1,7,10,17,21,22,23,28,31,32,33,45],metric:35,metropoli:[7,27,30],mhandl:[25,26,27,31],middl:13,might:[7,21,22,27,28,30,35,44,45,48],min:[27,36],min_alpha:36,min_beta:36,min_candid:27,min_d:36,min_dist:35,min_gamma:36,min_loops_requir:31,min_scor:27,mincadist:18,mind:[1,5],minim:[],minimizemodelenergi:31,minimum:[18,22,24,39],minor:[3,21],mirror:33,miser:11,mismatch:[17,35],miss:[0,8,10,21,31],mix:[0,4],mkdir:[2,5],mm_sy:[21,28],mm_sys_output:21,mm_system_cr:28,mmcif:8,mmsystemcr:[21,28],mod:5,mode:[1,47],modellinghandl:[25,27,31],modeltermini:31,modif:31,modifi:[5,13,18,27,31],modified_crambin:27,modul:[],module_data:4,mol:[],molecular:[15,28,31],molprob:[],molprobity_bin:29,molprobity_execut:29,moment:5,monitor:1,monolith:5,mont:[3,7,24,27,30,31,41],montecarlo:3,mood:5,more:[1,2,4,5,7,10,11,13,24,31,39,44],most:[0,3,4,5,18,21,22,23,24,27,28,31,34,36,43,45],mostli:[4,13,44],motion:18,movabl:21,move:[2,3,5,13,21,27,28,30,31,33],movement:24,mpscore:29,msg:8,msgerrorandexit:8,msm:3,msse4:2,much:[5,7,22,31],multi:15,multipl:[0,2,3,4,5,10,11,15,21,24,27,31,32,34,36],multipli:[7,30],multitempl:10,must:[],mutlipl:10,my_db:[],my_db_on:22,my_db_two:22,myclass:33,myclassptr:33,mytrg:0,n_coord:6,n_num:25,n_po:[6,18,36],n_stem:[6,19,22,25,27,28,30],n_stem_phi:30,n_ter:[28,45],naivesolv:7,name:[0,1,3,4,5,8,10,11,17,21,22,23,25,27,29,31,39,43,44,46,47],name_pymod:4,namespac:[10,33],nan:[28,47],nat:28,nativ:33,necessari:[5,18,30,35],necessarili:48,need:[1,2,3,4,5,8,10,12,13,18,21,22,23,24,27,28,31,32,33,34,35,36,42],need_config_head:4,neg:[1,7,21,28,35],neglect:[24,28,40,44],neglect_size_on:27,neighbor:[5,17,31],neighbour:[31,47],network:[18,39],never:[10,13,22,27,32,33,34,36],nevertheless:[5,44],new_default:21,new_env_po:17,new_po:17,new_res_nam:44,new_siz:18,newli:[17,30],next:[1,5,13,18,23,24,25,33],next_aa:30,nice:5,nitrogen:[6,18,28,38,44,45],nobodi:1,node:7,node_idx:7,node_idx_on:7,node_idx_two:7,non:[],nonbonded_cutoff:[21,28],none:[10,22,24,29,31,32],nonredund:22,nonrotamer:43,nonzero:47,norm:36,normal:[34,36],normalis:35,notabl:22,note:[0,2,5,10,11,17,18,21,22,24,27,28,30,31,32,33,34,35,36,42,45,46],noth:[4,5,11,30,44],notic:[1,4,13],novel:22,novo:[],now:[3,5,11,13,15,18,22],nparticl:44,nterminalclos:30,null_model:27,num:[19,24,27,28,32],num_frag:[22,31],num_gap_extens:25,num_loop:27,num_residu:[17,21,30,32,34,35,36],num_residues_list:32,num_trajectori:24,number:[0,1,5,6,7,10,11,15,17,18,20,21,22,23,24,25,27,28,30,31,32,33,34,35,36,37,39,40,44,47],numer:31,numpi:[23,30],o_po:18,object:[],observ:[7,22,28,48],obtain:[7,15,19,31],obviou:13,occupi:[40,45],occur:[17,24,35,36],ocparticl:44,odd:22,off:[1,5,11,31],offend:29,offer:[20,26,44],offset:[0,3,10,22,27,31],ofstream:33,often:[5,8,10,28],olc:18,old:[29,31],oligom:26,oligomer:3,olson:[],omega:[17,18],onc:[1,3,5,13,21,24,27,28,30,41,47,48],one_letter_cod:[17,19,22,27,28,30,32],onli:[0,1,2,4,5,7,8,10,11,12,13,17,18,21,22,24,25,27,29,30,31,32,33,34,36,39,42,43,45],only_longest_stretch:22,onto:[1,18,22,24],oparticl:44,open:[10,21,22,23,33,34,36,47],openmm:[2,15,21,28],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],oper:[3,7,13,15,17,22,35],opt:[8,10,13],optim:[],optimis:5,optimize_subrotam:[32,39],option:[0,2,3,10,22,27,28,31,47],order:[0,10,17,21,22,25,27,31,33,35],org:5,organ:[5,22,47],orient:[6,28,36],orig_indic:[27,29],origin:[6,10,13,18,22,27,30,31,35,48],ost:[],ost_double_precis:2,ost_ent:29,ost_librari:4,ost_root:[2,5],other:[],other_db:[],other_index:18,other_res_index:17,otherwis:[1,4,5,7,11,13,17,18,21,22,24,25,27,28,30,34,35,36,44],our:[4,5,13,22,27],out:[1,2,4,5,11,13,17,21,22,23,24,25,27,42,47],out_path:4,out_po:21,out_stream:33,out_stream_:33,outer:[11,22],outlier:29,output:[],output_dir:4,outsid:[5,35],over:[2,4,10,13,22,28,31,44],overal:[7,30,35,41],overhead:21,overlap:[21,30,31,32],overli:13,overload:33,overrid:[2,21],overridden:4,overview:[5,13],overwrit:27,overwritten:21,own:[],oxt:[6,17,21],oxygen:[18,31,38,44,45],pack:17,packag:[4,5,13],pad:[18,33],page:[2,5,16],pai:1,pair:[6,21,22,23,24,28,30,32,33,34,35,36,39,44,47],pairwis:[],pairwise_energi:7,pairwiseenergi:44,pairwisefunct:[35,36],pairwisefunctiontyp:35,pairwisescor:[],paper:[38,39,42,44],paragraph:[1,5],parallel:22,paramet:[1,4,5,6,7,8,10,11,12,17,18,20,21,22,23,24,25,27,28,29,30,31,32,34,35,36,38,39,40,41,43,44,45,46,47,48],parameter_index:22,parametr:[28,31,32,45],parent:31,pars:[],parser:[],part:[1,5,13,15,17,22,30,31,35,39,41,42,44],partial:25,particip:[32,39],particl:[],particular:[5,7,22,27,28,30,44,47],partner:[34,35,36,44],pass:[10,13,17,21,22,24,25,28,30,39,40,44,45],past:[5,13,18,25],path:[1,2,4,5,8,13,15,21,22,23,29,34,36,47],path_to_chemlib:12,pattern:22,paus:11,pdb:[0,5,8,10,15,17,18,19,20,21,22,26,27,28,29,30,31,32,37,42],pdb_id:[],penal:[25,31],penalti:[25,31],penultim:[32,43],penultimatelib:33,peopl:13,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],peptid:[17,19,21,22,31,32,42],per:[4,5,7,9,13,17,23,27,30,31,34,35,36,39],percentag:29,perfect:5,perfectli:5,perform:[0,7,13,15,21,24,27,28,29,30,31,33,35,39],period:21,periodic_dihedr:21,periodic_improp:21,permiss:5,permut:7,phase:21,phe:[46,47],phenix:29,phenylalanin:46,phi:[17,18,22,23,28,30,36,42,45,47],phi_bin:[36,47],phi_handl:42,phipsisampl:30,phosphoserin:31,phrase:5,pick:[27,30],pictur:5,piec:[5,24],pipelin:[],pivot:[27,28,30],pivot_on:[27,28],pivot_thre:[27,28],pivot_two:[27,28],place:[1,2,4,5,8,10,13,22],plain:[0,10],plan:13,plane:29,platform:[15,21],pleas:[2,5,13,22,24,27,28,31],plot:23,plt:23,plu:[5,10,12,22,39,44],pm3_csc:13,pm3_openmm_cpu_thread:[15,21,31],pm3_runtime_profiling_level:11,pm3argpars:[],pm3argumentpars:[0,8,10],pm_action:[1,4,5],pm_action_init:5,pm_bin:1,png:23,point:[2,5,10,12,17,22,24,30,31,35,47],pointer:[2,5,33],polar:[44,45],polar_direct:44,polici:5,pop:[13,27,30,35],popul:[2,13],port_str_db:22,portabl:[],portable_binary_seri:33,portable_fil:4,portablebinarydatasink:33,portablebinarydatasourc:33,pos_end:24,pos_on:24,pos_start:24,pos_two:24,posit:[],possibl:[0,3,5,7,10,13,18,21,22,23,25,27,28,30,31,32,33,34,35,36,39,41,44,46],post:10,postprocess:32,pot:21,pot_:28,potenti:[7,19,20,21,22,27,28,31,32,33,36],pqhpg:0,practic:[4,5,21,22],pre:[5,13],pre_commit:[5,13],preceed:32,precis:[2,27,31],precomput:[],pred:35,predefin:[4,15,21,31,34,36],predict:[22,24,31,35,36,38,42],prefactor:44,prefer:[2,4,22,47,48],prefilt:31,prefix:[1,4,5,8],prepar:[5,31],present:[18,24,28,32,44,45,47],prev_aa:30,prevent:[1,5],previous:[21,22,27,32,35],primary_rot_angl:18,principl:[30,35],print:[1,2,18,19,21,22,27,28,29,31,37],printstatist:22,printsummari:11,prior:31,privat:[1,33],pro:[17,23,46,47],probabilist:[22,45],probability_cutoff:45,probabl:[4,5,7,13,22,23,24,27,28,30,43,44,45,47],problem:[3,7,10,13,22,27,28,30,31,35,39,41,43,48],problemat:24,proce:37,procedur:[7,24,32],process:[1,10,13,17,21,24,28,30,31,33,35,40,44,47],produc:[0,1,2,4,5,7,22,25,29,31,43,45],product:[1,3,13],prof:[22,27],prof_dir:22,prof_path:22,profil:[],profiledb:22,profilehandl:[22,24,27,31],prog:10,program:[4,5,9],project:[4,5,13],prolin:[18,29,45,46],promin:0,promod3_mod:4,promod3_nam:4,promod3_name_head:4,promod3_path:5,promod3_root:5,promod3_shared_data_path:[5,33],promod3_unittest:[1,4,5],promot:5,prootein:7,propag:[5,18],proper:[13,22,45],properli:[1,31,34,36,45],properti:[17,18,31,47],propos:[25,27,28,30,39],proposed_posit:30,proposestep:30,prot:[5,19,22,28,30,32,42],prot_rec:5,protein:[],proton:[17,21,46,47],provid:[0,1,2,3,4,5,10,13,17,18,19,21,22,24,25,27,28,29,30,31,32,33,35,43,44,45,47],prune:[7,48],pseudo:[30,31,34,36],psi:[17,18,22,23,28,30,36,42,45,47],psi_bin:[36,47],psi_handl:42,psipr:[22,24,35,36],psipred_confid:36,psipred_pr:24,psipred_predict:[22,24,31],psipred_st:36,psipredpredict:[],pull:[5,13],punch:[],pure:0,purpos:[5,7,31,47],push:13,pushverbositylevel:10,put:[1,4,5,8,10,31],py_run:[1,4,5],pyc:1,pylint:13,pylintrc:13,pymod:[4,5,13],pyplot:23,pytest:5,python2:5,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],python_root:2,pythonpath:5,qmean:2,qmeandisco:35,qualiti:31,queri:[22,47],querylib:47,question:[3,23],quickli:[5,28],quit:[5,10],rachovski:20,rackovski:20,radian:[6,18,21,23],radii:[29,38],radiu:[5,29,34,36],raihvhqfgdlsqgcestgphynplavph:0,rais:[0,6,7,10,17,18,21,22,23,24,25,27,28,29,30,31,32,34,35,36,39,40,44,45,47],rama_iffi:29,ramachandran:29,random:[7,18,20,23,27,28,30],random_se:27,randomized_frag:18,randomli:[23,30],rang:[5,6,17,18,19,21,22,23,24,25,28,30,31,34,35,36,47],rank:27,rapid:38,rare:5,rather:[5,8,13,47],raw:[],rawmodel:5,reach:[0,25,28],read:[0,5,8,10,13,21,22,23,25,32,33,34,36,43,47],readabl:[0,5,10,47],readdunbrackfil:43,reader:[13,15],readi:[2,47],readm:2,real:[5,10,33,45],realli:[1,2,5,8,13],reappear:13,reason:[5,13,28,30,48],rebas:13,rebuild:[2,5],recalcul:23,recent:13,recoginz:46,recogn:[0,10],recognis:[1,5,13],recognit:22,recommend:[2,5,21,31],reconstruct:[],reconstructcbetaposit:18,reconstructcstemoxygen:18,reconstructor:[28,31,32],reconstructoxygenposit:18,reconstructsidechain:[5,31,32],reconstructtest:5,record:[1,31],recreat:13,reduc:[3,21,24,31,36],reduced_scor:33,reducedscor:[],redund:[20,27],ref_backbon:[19,22],ref_fil:5,refactor:3,refer:[1,4,5,15,17,18,19,21,22],referenc:5,refresh:27,regard:[28,39],region:[21,24,25,28,30,31,40,45],regist:[4,5],regress:43,reinterpret_cast:33,reject:[27,28,30],rel:[4,6,7,22,24,28,36],relat:[4,5,7,10,22,24,33,44],relax:[],relev:[2,3,4,21,32],remain:[26,30,31],rememb:[1,5,30],remodel:[27,32],remodel_cutoff:32,remov:[2,3,7,18,21,22,25,27,29,31,32,35,42,44],removecoordin:22,removeterminalgap:31,renumb:[22,31],reorder:31,reordergap:31,replac:[17,18,30,31],replacefrag:18,report:[1,5,31],reportmolprobityscor:29,repositori:[1,4,5,13],repres:[],represent:[18,19,21,22,23,33,34,36,44,47],reproduc:31,request:[22,24,43,47],requir:[0,2,3,5,10,13,17,18,22,23,24,27,28,31,32,33,37,44,45,46,47],reread:22,res_depth:22,res_idx:44,res_index:17,res_indic:[17,21,32],res_list:[17,21,28,32],res_num:17,resembl:13,reserv:8,reset:[7,17,21,28,30,35,44],residu:[],residue_depth:22,residue_index:[40,44,45],residuedepth:22,residuehandl:[6,17,18,22,25,27,28,29,30,44,45,47],residuehandlelist:17,resiz:[18,33],resnum:[17,18,25,27,31,32,35],resnum_on:35,resnum_rang:31,resnum_two:35,resolut:[18,28],resolv:[13,17,28],resolvecystein:39,resort:31,respect:[6,21,31],respons:[5,13],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],restor:[18,27,30,35],restraint:[22,28],restrict:[5,13,25],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],result:[0,2,5,7,21,23,24,27,28,29,30,31,32,39,43,47],resum:11,reus:[31,32],review:13,reviv:13,rewrit:1,richardson:43,ridig:32,right:[1,2,5,10],rigid:[],rigid_frame_cutoff:32,rigidblock:24,rij:38,ring:[],ring_punch_detect:31,rmsd:[18,19,22,24,27,28],rmsd_cutoff:[22,27,28],rmsd_thresh:[22,24],rmsd_threshold:22,rnum:35,robot:28,role:10,root:[2,4,5,13],rosetta:36,rot:32,rot_constructor:42,rot_group:[42,45],rot_lib:45,rot_lib_entri:45,rota_out:29,rotam:[],rotamer_group:[39,41,42],rotamer_id:42,rotamer_librari:32,rotamer_model:32,rotamer_on:39,rotamer_res_indic:32,rotamer_two:39,rotamergraph:[32,41,42,44,48],rotamergroup:44,rotamerid:[],rotamerlib:[32,33,43,45,47],rotamerlibentri:[45,47],rotat:[6,18],rotatearoundomegators:18,rotatearoundphipsitors:18,rotatearoundphitors:18,rotatearoundpsitors:18,rotationaroundlin:6,roughli:20,round:47,routin:[1,15,27],rrm:32,rrmrotam:[39,44],rrmrotamergroup:[39,41,44,45],rst1:4,rst2:4,rst:[4,5,13],rsync:5,rule:[5,6,13],run:[],runact:1,runexitstatustest:1,runmolprob:29,runmolprobityent:29,runnabl:5,runner:1,runtest:[1,5],runtim:[],runtimeerror:[6,7,17,18,21,22,23,25,27,28,30,31,32,34,35,36,39,40,43,44,45,47],runtimeexcept:23,s_id:22,safe:2,said:4,same:[0,1,2,4,5,7,10,11,17,21,22,24,27,28,30,31,32,33,34,35,36,40,44,45,47],samiti:31,sampl:[],sampled_frag:30,samplemontecarlo:30,sampler:[],sampling_start_index:30,sander:22,saniti:2,sanity_check:2,sanner1996:[],sanner:[],satisfi:46,save:[5,13,18,21,22,23,24,27,30,33,34,35,36,47],savebb:22,savecach:24,savefig:23,savepdb:[15,17,18,21,22,26,27,28,30,31,32,42],saveport:[21,22,23,33,34,36,47],sc_data:28,sc_rec:[28,32],sc_rec_test:32,sc_result:28,scale:18,scatter:23,scheme:[1,5,10,17,22,25,30],sci:[28,38],scondari:31,scope:11,score:[],score_contain:27,score_env:[27,30,37],score_threshold:39,score_vari:31,scorecontain:27,scorer:[],scorer_env:[24,27,30],scoring_weight:24,scoringgapextend:[25,31],scoringweight:[24,27,31],scratch:22,scriptnam:8,scriptpath:5,scwrl3:[],scwrl3disulfidscor:[38,39],scwrl3pairwisescor:38,scwrl4:[39,42,44,45],scwrlrotamerconstructor:[42,44,45],seamlessli:13,search:[2,3,5,16,17,22,24,27,29,31,32,36,39,44,45],searchdb:[19,22],second:[5,7,18,21,22,24,27,28,31,34,35,36,38,39],secondari:[3,22,24,36],secondli:5,section:[1,4,14,49],see:[0,1,5,6,7,8,10,13,15,17,20,21,22,23,25,27,29,30,31,33,34,35,36,47],seed:[7,20,23,27,28,30],seem:13,segment:18,select:[3,7,22,24,30,31,32,42],selenium:31,self:[1,5,7,39,44],self_energi:[7,44],send:8,sensibl:31,separ:[1,3,5,7,21,23,31,34,36,39],seq:[10,17,19,22,24,25,27,31,35,37],seq_idx_on:24,seq_idx_two:24,seq_one_idx:24,seq_sep:[34,36],seq_tpl:[27,31],seq_trg:[27,31],seq_two_idx:24,seqid:22,seqr:[0,17,19,22,24,25,27,30,31,32,34,35,36],seqres_str:[17,28,32],seqsim:22,sequenc:[],sequencefromchain:37,sequencehandl:[17,22,24,25,31,35],sequencelist:[17,31,35],sequenceprofil:22,sequenti:[18,31],ser:46,serial:[22,33],serializ:33,serin:46,serv:[1,10,22,24,27,30],servic:13,set:[1,2,4,5,7,8,10,12,13,15,17,18,21,22,24,27,28,29,30,31,32,33,34,35,36,39,42,44,45,47,48],setaa:18,setactivesubrotam:44,setallatomscoringkei:27,setaroundomegators:18,setaroundphipsitors:18,setaroundphitors:18,setaroundpsitors:18,setbackbonescoringkei:27,setbackrub:18,setc:18,setca:18,setcb:18,setcharg:21,setcpuplatformsupport:21,setdefault:21,setdisulfidconnect:21,setenergi:[34,36],setenviron:[17,28,32,35],setepsilon:21,setframeenergi:[42,44],setfudgelj:21,setfudgeqq:21,setinitialenviron:[17,27,28,30,32,35,37],setinternalconnect:21,setinternalenergi:44,setinternalenergyprefactor:44,setinterpol:47,setmass:21,setn:18,setnonbondedcutoff:28,seto:18,setolc:18,setpeptideboundconnect:21,setphitors:18,setpo:17,setpolardirect:44,setprob:44,setpsipredpredict:[31,35,36],setpsitors:18,setresidu:17,setscor:36,setsequ:18,setsequenceoffset:31,setsequenceprofil:31,setsequenceprofilescoreskei:27,setsigma:21,setstemrmsdskei:27,setstructureprofil:22,setstructureprofilescoreskei:27,settemperatur:44,setup:[],setupdefaultallatomscor:[27,31],setupdefaultbackbonescor:[27,31],setupsystem:21,setweight:27,sever:[2,3,5,7,10,20,22,23,24,27,28,32,35,36,39,44,47,48],sg_pos_on:38,sg_pos_two:38,shake:30,shanno:31,shapovalov2011:43,shapovalov:[42,43],shared_ptr:33,shebang:5,sheet:[31,43],shelenkov:38,shell:[1,2,5,8],shift:[18,22,25],shiftctermin:25,shiftextens:25,shorten:31,shorter:31,shortest:27,shortli:5,should:[1,2,4,5,7,8,10,13,15,18,19,22,23,24,27,28,30,31,32,33,35,40,42,44],show:[1,5,10,11,27,30,42,45],showcas:[1,17,21,23],shown:[5,11,31],shrink:18,side:[5,7,31,38,42],sidechain:[],sidechain_pymod:5,sidechain_reconstructor:31,sidechain_rst:5,sidechain_test_data:5,sidechain_test_orig:32,sidechain_test_rec:32,sidechain_unit_test:5,sidechainparticl:[44,45],sidechainreconstructiondata:[],sidechainreconstructor:[],sidenot:[22,32],sig1:47,sig2:47,sig3:47,sig4:47,sigma:21,silent:1,sim:21,similar:[1,2,13,19,22,24,35,36,47],similardihedr:47,similarli:[2,21,31],simpl:[0,6,18,22,30,34,35,36,47],simpler:[21,31],simplest:[5,26],simpli:[17,18,27,28,30,31,45,46,47],simplic:[19,22],simplif:10,simplifi:[3,18,21,22],simul:[7,21,27,28,30],sinc:[1,2,4,5,7,8,13,15,18,21,22,23,24,43,46],singl:[2,4,5,7,17,18,21,22,24,27,28,30,31,32,35,36,40,43,44,45,48],single_chain_structur:[],singleton:21,singular:24,sink:33,sit:5,site:5,size:[5,17,18,22,23,28,30,33,34,35,36],sizeof:33,skip:[0,1,5,13,22,31,45],slide:24,slight:31,slightli:31,slow:33,slower:[15,21,22,23,31,34,36,47],small:[5,22,28,31,32],smaller:[18,22,24,28,36],smallest:[],smallish:[2,5],smart:13,smng:3,smooth:43,smtl:31,soding2005:22,softsampl:30,softwar:5,sol:42,sole:[1,13],soli:20,solut:[5,7,24,27,28,30,31,32,41,42],solv:[7,13,48],solvent:22,solvent_access:[],solvent_accessibility_str:[],solventaccess:22,solver:3,some:[1,2,4,5,10,13,17,19,22,26,29,30,31,32,33,35,37,42,45,47],somedata:33,someth:[1,5,8,13,22],sometim:13,somewher:4,soon:[7,28,36,42,47],sort:[1,4,7,11,27,47],sound:13,sourc:[1,2,4,5,8,10,12,13,22,24,27,28,29,31,32,33,47],source1:[4,13],source2:[4,13],source3:4,source4:4,source_chain_idx:31,source_mhandl:31,space:7,span:31,sparticl:44,spatial:5,spawn:[1,5],spdbv:31,spdbv_style:31,special:[1,2,4,5,21,45,46,47],specif:[1,5,21,22,23,24,27,30,35,37,43,45,47],specifi:[2,4,6,7,18,22,23,27,28,31,32,35,44,47],specimen:8,speed:[3,21,31],spehner:[],spend:5,spent:[11,15],sphere:38,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],spin:7,spit:25,split:37,sport:5,squar:22,src:[5,13],src_db:[],ss_agreement:36,ss_agreement_scor:33,ssagre:22,ssagreementscor:[],sse:2,sstream:33,stabil:22,stabl:[5,13],stack:13,stage:[],stai:[1,5,7,13],standard:[2,5,9,10,13,17,23,33,36,43,47],start:[],start_idx:27,start_resnum:[17,18,22,27,30,31,32,34,35,36],start_resnum_list:32,start_rnum:35,start_temperatur:[7,30],starter:1,startscop:11,stash:[13,27,30,35],state:[1,2,5,17,22,27,30,35,36,39,46,47],staticruntimeprofil:11,statist:[11,20,22],statu:[1,5],std:33,stderr:1,stdout:1,steadili:[7,30],steepest:[28,31],stem:[6,18,21,22,25,27,28,30,31,32],stemcoord:6,stempairorient:6,step:[],stereochem:31,steric:47,still:[5,11,21,22,31,33],stop:[1,5,11,25,28],stop_criterion:28,storabl:22,storag:[5,17,21,34,36],store:[0,1,3,5,6,13,15,17,18,21,22,23,24,25,27,28,30,31,32,33],stori:5,str:[1,8,10,11,12,17,18,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,44,46,47],str_len:33,straight:13,strategi:47,stream:33,stretch:[17,22,27,31,35,36],strict:13,strictli:3,string:[0,3,8,10,22,23,25,33],stringstream:33,strip:31,struct:[22,33],struct_db:19,structral:[17,35],structur:[],structural_db:27,structuralgap:[25,29],structuralgaplist:[25,31],structure_db:[22,24,27,31,33],structure_db_on:22,structure_db_two:22,structure_dir:22,structure_id:22,structure_path:22,structure_sourc:10,structuredb:[3,20,22,24,27,31,33],structuredbdatatyp:22,structureprofil:22,stuff:[22,34],style:[31,35,36],sub:[5,22,28],sub_frag:18,sub_res_list:22,subdir:5,subfold:5,subject:5,submodul:5,submodule1:13,subpart:24,subrotam:[],subrotameroptim:[32,48],subsequ:[7,18,31],subset:[21,22,24,27,28,31,32],subst:22,subst_matrix:22,substitut:22,substweightmatrix:22,subtre:[4,5],succeed:25,success:[7,8,30],suffici:22,suffix:8,suggest:[5,38],suit:[1,5,22],sulfur:[38,39,44,45],sum:[11,25,31,32,38,39],summari:11,superpos:[18,22,24,27,28,30],superpose_stem:18,superposed_rmsd:[18,27],superposeonto:18,superposit:[3,24,27,30],superpost:24,supervis:1,supos:[],support:[1,5,8,10,15,21,28,31],suppos:13,sure:[2,5,10,13,22],surf:[],surfac:22,surfacehandl:[],surotam:44,surround:[21,22,28,32,34,36],symmetr:[22,35,47],symmetri:[34,36],sync:5,system:[],t_sampler:23,tail:18,tailor:[17,31],take:[5,7,17,22,23,24,27,28,30,31,33,36,39,45,48],taken:[0,17,21,28,31,45],talk:1,target:[0,1,2,4,5,10,15,22,24,26,27,28,30,31,35],target_chain_idx:31,target_mhandl:31,target_pdb:29,target_sequ:22,task:[5,13,28,31,33,35],technic:[],techniqu:7,tell:[1,5,8,10,13,22],temperatur:[7,27,30,44],templat:[0,1,10,15,26,31,33,35],temporari:[22,31],temporarili:13,term:[5,22,44,46,47,48],termin:[1,6,8,15,17,18,21,25,27,28,30,31,32],terminal_len:30,terminal_seqr:30,termini:[25,30,31],terminu:[22,30,31,45],test_:5,test_action_:1,test_action_do_awesom:1,test_action_help:1,test_awesome_featur:5,test_check_io:33,test_cod:5,test_doctest:5,test_foo:4,test_portable_binari:33,test_reconstruct_sidechain:5,test_sidechain_reconstruct:5,test_submodule1:13,test_suite_:4,test_suite_your_module_run:5,test_your_modul:13,testcas:[1,5],testcasenam:5,testexit0:1,testpmexist:1,testreconstruct:5,testutil:[1,5],text:[1,10],than:[4,5,10,11,13,17,18,22,24,27,28,29,31,32,36,39],thei:[2,5,13,17,18,21,22,23,27,28,29,30,31,39,44,45,46,47],them:[4,5,13,18,21,22,23,24,25,27,31,32,35,40],themselv:21,theoret:30,theori:38,therefor:[5,18,20,22,24,28,30,31,47],thereof:21,thi:[0,1,2,3,4,5,7,8,9,10,11,12,13,14,15,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,42,44,45,46,47,48,49],thing:[1,2,5,13,22,24,31,47],think:[5,7],thoroughli:13,those:[0,1,2,4,5,7,10,13,21,27,31,32,33,34,36,42],though:[21,31,33],thr:46,thread:[15,20,21,31],three:[1,4,13,17,18,23,27,29,30,36,46],threonin:46,thresh:[18,44,47],threshold:[7,22,24,28,31,32,35,47],through:[1,5,6,18,22,25,31,34,36],throughout:[10,13,20,21],thrown:22,thu:8,tidi:13,tightli:13,time:[1,5,10,11,13,15,24,31],timer:11,tini:[13,31],titl:23,tlc:[17,46],tlc_an:17,tlctorotid:[42,46],tmp_buf:33,todens:18,toentiti:[15,17,18,21,22,28,30,32],toframeresidu:44,togeth:[5,13,22,39],too:[10,13,27,28,31,33,44],tool:[3,4,19,33,37,42],toolbox:13,top:[2,5,11,12,13,28],topic:[1,5,13],topolog:[21,28],torrmrotam:44,torsion:[],torsion_angl:42,torsion_bin:36,torsion_plot:23,torsion_sampl:[18,22,27,28,30,31,33],torsion_sampler_coil:[24,33],torsion_sampler_extend:[24,33],torsion_sampler_hel:33,torsion_sampler_helix:24,torsion_sampler_list:22,torsion_scor:33,torsionprob:22,torsionsampl:[18,20,22,23,24,27,28,30,31,33,36],torsionscor:[],total:[7,11,22,24],touch:[1,5,21,28],toward:[3,5,22,25,28,31,34,36,44,45,48],tpl:[0,26,27,31],tpr:[46,47],trace:31,track:[],tradition:8,trail:0,train:[20,27,31],trajectori:[24,30],tran:[18,46,47],transform:[6,18,24,31,47],translat:[4,5,22,46,47],transomegators:18,treat:[5,21,31,32,33,47],treatment:45,tree:[1,4,5,7,13,41,42],treepack:3,treesolv:[7,32,42],trg:[0,10,27,31],tri:[7,24,25,31,39,47],trick:[1,13],trigger:[1,4,5,43],tripeptid:23,tripl:8,triplet:[],trp:46,trustworthi:13,tryptophan:46,ttccpsivarsnfnvcrlpgtpea:[27,31],ttccpsivarsnfnvcrlpgtpeaicatgytciiipgatcpgdyan:31,ttccpsivarsnfnvcrlpgtpeaicatytgciiipgatcpgdyan:[27,31],tupl:[6,7,8,18,21,22,24,25,29,31,32,39],turn:[0,1,8,11,13,31],tutori:5,tweak:31,twice:[11,35],two:[1,5,7,13,17,18,21,22,24,25,27,28,31,32,33,34,35,36,38,39,42,44,46,47],txt:[1,2,4,5,13],type:[],typedef:33,typenam:33,typic:[18,24,30,42],tyr:[46,47],tyrosin:46,uint32_t:33,uint:33,ultra:22,uncertain:5,uncharg:45,undefin:21,under:[4,5],undergo:[24,28,30,32],underli:[25,27],underscor:1,understand:13,undo:7,unexpect:2,unfavor:[18,28],unfavour:[28,30,39],unfortun:13,unhandl:[0,10],uniform:28,uniqu:[24,27,30,47],unittest:[1,5,13],unix:13,unknown:21,unless:[10,17,18,21,27,34,36],unlik:42,unrecognis:8,unset:[17,21,32],unsupport:[10,33],until:[5,7,28,31,35,45],untouch:18,untrack:1,unus:13,updat:[3,5,13,17,21,25,27,28,31,32,35],updatedistribut:23,updateposit:[21,28],upon:[28,30],urei:21,urey_bradley_angl:21,usabl:13,usag:[0,3,7,10,20,22,27,28,32],use_amber_ff:31,use_bbdep_lib:32,use_frm:32,use_full_extend:31,use_scoring_extend:31,user:[],userlevel:1,usr:[2,5],usual:[1,2,4,5,10,11,13,18,27,31,34],utilis:[5,13],v_size:33,val:[23,46],valid:[0,7,13,18,22,25,30,31,32,43],valin:46,valu:[2,7,8,10,17,18,21,22,24,27,30,31,33,34,35,36,39,42,43,44,46,47,48],valueerror:[24,31],vanish:35,varadarajan:22,vari:[4,33],variabl:[1,2,5,11,15,21,29,31,33],variant:[21,27],variou:[1,2,4,13,26],vec3:[6,17,18,28,29,38,39,44],vec3list:24,vector:[21,23,27,33],verbos:1,veri:[1,5,8,13,21,24,31,33],verif:10,verifi:[1,8,13],version:[2,5,13,22,31,33,43,46],vertex:[],via:[1,5,10,12,21],view:[10,13,23,31,35],virtual:5,visibl:32,visual:15,wai:[1,2,4,5,13,18,19,21,27,36,42,43,46],wait:5,walk:[1,5],want:[1,2,3,5,12,13,18,22,24,27,28,31,35,44,45,47,48],warn:[5,13,31],watch:5,web:[2,5],weight:[3,22,24,27,30,31,34,36],weird:[24,28,42],well:[0,2,4,13,17,23,24,25,27,31,33,36,42,47],went:[0,5],were:[13,22,27,31],wether:7,what:[1,5,8,10,13,19,22,35],when:[1,4,5,7,10,11,17,18,21,22,23,24,25,27,30,31,32,33,35,36,39,43,44,45,47],whenev:[5,17,27,35],where:[0,1,3,4,5,7,8,10,11,13,17,18,21,22,23,27,31,33,34,35,36,43,44,45,47],wherea:22,whether:[3,5,7,8,18,21,22,27,28,30,32,34,35,36,44,45,47],which:[0,1,4,5,6,8,9,10,13,15,17,18,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,44,45,47],whistl:5,whitespac:0,who:[7,42],whole:[1,2,5,13,18,22,31,44],why:[1,13,45],width:[7,33,42],wild:4,window:24,window_length:24,wise:4,wish:[2,14,23,31],with_aa:27,with_db:27,within:[2,3,4,5,11,13,17,21,24,25,29,31,32,34,36,47],without:[1,4,5,8,10,21,25,28,31,35,43],won:[31,32,43,45],word:[4,43],work:[1,2,4,5,11,13,15,21,25,31,33,43],worst:13,would:[1,2,5,8,18,22,23,39,44],wrap:22,wrapper:[1,4,5,12,31],write:[],writebasetyp:33,writemagicnumb:33,writetypes:33,writeversionnumb:33,written:[5,33],wrong:[2,10],xlabel:23,xlim:23,xml:5,xxx:[18,46],xxx_num_atom:17,xxx_num_hydrogen:17,year:1,yet:[22,27],ylabel:23,ylim:23,you:[0,1,2,3,4,5,7,8,10,11,12,13,15,17,18,19,21,22,23,24,26,27,28,30,31,32,33,34,35,36,42,43,44,45,47,48],your:[],your_modul:[5,13],yourself:[2,5,7,13,31,45],zero:[0,22,31,47],zhou2005:22,zhou:22,zip:[22,42]},titles:["ProMod3 Actions","<code class=\"docutils literal\"><span class=\"pre\">test_actions</span></code> - Testing Actions","Building ProMod3","Changelog","ProMod3&#8216;s Share Of CMake","Contributing","Geometry functions","Graph Minimizer","<code class=\"docutils literal\"><span class=\"pre\">helper</span></code> - Shared Functionality For the Everything","<code class=\"docutils literal\"><span class=\"pre\">core</span></code> - ProMod3 Core Functionality","<code class=\"docutils literal\"><span class=\"pre\">pm3argparse</span></code> - Parsing Command Lines","Runtime profiling","<code class=\"docutils literal\"><span class=\"pre\">SetCompoundsChemlib()</span></code>","ProMod3 Setup","Documentation For Developers","Getting Started","Welcome To ProMod3&#8217;s Documentation!","Handling All Atom Positions","Representing Loops","<code class=\"docutils literal\"><span class=\"pre\">loop</span></code> - Loop Handling","Loading Precomputed Objects","Generate <code class=\"docutils literal\"><span class=\"pre\">ost.mol.mm</span></code> systems","Structural Data","Sampling Dihedral Angles","Modelling Algorithms","Handling Gaps","<code class=\"docutils literal\"><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","All Atom Scorers","Backbone Score Environment","Backbone Scorers","<code class=\"docutils literal\"><span class=\"pre\">scoring</span></code> - Loop Scoring","Other Scoring Functions","Disulfid Bond Evaluation","Frame","Rotamer Graph","<code class=\"docutils literal\"><span class=\"pre\">sidechain</span></code> - Sidechain Modelling","Loading Rotamer Libraries","Rotamers","Rotamer Constructor","RotamerID","Rotamer Library","Subrotamer Optimization","Documentation For Users"],titleterms:{"class":[17,18,22,23,25,27,32,34,35,36],"default":31,"function":[4,6,8,9,25,32,35,38],acid:[17,21,23],action:[0,1,4,5],actiontestcas:1,algorithm:24,all:[17,28,34],allatomclashscor:34,allatomenv:17,allatomenvposit:17,allatominteractionscor:34,allatomoverallscor:34,allatompackingscor:34,allatomposit:17,allatomscor:34,amino:[17,21,23],angl:23,api:1,argument:10,atom:[17,28,34],backbon:[28,35,36,47],backbonelist:18,backboneoverallscor:36,backbonescor:36,backbonescoreenv:35,base:[22,34,36],binari:33,block:[24,44],bond:39,branch:13,build:[0,2,31,44],can:46,candid:27,cbetascor:36,cbpackingscor:36,ccd:28,chain:22,changelog:3,check:29,clashscor:36,closer:30,cmake:[1,2,4,13],code:33,command:10,construct:[35,45],constructor:45,contribut:5,conveni:35,cooler:30,core:9,creat:[1,21],data:[22,33],databas:22,defin:[22,23],definit:4,depend:[2,47],detect:29,develop:14,dihedr:23,directori:13,distinguish:17,disulfid:39,document:[4,5,14,16,49],entri:47,environ:35,evalu:39,everyth:8,exampl:[27,33],execut:1,exisit:33,extend:25,featur:[5,22],file:[8,33],find:22,fit:28,forcefield:21,fragment:22,frame:[40,45],from:38,gap:[25,28],gener:[21,30],geometr:22,geometri:6,get:[15,46],git:13,graph:[7,41],group:44,handl:[17,19,25,27,31],have:1,hbondscor:36,header:33,helper:8,hook:13,how:[5,46],indic:16,instal:2,integr:1,introduct:[4,8,10],issu:5,keep:27,kic:28,librari:[43,47],licens:5,line:10,load:[20,43],lookup:21,loop:[18,19,21,27,28,30,37],loopcandid:27,mainten:4,make:[1,2],messag:8,minim:7,model:[0,15,24,26,27,29,31,42],modul:[4,5],mol:21,molprob:29,must:1,non:47,novo:[24,30],object:[20,30,40],optim:48,ost:21,other:38,output:1,own:5,pairwis:35,pairwisescor:36,pars:10,parser:10,parti:5,particl:44,pipelin:[15,31],pm3argpars:10,portabl:33,posit:17,precomput:20,profil:11,promod3:[0,2,4,5,9,13,15,16,33],protein:26,psipredpredict:22,punch:29,quick:5,raw:31,reconstruct:32,reducedscor:36,relax:28,releas:3,repres:18,residu:45,rigid:24,ring:29,rotam:[41,43,44,45,47],rotamerid:46,run:[1,2,15],runtim:11,sampl:23,sampler:[23,30],score:[27,35,37,38],scorer:[5,30,34,36],script:1,scwrl3:38,sequenc:22,setcompoundschemlib:12,setup:13,share:[4,8],sidechain:[32,42],sidechainreconstructiondata:32,sidechainreconstructor:32,smallest:44,ssagreementscor:36,stage:13,start:[5,15],step:31,structur:[13,22],subclass:1,subrotam:48,system:21,tabl:16,test:[1,4,5,8],test_act:1,third:5,torsion:23,torsionscor:36,track:27,triplet:23,type:47,unit:[1,4,5],user:49,welcom:16,write:5,your:5}})
\ No newline at end of file
+Search.setIndex({envversion:47,filenames:["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_id","sidechain/rotamer_lib","sidechain/subrotamer_optimizer","users"],objects:{"":{"--backbone-independent":[0,7,1,"cmdoption--backbone-independent"],"--keep-sidechains":[0,7,1,"cmdoption--keep-sidechains"],"--no-disulfids":[0,7,1,"cmdoption--no-disulfids"],"--no-subrotamer-optimization":[0,7,1,"cmdoption--no-subrotamer-optimization"],"--rigid-rotamers":[0,7,1,"cmdoption--rigid-rotamers"],"-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":{"__init__":[13,4,1,""],AddAlignment:[13,4,1,""],AddProfile:[13,4,1,""],AddStructure:[13,4,1,""],AssembleParser:[13,4,1,""],Parse:[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":{"__len__":[22,4,1,""],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,""],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":{"__getitem__":[26,4,1,""],"__len__":[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,""],GetScore:[26,4,1,""]},"promod3.loop.FraggerMap":{"__getitem__":[26,4,1,""],"__setitem__":[26,4,1,""],Contains:[26,4,1,""],Load:[26,4,1,""],LoadBB:[26,4,1,""],Save:[26,4,1,""],SaveBB:[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":{"__len__":[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,""],PsipredPrediction:[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":{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,""],DirtyCCDCloser:[34,3,1,""],ExponentialCooler:[34,3,1,""],FillLoopsByDatabase:[35,1,1,""],FillLoopsByMonteCarlo:[35,1,1,""],FilterCandidates:[33,1,1,""],FilterCandidatesWithSC:[33,1,1,""],FraggerHandle:[28,3,1,""],FragmentSampler:[34,3,1,""],FullGapExtender:[29,3,1,""],GapExtender:[29,3,1,""],GenerateDeNovoTrajectories:[28,1,1,""],GetRingPunches:[33,1,1,""],GetRings:[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,""],NTerminalCloser:[34,3,1,""],PhiPsiSampler:[34,3,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,""],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.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,""],gaps:[35,6,1,""],model:[35,6,1,""],profiles:[35,6,1,""],psipred_predictions:[35,6,1,""],seqres:[35,6,1,""],sidechain_reconstructor:[35,6,1,""]},"promod3.modelling.NTerminalCloser":{Close:[34,4,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":{"__getitem__":[39,4,1,""],"__setitem__":[39,4,1,""],AttachEnvironment:[39,4,1,""],CalculateLinearCombination:[39,4,1,""],Contains:[39,4,1,""],Get:[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":{"__getitem__":[41,4,1,""],"__setitem__":[41,4,1,""],AttachEnvironment:[41,4,1,""],Calculate:[41,4,1,""],CalculateLinearCombination:[41,4,1,""],Contains:[41,4,1,""],Get:[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:[51,4,1,""],BBDepRotamerLib:[52,3,1,""],DihedralConfiguration:[52,3,1,""],DisulfidScore:[44,4,1,""],FRMRotamer:[49,3,1,""],FRMRotamerGroup:[49,3,1,""],Frame:[45,3,1,""],FrameResidue:[45,3,1,""],GetDihedralConfiguration:[52,4,1,""],GetRotamericConfiguration:[52,4,1,""],LoadBBDepLib:[48,4,1,""],LoadLib:[48,4,1,""],Particle:[49,3,1,""],RRMRotamer:[49,3,1,""],RRMRotamerGroup:[49,3,1,""],ReadDunbrackFile:[48,4,1,""],ResolveCysteins:[44,4,1,""],RotamerGraph:[46,3,1,""],RotamerID:[51,3,1,""],RotamerLib:[52,3,1,""],RotamerLibEntry:[52,3,1,""],SCWRLRotamerConstructor:[50,3,1,""],SidechainParticle:[49,3,1,""],SubrotamerOptimizer:[53,4,1,""],TLCToRotID:[51,4,1,""]},"promod3.sidechain.BBDepRotamerLib":{AddRotamer:[52,4,1,""],Load:[52,5,1,""],LoadPortable:[52,5,1,""],MakeStatic:[52,4,1,""],QueryLib:[52,4,1,""],Save:[52,4,1,""],SavePortable:[52,4,1,""],SetInterpolate:[52,4,1,""]},"promod3.sidechain.FRMRotamer":{"__getitem__":[49,4,1,""],"__len__":[49,4,1,""],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,""]},"promod3.sidechain.FRMRotamerGroup":{"__getitem__":[49,4,1,""],"__len__":[49,4,1,""],AddFrameEnergy:[49,4,1,""],ApplyOnResidue:[49,4,1,""],ApplySelfEnergyThresh:[49,4,1,""],Merge:[49,4,1,""],SetFrameEnergy:[49,4,1,""]},"promod3.sidechain.FrameResidue":{"__getitem__":[45,4,1,""],"__len__":[45,4,1,""]},"promod3.sidechain.Particle":{AddLonePair:[49,4,1,""],GetCharge:[49,4,1,""],GetName:[49,4,1,""],GetParticleType:[49,4,1,""],GetPos:[49,4,1,""],IsHBondAcceptor:[49,4,1,""],IsHBondDonor:[49,4,1,""],PairwiseEnergy:[49,4,1,""],SetPolarDirection:[49,4,1,""]},"promod3.sidechain.RRMRotamer":{"__getitem__":[49,4,1,""],"__len__":[49,4,1,""],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,""]},"promod3.sidechain.RRMRotamerGroup":{"__getitem__":[49,4,1,""],"__len__":[49,4,1,""],AddFrameEnergy:[49,4,1,""],ApplyOnResidue:[49,4,1,""],ApplySelfEnergyThresh:[49,4,1,""],Merge:[49,4,1,""],SetFrameEnergy:[49,4,1,""]},"promod3.sidechain.RotamerGraph":{CreateFromFRMList:[46,5,1,""],CreateFromRRMList:[46,5,1,""]},"promod3.sidechain.RotamerLib":{AddRotamer:[52,4,1,""],Load:[52,5,1,""],LoadPortable:[52,5,1,""],MakeStatic:[52,4,1,""],QueryLib:[52,4,1,""],Save:[52,4,1,""],SavePortable:[52,4,1,""]},"promod3.sidechain.RotamerLibEntry":{FromResidue:[52,5,1,""],IsSimilar:[52,4,1,""],SimilarDihedral:[52,4,1,""],chi1:[52,6,1,""],chi2:[52,6,1,""],chi3:[52,6,1,""],chi4:[52,6,1,""],probability:[52,6,1,""],sig1:[52,6,1,""],sig2:[52,6,1,""],sig3:[52,6,1,""],sig4:[52,6,1,""]},"promod3.sidechain.SCWRLRotamerConstructor":{AssignInternalEnergies:[50,4,1,""],ConstructBackboneFrameResidue:[50,4,1,""],ConstructFrameResidue:[50,4,1,""],ConstructFrameResidueHeuristic:[50,4,1,""],ConstructRRMRotamerGroup:[50,4,1,""],ConstructSidechainFrameResidue:[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","option","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:option"},terms:{"10a":36,"1aki":26,"1crn":[21,23,25,26,30,31,32,34,35,36,42,47],"1crn_cut":[30,31,35],"1crna":[26,31],"1ey":8,"1eye_rec":8,"20a":36,"2b1":[],"2jlp":0,"30a":36,"3x3":9,"655a":26,"__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,"abstract":34,"boolean":11,"break":[4,8,16],"byte":[10,37],"case":[0,1,5,8,13,16,22,26,27,29,32,34,35,36,37,41,44,47,49,50,52],"catch":26,"char":[22,37],"class":[1,5,8,9,10,12,13,14,17,20],"const":37,"default":[0,1,4,5,8,10,13,14,15,18,21,22,25,26,27,28,30,31,32,34],"enum":[26,51],"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,52,53],"function":[1,3],"import":[0,1,5,8,11,13,16,18,20,21,22,23,25,26,27,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,52,53],"long":35,"new":[1,3,7,8,13,16,17,21,22,25,26,29,31,32,34,35,36,37,47,49],"null":26,"public":[8,37],"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,52],"s\u00f6ding":38,"short":[8,16,37],"static":[8,14,21,25,26,27,31,36,37,39,41,46,48,52],"super":47,"switch":[8,16,40],"throw":[1,37,47,48],"true":[1,11,13,14,21,22,23,25,26,29,31,32,33,34,35,36,37,39,41,44,47,50],"try":[1,8,18,29,35,37,52],"void":37,"while":[1,4,8,14,20,21,25,35,37],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:51,abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz:35,abil:16,abl:[2,8],abort:[8,10,32,35],about:[1,4,8,10,26,35],abov:[0,1,5,8,13,16,20,22,29,31,35,37,51,52],absolut:[4,5,34],academ:8,accept:[10,13,20,31,32,34,35,36,37],acceptor:[41,50],access:[4,5,8,21,22,26,27,31,35,39,40,41,49,51],accessor:26,accord:[5,10,16,21,22,25,26,27,28,29,31,34,35,36,39,44,47,49,50,52],accordingli:[26,40],accur:28,accuraci:28,achiev:[10,16],acknowledg:8,across:[1,52],act:[20,32],acta:38,action_nam:16,action_unit_test:1,actiontest:1,activ:[13,14,16,44,49,53],active_internal_energi:53,actual:[3,8,13,16,22,26,34,35,36,40,41,42,49,50,52],actual_posit:34,actual_step:34,adapt:[8,25,26,32,34,35,38],add:[1,2,4,6,8,10,13,18,20,21,26,27,31,32,35,36,39,40,41,44,47,49,50],add_argu:11,add_custom_target:8,add_doc_depend:4,add_doc_sourc:[4,8],add_subdirectori:8,addalign:13,addcarestraint:32,addcbrestraint:32,addcoordin:26,addcrestraint:32,addedg:10,addendum:20,addfrag:26,addfragmentinfo:31,addframeenergi:49,addharmonicangl:25,addharmonicbond:25,addharmonicimprop:25,addit:[4,11,13,14,16,20,22,23,25,26,33,35,37,50],addition:[1,4,16,21,25,26,50],addljpair:25,addlonepair:49,addnod:10,addnrestraint:32,addorestraint:32,addpairwisefunct:40,addperiodicdihedr:25,addperiodicimprop:25,addprofil:13,address:37,addrotam:52,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,affect:[8,22,50,51],after:[1,2,4,5,8,10,13,16,21,22,25,26,27,29,31,32,34,35,37,40,52],after_c_stem:22,afterward:[8,26,35],again:[2,3,8,26,28],against:[20,39],agg:27,agglom:31,ago:1,agre:20,agreement:[20,26,28,41],agress:[2,10],aim:19,ala:[22,27,32,47,50,51,52],ala_cb:21,ala_h1:21,ala_h:21,alanin:[3,51],alg:[23,26,35],algorithm:[3,10,22,23,26],alia:29,align:[0,13,18,26,28,30,35,38,40],alignedcuboid:22,alignmenthandl:[28,35,40],alignmentlist:[0,13,35],all:[0,1,3,4,8,10,13,14,16,18,20],all_atom:[21,22,25,49,50],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,allatominteractionscor:[35,37],allatomoverallscor:[31,35],allatompackingscor:[35,37],allatomrelax:[25,32],alleg:20,alloc:26,allow:[0,2,3,5,8,11,16,22,26,27,28,31,34,35,37,39,41,46,52],allow_multitempl:13,allow_prepro_ci:22,almost:[4,32],aln:[0,28,30,31,35,40],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,52,53],also:[1,2,4,8,11,16,20,26,27,28,31,32,33,34,35,36,44,45,46,50,52],alter:[31,34],altern:[4,5,8,31,34,35,48,50],alwai:[0,1,7,8,16,29,34,35,37],amber:[21,35],ambig:52,ambigu:[0,13,52],aminoacid:[21,22,25,27,41,51,52],aminoacidatom:[21,39],aminoacidhydrogen:21,aminoacidlookup:[21,25],among:31,amount:[18,28,52],analysi:[32,33,38],analyt:[31,52],anchor:[9,21],ancient:15,angl:[9,21,22,23,25,26],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,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],anyon:[8,16],anyth:[0,2,5,8,13,14,15,31,32,36,39,41],anywai:8,anywher:16,apach:[3,20],apart:[1,31,35,36,39,41],app:7,appear:20,append:[0,13,22,26,27,35,47],appendix:20,appli:[3,7,10,11,15,16,20,22,26,29,31,32,34,35,36,38,40,44,47,49,52],applic:[1,20,32,50],applyccd:31,applyde:10,applyedgedecomposit:10,applyk:31,applyonresidu:[47,49],applypairwisefunct:[40,41],applysd:25,applyselfenergythresh:[47,49],applytransform:22,approach:[0,2,10,26,28,35,37,44,47,50],appropri:[10,20,27,35,37,50],approx:35,approxim:[25,49],arbitrari:[3,21,26,44],arbitrarili:34,archiv:20,arendal:38,arg:[1,4,13,51],arg_ca:21,arg_hd3:21,arg_sorted_scor:31,arginin:51,argpars:13,argument:[0,1,4,11,12],argumentpars:13,argv:13,aris:20,around:[1,4,8,9,16,22,31,32,35,39,40,41,52],arrai:[0,8,37],artifici:26,ascend:29,ask:8,asn:[51,52],asn_c:21,asn_hb2:21,asp:[21,49,51,52],asp_ha:21,asp_o:21,asparagin:51,aspart:[51,52],ass:34,assembl:13,assemblepars:13,assert:20,assertequ:8,assess:[39,40],assign:[3,10,22,26,31,34,39,41,50,53],assigninternalenergi:50,assignsecstruct:35,associ:[20,26,29,45],assum:[1,4,5,7,8,20,25,26,32,35,37,40,41,44],assur:44,astar:3,astarsolv:10,atom:[3,8,9],atom_idx:[21,25],atom_nam:[21,25],atomhandl:49,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,52],author:20,authorship:20,autom:[2,4],automat:[1,8,10,11,14,16,26,30,31,37,52],automatis:8,avaibl:50,avail:[1,2,3,5,7,8,15,16,18,20,25,26,31,34,40,47],availab:20,availabl:8,averag:[31,40,44],avg:26,avg_sampling_per_posit:28,avoid:[0,3,6,11,13,15,26,32,34],awai:[16,36,49],awar:[8,50],awesom:[1,8],axi:[9,22],back:[1,16,25,34],backbon:[0,3,9,18,21,22,26,27,28,29,30,31],backbone_scor:35,backbone_scorer_env:35,backbonelist:[18,21],backboneoverallscor:[28,31,34,35],backbonerelax:[32,35],backbonescor:8,backbonescoreenv:[8,28,31,34,35],backbonescoreenvlisten:8,background:[2,36],backrub:[22,38],backward:37,bad:25,base:[0,3,4,5,9,11,13,20,22,23],base_target:4,bashrc:8,basi:[4,8,16,20,32,34,48,49],basic:[1,2,8,11,16,27,34,35,47,49,52],bb_dep_lib:37,bb_list:[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,52],becaus:[8,16,21,35,40],becom:[10,52],been:[2,3,10,16,20,24,26,31,32,35,39,41,44,52],befor:[0,1,4,7,8,13,16,22,25,26,27,29,31,32,34,35,36,37],begin:[1,8,21,22,34,40],behalf:20,behav:[1,52],behaviour:[0,13,39,40,52],behind:8,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],below_thre:26,benefici:20,besid:[2,4,10,13,26],best:[4,7,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,52],beyond:13,biasini2013:[19,38],biasini:38,bienert:38,big:[25,37],bilinearli:52,bin:[1,8,16,18,26,27,39,41,52],bin_siz:52,binari:[1,4,8,16,17,25,26,27],bind:[0,13,20],bins_per_dimens:27,bioinformat:38,biol:38,biologi:[19,38],biophi:38,biopolym:38,bit:[1,8,16,31,35],bitwis:26,blank:8,block:3,blosum62:[23,26,28,40],boilerpl:20,bond:[0,3,9,22,25,26,32,33,36,38,41],bond_force_const:25,bond_length:[9,25],bool:[1,8,10,11,13,14,21,22,25,26,29,31,32,33,34,35,36,37,39,41,44,49,50,52],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],boost_librari:4,boost_root:2,bootstrap:[6,7],bore:34,both:[3,21,26,29,35,44,47,52],bound:[21,25,28,31,49],bracket:20,bradlei:25,branch:[4,8],branchnam:16,brew:4,bridg:[24,25,32,35,36],briefli:16,bring:8,broken:1,broyden:35,bsd:20,bug:[3,8,16],build_disulfid:36,builder:2,buildfromrawmodel:[30,35],buildrawmodel:[0,30,31,35],buildsidechain:35,buildup:[47,49],built:[4,7,25,26,40,45,50],bunch:[1,13,16],bundl:20,bytecod:1,c_coord:9,c_num:29,c_po:[9,22,41],c_stem:[9,23,26,29,31,32,34],c_stem_psi:34,c_str:37,c_ter:[32,50],ca_coord:9,ca_pairwise_funct:40,ca_po:[9,22],ca_pos_on:[43,44],ca_pos_two:[43,44],ca_posit:44,ca_rmsd:[23,26],cach:[2,26,28],calcul:[8,22,26,27,28,31,32,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,34,35,36,37,39,40,41,49,50,52],callabl:[13,16],calpha:35,calul:27,came:8,can:[0,1,3,4,5,7,8,9,10,11,13,14,15,16,18,21,22,23,25,26,27,28,29,30,31,32,34,35,36,37,39,40,41,42,44,45,46,47,48,49,50],cand:35,candid:[3,30],cannot:[0,8,13,20,25,26,27,29,35,37,39,41,48,51,52],canutescu2003:[32,38],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:[3,10,28,31,34,35,46],carmsd:[22,23,26],carri:[8,11,20],cast: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],cbpackingscor:[8,35,37],ccd:[3,30,31],ccdcloser:34,center:33,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],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],chanact:35,chanc:[8,10,35],chang:[1,3,4,5,8,10,16,20,21,27,28,29,32,34,35,36,39],change_frequ:[10,34],chapter:[29,33],charact:[13,20],charg:[8,20,21,25,32,49,50],charmm:[21,25,35],check:[0,1,3,5,8,11,13,14,16,22,25,26,30,32],check_io:37,check_xml:8,checkbasetyp:37,checkfinalmodel:35,checkmagicnumb:37,checkout:[8,16],checktypes:37,chemdict_tool:[5,7],chemic:[5,15,21,39],chemistri:38,chemlib:[5,7],chi1:52,chi2:52,chi3:52,chi4:52,chi:52,child:13,childclass:1,chmod:8,choos:[20,31,34],chose:5,chosen:[0,13,34,35],cif:[0,5,7,13],ciiipgatcpgdyan:35,circumv:50,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],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,close:[16,18,22,26,31,32,34,35,36,44],closed_posit:34,closegap:35,closelargedelet:35,closer:[3,26,30,31],closerbas:34,closesmalldelet:[32,35],closur:[32,35,38],clustal:[0,13],cluster:[3,31,37,40],cluster_thresh:[28,40],clutter:[1,8,26],cmake:0,cmake_support:[4,8,16,20],cmakecach:2,cmakelist:[1,2,4,8,16],coars:8,code:[0,1,3,4,5,6,7,8,11,13,14,15,16,17,20,21,22,26,27,33,35],codetest:[4,8],coil:[24,28],collect:[11,14,21,28,40],column:[26,28],combin:[20,25,26,27,28,31,34,35,38,39,41,44,52],come:[1,4,8,11,13,35,36,42,46,52],command:[0,1,7,8,11,12],commandlin:13,comment:[16,20],commerci:[8,20],commit:[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,52],comparison:[35,38,52],compat:[16,25,37],compensatori:22,compil:[1,2,4,8,14,16,18,20,37,54],complain:1,complaint:16,complet:[14,16,22,25,32,34,35,36,52],complex:[8,16,36,44,49,53],compli:20,complianc:20,complib_dir_contain:[5,7],complib_dir_localhost:[5,7],compon:[5,7,10,15,26,33,41],compoundlib:[5,50],compress:[11,26],comput:[3,8,19,20,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:[8,10,16,20,31,47],conflict:16,conform:[26,32,34,38,46,52],connect:[4,5,10,16,21,25,26,31],connectivi:5,conop:[5,21,22,25,27,41,50,51],conquer:8,consecut:[26,27,41],consequenti:20,conserv:[18,29],consid:[0,4,8,10,13,14,16,21,22,26,27,28,31,32,34,35,36,39,40,41,44,47,50,52],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,52],conspicu:20,constant:[3,25,32,39,41,53],constitut:20,constraint:[13,26,32,34,40],constraintfunct:40,constru:20,construct:[0,9,21,22,26,28,29,34,37],constructatompo:9,constructbackboneframeresidu:[47,50],constructcbetapo:9,constructcterminaloxygen:9,constructetd:10,constructframeresidu:50,constructframeresidueheurist:50,constructfrmrotamergroup:[47,50],constructor:[21,25,29,32,34,37,40,41,47,49],constructrrmrotamergroup:50,constructsidechainframeresidu:50,contact:40,contactfunct:40,contain:[0,1,3,4,5],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,contributor:20,contributori:20,control:[0,3,8,10,20,31,34,36,40,49,50,52,53],conveni:[1,7,8,18,28,31,34,35],convent:[1,51],converg:[28,31,32,34],convers:[20,37],convert:[4,5,22,25,26,27,35,37,39,41,52,53],convert_module_data:4,convertbasetyp:37,cooler:[3,30,31],coolerbas:34,cooling_factor:[10,34],coord:[26,31],coord_idx:26,coord_info:26,coordin:[3,9,26,31,32,34,35,38,39,47],coordinfo:26,cope:16,copi:[2,3,4,8,16,18,20,21,22,29,31,34,35,40],copyright:20,copyright_cmak:20,core:[0,8,9,10,11],correct:[5,25],correctli:35,correspond:[0,10,16,21,22,25,26,27,31,37,52],corrupt:[21,40],cotain:26,could:[1,4,5,8,13,16,25,26,35],count:[14,29,34,35,39,41],countenclosedgap:29,countenclosedinsert:29,counter:34,counterclaim:20,counterpart:[31,41,50],coupl:[1,8,16,35],cours:8,coutsia:38,coutsias2005:[32,38],cover:[1,8,12,13,14,21,25,26,28,30,34],coverag:35,cparticl:49,cpp:4,cpr:[51,52],cpu:[18,25,35],cpu_platform_support:25,crambin:[26,31,34],crash:47,createalign:[31,35],createentityfromview:[36,47],createfromfrmlist:[46,47],createfromrrmlist:46,createfullview:[30,31,35],createsequ:[26,31,35],creation:[25,32],creator:[25,32],criteria:36,criterion:[10,34],criterium:31,croak:16,cross:20,crucial:8,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,53],custom:[8,26,34,35,36,37,48,51],customari:20,cutoff:[24,25,31,32,36,39,41],cycl:29,cyclic:[31,32,38],cyd:[51,52],cyh:[51,52],cys_hb3:21,cys_sg:21,cystein:[25,36,44,47,51],d_bin:41,dai:11,damag:20,dampen:25,danc:38,dare:4,dat:[26,37],data1:4,data2:4,data:[0,1,3,4,8,16,17,21,23,24,25],data_:37,data_gener:[3,37,48],data_to_stor:26,data_typ:26,databas:[0,9,23,24],databs:26,datatyp:26,date:[5,7,16,20],davi:38,davis2006:[22,38],dbg:8,dcmake_install_prefix:2,deactiv:10,dead:[10,38],deal:[35,36],debug:[8,10,21],decent:15,decid:[3,8,32],decis:27,declar:[4,8,16],decod:13,decompos:[3,10],decomposit:[10,28,46],decreas: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],definem:8,degre:[22,26,27],delet:[0,2,8,22,35,49],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,dependency1:4,dependency2:4,depends_on:4,depth:[26,38],deriv:[1,20,26,38,43,44],descend:35,descent:[31,32,38],describ:[4,7,10,11,17,20,21,22,26,29,30,32,33,37,39,41,44,47,48,49,52,54],descript:[0,5,13,16,20,34,52],descriptor:26,descsrib:10,design:[1,3,19,20],desir:[9,18,25,31,32,34,35,39,40,41],despit:3,detail:[0,9,13,16,20,25,26,27,31,33,34,35,39,41,48,52],detect:[0,11,28,30],determin:[8,11,20,25,26,31,34,40,41],determinist:28,deuterium:35,develop:[1,3,8,16],deviat:[22,33,34,52],devot:12,dict:[4,28,31,33,34,39,41],dictionari:[4,5,13,15,33,38],did:[8,26,31,35],didn:7,didnt:5,differ:[1,2,4,7,8,10,15,16,20,21,26,28,29,31,35,39,41,47,51,52],dihedr:[9,18,22,23,25,26],dihedral_angl:22,dihedral_bin:41,dihedral_idx:52,dihedral_pair:27,dihedralconfigur:52,dill:38,dimens:27,dir:[4,8],direct:[8,20,22,24,26,41,49,50],directli:[8,10,26,31,35,36,40,44,49,51,52],directori:[1,4,5,7,8],dirti:1,dirtyccdclos:34,disabl:[1,16],disable_doctest:2,disable_document:2,disable_linkcheck:2,discard:26,disclaim:20,discocontain:40,disconnect:3,discret:[39,41],discuss:[20,26],disk:[8,25,28,39,41,52],displai:[11,13,14,20],dissimilar:28,dist:41,dist_bin:41,dist_bin_s:26,distanc:[9,22,26,28,31,35,36,39,40,41,43],distance_thresh:28,distant:40,distinct:[21,36,52],distinguish:3,distribut:[1,8,20,25,26,27,34,37,39,41,48,52],disulfid:[0,25,32,36,43],disulfid_bridg:[25,36],disulfid_score_thresh:36,disulfidscor:[36,44],dive:[16,35],diverg:8,divers:[26,28],dng:18,do_it:[39,41],doc:[2,4,8,16,20],docker:3,dockerfil:[5,7],dockerhub:7,docstr:13,doctest:[2,8,16],document:1,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,52],doesnt:52,doexternalscor:[39,41],dointernalscor:[39,41],domain:28,domin:10,don:[2,10,20,31,35,50],done:[1,8,11,13,16,23,25,27,31,34,35,37],donor:41,donorm:[39,41],dont:[0,34],dont_write_bytecod:1,dost_root:2,doubt:13,down:[13,22,26,34],download:5,dpm3_runtime_profiling_level:14,draw:[22,27,34],drawback:8,drawn:[27,34],drawphigivenpsi:27,drawpsigivenphi:27,drop:8,dssp:[3,26,41],dssp_state:41,due:[26,31,32,35,44],dump:52,dunbrack:[3,38,48],duplic:6,dure:[1,21,32,35,37,45,52],dynam:52,dynamicspatialorgan:3,e_cut:10,e_thresh:[10,35],e_tresh:10,each:[0,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,edge_idx:10,editor:1,editori:20,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,8,13,16,20,21,22,27,29,31,32,34,35,36,37,39,40,41,45,49,51,52],elabor:[8,20],electron:20,electrostat:[25,32],element:[1,10,21,22,26,28,31,33,37,40,44],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,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:[3,8,10,18,25,32,34,35,39,41,44,45,46,47,49,50,53],enforc:[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:45,entiti:[8,13,14,20,21,22,26,33,35,42,47],entityhandl:[13,21,22,33,35,36,40],entityview:[26,27,28,33,35],entri:[0,3,8,14,25,26,31,32,33,36,41,47,50],enumer:[8,10,21,25,26,31,40,47,49,50,51,52],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],epsilon:[10,25,36,53],equal:[34,39,41,44,50],equidist:52,equival:[35,39,41],error:[0,11,13,14,26,32,35,37],especi:28,estim:[10,33,34,38,41,44,52],etc:[1,3,8,16,22,26,31,40],evalu:[4,8,32,35,39,40,41],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,52,53],everyth:[1,3,7,8],evolut:38,evolv:42,exact:[0,7,10,13,37],exactli:[2,10,26,28,31,35,40,44,50,51],exampl:[0,1,8,11,13,16,17,18,20,21,23,25,26,27,28,30],example_reconstruct:47,exce:[39,41],exceed:[26,29],except:[0,3,13,20,26,29,34,35,50],exclud:[8,20,26],exclus:[1,8,20,25],exec:7,execut:0,exercis:20,exisit:17,exist:[0,1,2,4,8,10,11,13,14,16,21,22,26,31,32,33,34,35,37,39,40,41,48,49,51,52],exit:[0,1,11,13],exit_cod:1,exit_statu:11,exot:8,exp:34,expect:[1,7,21,25,26,35,36,40,44,53],expens:26,experiment:35,explain:[1,8],explan:8,explicit:2,explicitli:20,explor:38,exponenti:34,exponentialcool:34,expos:26,express:[20,44],ext:11,extend:[1,4,8,16,17,24,26,28],extendatcterm:29,extendatnterm:29,extended_search:[31,35],extens:[0,3,11,13,29,35],extension_penalti:29,extent:26,extern:[3,4,5,7,8,34],extra:[2,3,8,16,22,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,50],extractbackbon:21,extractloopposit:25,extractstatist:27,extrem:22,f_i:26,f_idx:40,facilit:28,factor:[10,25,34,49],fail:[0,1,8,11,14,22,31,32,35],failur:[0,8,11,13,20,52],fall:32,fallback:52,fals:[1,8,10,11,13,22,25,26,29,31,34,35,36,44,47,49,50],far:[31,35],fast:[9,18,19,21,25,26,27,37,39,40,41,52],fasta:[0,13,30,35],faster:[10,25,26,32,33,40],fastest:[32,35],favor:33,favourit:1,fed:[4,16],fedora:8,fee:20,feed:[4,21,31],feel:[8,16],fellow:8,fetch:16,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,field:[20,35,37,52],fifti:20,figur:16,file:[0,1,3,4,5,8],filecheck:16,fileexist:11,fileextens:11,filegzip:11,filenam:[0,8,11,13,25,26,27,28,37,39,41,48,52],filenotfound:33,fill:[4,7,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:[4,7,8,10,16,21,23],findchain:42,findeigen3:20,findwithin:8,fine:8,finish:53,fire:[1,7],first:[0,1,8,10,13,16,18,21,22,25,26,27,28,29,31,32,34,35,36,39,40,41,43,44,47,49,52],fit:[16,20,22,26,30,31],fix:[3,8,11,16,25,32,36,37,39,41],fix_cterm:32,fix_nterm:32,fix_surrounding_hydrogen:25,flag1:4,flag2:4,flag:[0,2,4,8,10,11,22,26,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,53],flip:52,flood:26,flush:[1,16],fold:38,folder:[2,4,8,16,18,37],follow:[0,1,2,4,5,8,10,11,16,18,20,22,23,25,26,28,29,30,31,35,36,37,39,41,47,49,50,51,52],fontsiz:27,forbidden:8,forc:[25,32,35],force_const:[25,32],forcefield:23,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,52],formal:[31,32,49,52],format:[0,5,13,20,26,48],formula:33,forward:16,found:[1,4,8,11,13,16,21,23,26,28,31,32,33,34,35,36,44,46,52],foundat:1,four:[9,34],fraction:[26,28,32,34],frag_db:[23,26,31,37],frag_info:26,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:[23,26,28,34,35],fragger_handl:35,fragger_map:26,fraggerhandl:[26,28,35],fraggermap:[26,28],fragment:[3,9,22,23,24],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],frame_energi:49,frame_residu:[45,47],frameresidu:[45,49,50],framework:[8,19,38],free:[8,20,51,52],frequenc:[26,34],frm:36,frmrotam:[44,49,53],frmrotamergroup:[44,46,49,50],from:[0,1,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],fromhhm:26,fromhoriz:26,fromresidu:52,front:[1,11,16],fstream:37,fudg:25,fulfil:[26,52],full:[0,1,8,10,21,25,26,29,30,31,34,36,47,49],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],furthermor:37,futur:[25,26],gamma:[40,41,44],gamma_bin:41,gap:[0,3,9,18,24,25],gapextend:[29,35],gapfre:26,gapless:[0,13],gather:[4,12,16,26,28,47,49,52],gauc:52,gauch:52,gauche_minu:52,gauche_plu:52,gciiipgatcpgdyan:[31,35],gener:[1,3,5,8,10,13,14,16,18,20,23,24],generatedenovotrajectori:28,generatestructureprofil:26,geom:[21,22,25,26,28,32,35,44,49],geometr:[9,23],geoom:43,get:[0,1,7,8,16],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,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,49],getclust:31,getclusteredcandid:31,getconfid:26,getcoordidx:26,getcoordinfo:26,getcpuplatformsupport:25,getcreationd:5,getdefault:[25,32,35],getdefaultlib:5,getdihedralangl:26,getdihedralconfigur:52,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],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,getnam:[47,49],getnonbondedcutoff:32,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],getoxtindex:25,getparticletyp:49,getpeptideboundconnect:25,getphiprobabilitygivenpsi:27,getphitors:[21,22,47],getpo:[21,49],getpotentialenergi:25,getpredict:26,getprob:[27,49],getpsiprobabilitygivenphi:27,getpsitors:[21,22,47],getr:33,getresiduedepth:26,getringpunch:33,getrotamericconfigur:52,getscor:[26,34],getselfenergi:49,getseqr:[21,40],getsequ:[21,22,26,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,getweight:[28,31],ggg:35,gggaggg:35,gggggggggggggggggggg:35,git:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15],gitignor:8,give:[4,8,16,20,23,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,52],glass:38,gln:[51,52],gln_ne2:21,global:[15,26,31,37],glu:[21,49,51,52],glu_oe1:21,glutam:51,glutamin:51,gly:[35,36,47,50,51],gly_n:21,glycin:[3,22,26,32,36,51],goal:[1,10,30],goe:[2,8,14,16,35,52],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,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,41,44,45,46,47],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],haa:38,hand:[0,2,4,13,49],handl:[3,8,9],handler:28,happen:[1,8,25,26,28,29,34,35,49],hard:43,hardwar:18,harmless:20,harmon:[25,32],harmonic_angl:25,harmonic_bond:25,harmonic_improp:25,hasdata:26,hasfraglength:26,hasfragmentinfo:31,hash:26,hasringpunch:33,have:0,hbond:[28,35,41,49,50,51],hbond_scor:37,hbondscor:[35,37],headach:8,header1:4,header2:4,header3:4,header4:4,header:[0,4,16,17],header_output_dir:4,headlin:8,heavi:[21,25,36,39,50],heavili:[26,47],helic:[22,24,25,28,35,41],helix:[18,22,34,47],hello:37,hello_world:8,hellyeah:18,help:[0,1,2,4,7,8,13,16,18,25,41],helpactiontest:1,helper:4,hen:26,henc:[8,14,21,26,37],here:[0,1,2,4,8,11,13,14,16,18,21,22,25,26,27,28,30,31,32,34,35,37,39,41,44,48,52],herebi:20,herein:20,het:35,heurist:[35,50],heuristicprocessor:21,hgfhvhefgdntngcmssgphfnpygkehgapvdenrhlg:0,hhblit:[0,13],hhm:[0,13,26,31],hhsearch:26,hidden:49,hide:[8,16],hierarch:[31,40],hierarchi:15,high:[3,8,16,30,35],high_resolut:22,higher:[31,40,41],highest:15,highli:[2,8],hint:13,histidin:[25,51],histogram:[27,34],histori:16,hit:[1,10,16,27,32],hmm:38,hold:20,home:[4,5],homo:[0,13],homolog:[0,12,18,19,35,38],homologu:26,honor:35,honour:35,hook:8,horiz:26,host:[4,7,16],hotfix:16,how:[1,7],howev:[5,20,26],hparticl:49,hpp:37,hsd:[51,52],hse:[51,52],html:[2,8,16],http:[7,20],hybrid:52,hydrogen:[3,21,22,25,35,38,41,49,50],hyphen:1,i_loop:[25,36],id_:37,idea:[1,8,21,23,25,26,35,40,49,53],ideal:[22,32,53],idenfifi:50,ident:[3,26,27,41,52],identif:20,identifi:[0,13,14,20,26,31,35,36,39,41,50,52],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,32,35],iii:20,illustr:26,image_nam:[5,7],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,51],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:53,inactive_internal_energi:53,incident:20,incl:[25,26,35],includ:[2,8,11,16,18,20,21,25,26,29,31,33,35,37,39,41,47],include_ligand:35,inclus:[20,35],incompat:[31,32],incomplet:[35,48],inconsist:[10,13,21,22,25,26,29,31,32,36,40],inconveni:16,incorpor:20,increas:[10,28,31,32,35,50],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,52],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:[20,39,41],inf:[10,32],infin:32,infinit:32,influenc:[13,28,40],info:[26,31,35,40],inform:[5,7,8,13,16,20,22,23,26,28,29,31,34,35,38,40,41,42],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,52],initial_bb:31,initial_epsilon:[10,53],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,50,53],insert:[21,22,29,31,34,35,53],insertinto:[21,22,31],insertloop:[29,35],insertloopcleargap:[29,31,35],insid:[1,4],insight:16,instanc:[3,8,13,24,25,37],instead:[0,1,2,3,4,8,11,26,28,29,31,34,35,50],institut:20,instruct:2,int16_t:37,int32_t:37,int_32_t:37,integ:[8,13,21,40],intend:[1,8,34],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,52],interfac:[0,4,8,20],intermedi:8,intern:[0,1,3,4,5,8,16,21,24,25,26,27,28,31,32,34,35,36,37,38,39,40,41,46,49,50,53],internal_e_prefac:50,internal_e_prefactor:49,internal_energi:49,internet:8,interpl:52,interpol:[40,52],interpret:[8,11],intervent:8,intrins:2,introduc:[1,4,8,16,32,35],invalid:[8,21,25,26,29,32,35,36,39,40,41,45,49,51,52],invok:[2,4,8,15,16],involv:[16,30,44],iostream:37,irrevoc:20,is_c_ter:[25,36],is_cter:25,is_n_ter:[25,36],is_nter:25,isallatomscoringsetup:[31,35],isallset:21,isanyset:21,isbackbonescoringsetup:35,isctermin:29,isempti:31,isen:14,ishbondacceptor:49,ishbonddonor:49,isntermin:29,isoleucin:51,isset:21,issimilar:52,issourc: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],itself:[3,4,8,16,26,34,36,37,39,41,49],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,29,31,35,50],kabsch1983:[26,38],kabsch:38,keep:[0,1,4,5,8,13,16,30],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],kernel:38,keyword:27,kic:[30,31],kicclos:34,kick:13,kill_electrostat:25,kind:[1,8,20],kinemat:32,know:[2,52],knowledg:52,known:[4,11,21,40,50],krivov2009:[10,38,47],krivov:38,kwarg:1,l_e:49,lab:48,label:[16,25],lack:35,languag:[4,20],larg:[5,27,32,35],larger:[10,14,22,26,35,50],largest:[28,31,44],last:[1,4,21,22,25,29,31,32,34,35,40,41,48],last_psi:22,later:[1,8,10,21,47],latest:[2,5,7,8],latter:[0,5,16,35],launcher:[4,8],law:20,lawsuit:20,layer:44,layout:[26,37],lazi:49,lbfg:35,leach1998:[10,38],leach:38,lead:[0,8,9,11,22,25,31,32,36,39,41,48],least:[0,2,4,8,10,16,20,22,25,26,35,39,41,44],leav:1,left:[11,32],legal:[8,20],lemon:38,len:[22,23,25,26,28,31,35,36,41,47],length:[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,31,35,39,41,52],let:[1,7,8,22,26,31,47],letter:[3,5,21,22,26,27,34,51],leu:51,leu_h:21,leucin:51,level:[2,3,8,14,15,16,30,35,49],lexicograph:35,liabil:20,liabl:20,lib64:8,lib:[5,7,37],libexec:[4,8],libpromod3_nam:4,librari:[0,3,4],library1:4,library2:4,licenc:48,licens:3,licensor:20,life:16,ligand:[3,35,36,50],like:[1,4,7,8,16,35,37,48,49],limit:[3,20,26,32,35],line:[0,1,7,8,9,12],linear:[26,28,31,34,39,40,41],linear_weight:[31,34,39,41],linearcombin:31,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,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,52,53],listen:8,literalinclud:8,litig:20,littl:[4,8,16,37],live:[4,8],lj_pair:25,load:[1,8,13,15,21,23],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,30,31,32,34,35,36,42,47],loadport:[25,26,27,37,39,41,52],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,52],localhost:7,locat:[2,3,4,5,10,22,24,26,29,37,39,41,49],log:[11,16,33,49,50],logic:0,loginfo:33,lone:49,lone_pair:49,longest:26,look:[5,8,11,16,22,26,36,40],lookup:[9,21,23],looooooong:10,loop:[0,3,8,18,21],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],loss:[16,20],lossi:26,lost:[1,16],lot:[1,7,8,13,16],low:[1,8,10,50],lower:[31,34,35,39,41],lowest:[31,34,49],lowest_energy_conform:34,lysin:51,machin:[25,26,27,37,39,41,52],macro:[4,8],made:[4,20,52],magic:[8,37],mai:[0,1,2,4,8,11,13,16,20,21,25,29,32,35],mail:20,main:[35,37,52],mainli:[21,34,49],maintain:[8,16],maintin:34,major:16,makefil:[2,8],makestat:52,malfunct:20,malici:16,man:[2,8],manag:[4,8,20,42],mani:[7,11,13,26,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],match:[0,4,13,22,25,26,27,31,32,34,35,40,41],materi:[1,8],math:33,mathemat:[31,32],matplotlib:27,matric:38,matrix:[9,26],matter:[4,7],max:[9,10,21,29,33,35,36,41,52,53],max_alpha:41,max_beta:41,max_complex:[10,53],max_count:[39,41],max_d:41,max_dev:34,max_dist:[31,40],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_visited_nod:10,maxfraglength:26,maxim:[10,26,28,31,32,34,35,38,40,41],maximum:[10,26,31,32,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,32,35,36],meaning:[26,31],meant:[18,21,26,33,35,50],measur:28,mechan:[18,20,31,32,34,35,40],meddl:[7,35],media:20,medium:20,meet:20,member:[8,13,31,35],memori:[10,26,35,37],mention:[1,2],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],messi:16,met:51,methionin:[35,51],method:[0,1,10,13,21,25,26,27,32,35,36,37,50],metric:40,metropoli:[10,31,34],mhandl:[29,30,31,35],middl:16,might:[10,25,26,31,32,34,40,49,50,53],min:[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,mincadist:22,mind:[1,8],minim:3,minimizemodelenergi:35,minimum:[22,26,28,44],minor:[3,25],mirror:37,miser:14,mismatch:[21,40],miss:[0,11,13,25,35],mix:[0,4],mkdir:[2,8],mm_sy:[25,32],mm_sys_output:25,mm_system_cr:32,mmcif:[5,11],mmsystemcr:[25,32],mod:8,mode:[1,52],modellinghandl:[29,31,35],modeltermini:35,modif:[20,35],modifi:[8,16,20,22,31,35],modified_crambin:31,modul:[1,3],modular:19,module_data:4,mol:[8,9,18,21,22,23],molecular:[18,32,35],molprob:30,molprobity_bin:33,molprobity_execut:33,moment:8,monitor:1,monolith:8,mont:[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],most:[0,3,4,5,8,22,25,26,27,28,31,32,35,39,41,48,50],mostli:[4,16,49],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,35],multi:18,multipl:[0,2,3,4,8,13,14,18,25,28,31,35,36,39,41],multipli:[10,34],multitempl:13,must:0,mutlipl:13,my_db_on:26,my_db_two:26,my_script:7,myclass:37,myclassptr:37,mytrg:0,n_coord:9,n_num:29,n_po:[9,22,41],n_stem:[9,23,26,29,31,32,34],n_stem_phi:34,n_ter:[32,50],naivesolv:10,name:[0,1,3,4,5,7,8,11,13,14,20,21,25,26,27,29,31,33,35,44,48,49,51,52],name_pymod:4,namespac:[7,13,37],nan:[32,52],nativ:37,necessari:[8,22,34,40],necessarili:[20,53],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],need_config_head:4,neg:[1,10,25,32,40],neglect:[28,32,45,49],neglect_size_on:31,neglig:20,neighbor:[8,21,35],neighbour:[35,52],network:[22,44],never:[13,16,26,31,36,37,39,41],nevertheless:[8,49],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,4,10,13,16,20,24,25,27,28,29,31,32,35,37,47,48,50],non_rotamer:52,nonbonded_cutoff:[25,32],none:[13,26,28,33,34,35,36],nonredund:26,nonzero:52,norm:41,normal:[20,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,50,51],notebook:7,noth:[0,4,8,13,14,20,34,49],notic:[1,4,16,20],notwithstand:20,novel:[19,38],novo:3,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,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,52],numer:35,numpi:[27,34],o_po:22,object:[0,3,8,13,14,20,21,22,23],oblig:20,observ:[10,26,32,53],obtain:[10,18,20,23,35],obviou:16,occupi:[45,50],occur:[21,28,40,41],ocparticl:49,odd:26,off:[1,8,14,35],offend:33,offer:[6,20,24,30,49,52],offset:[0,3,13,26,31,35],ofstream:37,often:[8,11,13,32],olc:22,old:[33,35],oligom:[0,13,30],oligomer:3,omega:[21,22],onc:[1,3,8,16,25,28,31,32,34,46,52,53],one_letter_cod:[21,23,26,31,32,34,36],onli:[0,1,2,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,50],only_longest_stretch:26,onto:[1,22,26,28],oparticl:49,open:[13,25,26,27,37,39,41,52],openmm:[2,18,25,32],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],oper:[3,10,16,18,21,26,40],opt:[11,13,16],optim:[0,3,10,25,26,27,31,39,41,44,47,48,52],optimis:8,optimize_subrotam:[36,44],option:[0,2,3,5,7,13,26,31,32,35,52],order:[0,5,13,21,25,26,29,31,35,37,40],org:20,organ:[8,26,52],orient:[9,32,41],orig_indic:[31,33],origin:[5,7,9,13,16,20,22,26,31,34,35,40,53],ost:[0,1,3,4],ost_complib:[5,7],ost_double_precis:2,ost_ent:33,ost_librari:4,ost_root:[2,8],other:[0,1,4,8,10,14,16,20,21,22,31,32,35,36,39,41,42],other_index:22,other_res_index:21,otherwis:[1,4,8,10,14,16,20,21,22,25,26,28,29,31,32,34,39,40,41,49,52],our:[4,5,8,16,26,31],out:[0,1,2,4,8,14,16,20,21,25,26,27,28,29,31,34,47,52],out_path:4,out_po:25,out_stream:37,out_stream_:37,outdat:[5,7],outer:[14,26],outlier:33,output:0,output_dir:4,outsid:[8,40],outstand:20,over:[2,4,13,16,26,32,34,35,49],overal:[10,34,40,46],overhead:25,overlap:[25,34,35,36],overli:16,overload:37,overrid:[2,5,25],overridden:4,overriden:5,overview:[8,16],overwrit:31,overwritten:25,own:[1,3,4,5],owner:20,ownership:20,oxt:[9,21,25],oxygen:[22,35,43,49,50],pack:21,packag:[4,8,16],pad:[22,37],page:[2,8,20],pai:1,pair:[9,25,26,27,28,32,34,36,37,39,40,41,44,49,52],pairwis:[3,8,10,22,28,31,35,39],pairwise_energi:10,pairwiseenergi:49,pairwisefunct:[40,41],pairwisefunctiontyp:40,pairwisescor:[8,35],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,53],parameter_index:26,parametr:[32,35,36,50],parent:35,pars:[0,11,12],parser:12,part:[1,8,16,18,20,21,26,34,35,40,44,46,47,49],partial:29,particip:[36,44],particl:[25,26,32,41,43,44,45,47],particular:[8,10,20,26,31,32,34,49,52],partner:[39,40,41,49],pass:[13,16,21,25,26,28,29,32,34,44,45,49,50],past:[8,16,22,29],patent:20,path:[1,2,4,5,8,11,16,18,25,26,27,33,39,41,52],path_to_chemlib:15,path_to_dockerfile_dir:5,path_to_promod3_checkout:6,pattern:38,paus:14,pdb:[0,5,8,11,13,18,21,22,23,24,25,26,30,31,32,33,34,35,36,42,47],penal:[29,35],penalti:[29,35],penultim:3,peopl:16,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],peptid:[3,21,23,25,26,35,36,47],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,pertain:20,phase:25,phe:[51,52],phenix:33,phenylalanin:51,phi:[21,22,26,27,32,34,41,47,50,52],phi_bin:[41,52],phi_handl:47,philippsen:38,phipsisampl:34,phosphoserin:35,phrase:8,pick:[31,34],pictur:8,piec:[8,28],pipelin:[0,3,14],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,plane:33,platform:[18,25],playground:7,pleas:[2,8,16,28,31,32,35],plot:27,plt:27,plu:[8,13,15,26,44,49],pm3_csc:16,pm3_openmm_cpu_thread:[18,25,35],pm3_runtime_profiling_level:14,pm3argpars:[0,11,12],pm3argumentpars:[0,11,13],pm_action:[1,4,8],pm_action_init:8,pm_bin:1,png:27,point:[2,7,8,13,15,21,26,28,34,35,40,52],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],portable_binary_seri:37,portable_fil:4,portablebinarydatasink:37,portablebinarydatasourc:37,pos_end:28,pos_on:28,pos_start:28,pos_two:28,posit:[3,8,9],possibl:[0,3,8,10,13,16,20,22,25,26,27,29,31,32,34,35,36,37,39,40,41,44,46,49,51,52],post:13,postprocess:36,pot:25,pot_:32,potenti:[10,23,25,26,31,32,35,36,37,38,41],power:20,pqhpg:0,practic:[4,8,25,26],pre:[8,16],pre_commit:[8,16],preceed:36,precis:[2,31,35],precomput:23,pred:40,predefin:[4,18,25,35,39,41],predict:[26,28,35,38,40,41],prefactor:49,prefer:[2,4,20,26,52,53],prefilt:35,prefix:[1,4,8,11],prepar:[8,20,35],present:[22,28,32,36,49,50,52],prev_aa:34,prevent:[1,8],previous:[25,26,31,36,40],primary_rot_angl:22,principl:[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,51,52],probabilist:[26,50],probability_cutoff:50,probabl:[4,8,10,16,26,27,28,31,32,34,49,50,52],problem:[3,7,10,13,16,26,31,32,34,35,40,42,44,46,48,53],problemat:[3,5,28],proce:42,procedur:[10,28,34,36],process:[1,13,16,21,25,28,32,34,35,37,40,45,49,52],processor:5,produc:[0,1,2,4,8,10,26,29,33,35,50],product:[1,3,16,20],prof:[0,26,31],prof_dir:26,prof_path:26,profil:[0,3,12,13],profiledb:26,profilehandl:[13,26,28,31,35],prog:13,program:[4,5,8,12],project:[3,4,8,16],prolin:[22,33,50,51],promin:[0,20],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,52],propos:[29,31,32,34,44],proposed_posit:34,proposestep:34,prot:[8,23,26,32,34,36,47],prot_rec:8,protein:[0,18,24,25],proton:[21,25,51,52],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,52],prune:[10,53],pseudo:[34,35,39,41],psi:[21,22,26,27,32,34,41,47,50,52],psi_bin:[41,52],psi_handl:47,psipr:[26,28,40,41],psipred_confid:41,psipred_pr:28,psipred_predict:[26,28,35],psipred_st:41,psipredpredict:23,pssm:[0,13],publicli:20,pull:[7,8,16],punch:[1,3,30],pure:0,purpos:[8,10,20,35,52],push:[7,16],pushverbositylevel:13,put:[1,4,8,11,13,35],pwd:5,py_run:[1,4,8],pyc:1,pylint:16,pylintrc:16,pymod:[4,8,16],pyplot:27,pytest:8,python2:8,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],python_root:2,pythonpath:8,qmean:2,qmeandisco:40,qualiti:35,quantum:38,queri:[26,52],querylib:52,question:[3,27],quickli:[5,8,32],quit:[8,13],rackovski:38,radian:[9,22,25,27],radii:[33,43],radiu:[8,33,39,41],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,52],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,52],rank:31,rapid:38,rare:8,rather:[5,7,8,11,16,34,52],raw:[7,18,25,26,27,30,31],rawmodel:[3,8],reach:[0,29,32],read:[0,8,11,13,16,25,26,27,29,36,37,39,41,48,52],readabl:[0,8,13,20,52],readdunbrackfil:48,reader:[16,18],readi:[2,52],readm:[2,48],real:[8,13,37,50],realli:[1,2,8,11,16],reappear:16,reason:[8,16,20,32,34,53],rebas:16,rebuild:[2,8],recalcul:27,receiv:20,recent:16,recip:[3,6,7],recipi:20,recoginz:51,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],reconstructcbetaposit:22,reconstructcstemoxygen:22,reconstructor:[32,35,36],reconstructoxygenposit:22,reconstructsidechain:[8,35,36],reconstructtest:8,record:[1,35],recreat:16,redistribut:20,reduc:[3,25,28,35,41],reduced_scor:37,reducedscor:[35,37],redund:[24,31],ref_backbon:[23,26],ref_fil:8,refactor:3,refer:[1,4,8,18,21,22,23,25,26,34],referenc:8,refresh:31,regard:[20,32,44],region:[25,28,29,32,34,35,45,50],regist:[4,8],registri:7,regress:38,regularli:5,reinterpret_cast:37,reject:[31,32,34],rel:[4,5,9,10,26,28,32,41],relat:[4,8,13,26,28,37,38,49],relax:30,relev:[2,3,4,7,25,36],reli:5,remain:[20,30,34,35],rememb:[1,8,34],remodel:[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,replac:[3,20,21,22,34,35],replacefrag:22,report:[1,8,35],reportmolprobityscor:33,repositori:[1,4,8,16],repres:[10,20,21],represent:[22,23,25,26,27,37,39,41,49,52],reproduc:[3,20,35],reproduct:20,request:[26,28,48,52],requir:[0,2,3,5,8,13,16,19,20,21,22,26,27,28,31,32,35,36,37,42,49,50,51,52],reread:26,res_depth:26,res_idx:49,res_index:21,res_indic:[21,25,36],res_list:[21,25,32,36],res_num:21,resembl:16,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],residue_depth:26,residue_index:[45,49,50],residuedepth:26,residuehandl:[9,21,22,26,29,31,32,33,34,49,50,52],residuehandlelist:21,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],resolvecystein:44,resort:35,respect:[9,25,35],respons:[8,16,20],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],restart:7,restor:[22,31,34,40],restraint:[26,32],restrict:[8,16,29],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],result:[0,2,8,10,20,25,27,28,31,32,33,34,35,36,38,44,52],resum:14,retain:20,reus:[35,36],review:16,revis:20,reviv:16,rewrit:1,richardson:38,ridig:36,right:[1,2,8,13,20],rigid:[0,3],rigid_frame_cutoff:36,rigidblock:28,rij:43,ring:[3,30],ring_punch_detect:35,risk:20,rmsd:[22,23,26,28,31,32],rmsd_cutoff:[26,31,32],rmsd_thresh:[26,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],rotamer:[48,52],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,rotamergraph:[36,46,47,49,53],rotamergroup:49,rotamerid:[47,50],rotamerlib:[35,36,37,48,50,52],rotamerlibentri:[50,52],rotat:[9,22],rotatearoundomegators:22,rotatearoundphipsitors:22,rotatearoundphitors:22,rotatearoundpsitors:22,rotationaroundlin:9,roughli:24,round:52,routin:[1,18,31],royalti:20,rrm:36,rrmrotam:[44,49],rrmrotamergroup:[44,46,49,50],rst1:4,rst2:4,rst:[4,8,16],rsync:8,rule:[5,8,9,16],run:0,runact:1,runexitstatustest:1,runmolprob:33,runmolprobityent:33,runnabl:8,runner:1,runtest:[1,8],runtim:[3,10,12],runtimeerror:[9,10,21,22,25,26,27,29,31,32,34,35,36,39,40,41,44,45,48,49,50,52],runtimeexcept:27,s_id:26,safe:2,said:4,same:[0,1,2,4,7,8,10,13,14,20,21,25,26,28,31,32,34,35,36,37,39,40,41,42,45,48,49,50,52],samiti:35,sampl:[3,8,22,23],sampled_frag:34,samplemontecarlo:[3,34],sampler:[3,23,24,26],samplerbas:34,sampling_start_index:34,sander:38,saniti:2,sanity_check:2,satisfi:51,save:[8,16,22,25,26,27,28,31,34,37,39,40,41,52],savebb:26,savecach:28,savefig:27,savepdb:[18,21,22,25,26,30,31,32,34,35,36,47],saveport:[25,26,27,37,39,41,52],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:38,sci:38,scondari:35,scope:14,score:[0,3,8,23,26,28,29,30],score_contain:31,score_env:[31,34,42],score_threshold:44,score_vari:35,scorecontain:31,scorer:3,scorer_env:[28,31,34],scorerbas:34,scoring_weight:28,scoringgapextend:[29,35],scoringweight:[28,31,35],scratch:[26,34],scriptnam:11,scriptpath:8,scwrl3:42,scwrl3disulfidscor:[43,44],scwrl3pairwisescor:43,scwrl4:[38,44,47,49,50],scwrlrotamerconstructor:[47,49,50],seamlessli:16,search:[2,3,8,21,26,28,31,33,35,36,41,44,49,50],searchdb:[23,26],second:[8,10,22,25,26,28,31,32,35,39,40,41,43,44],secondari:[3,26,28,38,41],secondli:8,section:[1,4,7,17,20,54],see:[0,1,8,9,10,11,13,16,18,20,21,25,26,27,29,31,33,34,35,37,39,40,41,52],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,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],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,8,13,18,21,22,23],sequencefromchain:42,sequencehandl:[21,26,28,29,35,40],sequencelist:[21,35,40],sequenceprofil:26,sequenti:[22,35],ser:51,serial:[26,37],serializ:37,serin:51,serv:[1,13,26,28,31,34],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,52,53],setaa:22,setactivesubrotam:49,setallatomscoringkei:31,setaroundomegators:22,setaroundphipsitors:22,setaroundphitors:22,setaroundpsitors:22,setbackbonescoringkei:31,setbackrub:22,setc:22,setca:22,setcb:22,setcharg:25,setcpuplatformsupport:25,setdefault:25,setdisulfidconnect:25,setenergi:[39,41],setenviron:[21,32,36,40],setepsilon:25,setframeenergi:[47,49],setfudgelj:25,setfudgeqq:25,setinitialenviron:[21,31,32,34,36,40,42],setinternalconnect:25,setinternalenergi:49,setinternalenergyprefactor:49,setinterpol:52,setmass:25,setn:22,setnonbondedcutoff:32,seto:22,setolc:22,setpeptideboundconnect:25,setphitors:22,setpo:21,setpolardirect:49,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:[5,7,8],setupdefaultallatomscor:[31,35],setupdefaultbackbonescor:[31,35],setupsystem:25,setweight:31,sever:[0,2,3,5,8,10,13,24,26,27,28,31,32,36,40,41,42,44,48,49,52,53],sg_pos_on:43,sg_pos_two:43,shake:34,shall:20,shanno:35,shapovalov2011:[38,48],shapovalov:38,shared_ptr:37,shebang:8,sheet:35,shelenkov:38,shell:[1,2,8,11],shift:[22,26,29],shiftctermin:29,shiftextens:29,ship:[5,48],shorten:35,shorter: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],showcas:[1,21,25,27],shown:[8,14,35],shrink:22,shrug:38,side:[8,35,38],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:[49,50],sidechainreconstructiondata:[30,32],sidechainreconstructor:[25,30,32,35],sidenot:[26,36],sig1:52,sig2:52,sig3:52,sig4:52,sigma:25,silent:1,sim:25,similar:[1,2,16,23,26,28,40,41,52],similardihedr:52,similarli:[2,25,35],simpl:[0,9,22,26,34,39,40,41,52],simpler:[25,35],simplest:[5,8,30],simpli:[21,22,31,32,34,35,50,51,52],simplic:[23,26],simplif:13,simplifi:[3,22,25,26],simul:[10,25,31,32,34],sinc:[1,2,4,8,10,11,16,18,22,25,26,27,28,51],singl:[2,4,8,10,21,22,25,26,28,31,32,34,35,36,40,41,45,48,49,50,53],singleton:25,singular:[3,6],singularity_nohttp:7,sink:37,sit:8,site:[5,8],size:[8,21,22,26,27,32,34,37,39,40,41],sizeof:37,skip:[0,1,8,16,26,35,50],slide:28,slight:35,slightli:35,slow:37,slower:[18,25,26,27,35,39,41,52],small:[8,26,32,35,36],smaller:[22,26,28,32,41],smallest:47,smallish:[2,8],smart:16,smng:3,smooth:38,smtl:35,soding2005:[26,38],softsampl:34,softwar:[8,20,38],sol:47,sole:[1,16,20],soli:38,solis2006:[24,38],solut:[8,10,28,31,32,34,35,36,46,47],solv:[10,16,47,53],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,52],somedata:37,someth:[1,7,8,11,16,26],sometim:16,somewher:4,soon:[7,10,32,41,47,52],sort:[1,4,10,14,31,34,52],sound:16,sourc:[1,2,4,7,8,11,13,15,16,20,26,28,31,32,33,34,35,36,37,52],source1:[4,16],source2:[4,16],source3:4,source4:4,source_chain_idx:35,source_mhandl:35,sp3:52,space:[10,34,38],span:35,sparticl:49,spatial:[8,42],spawn:[1,8],spdbv:35,spdbv_style:35,special:[1,2,4,8,20,25,34,50,51,52],specif:[1,8,20,25,26,27,28,31,34,38,40,48,50,52],specifi:[0,2,4,5,9,10,22,26,27,31,32,35,36,40,49,52],specimen:11,speed:[3,25,35],spent:[14,18],sphere:43,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],spin:38,spit:[29,34],split:42,sport:8,squar:26,src:[8,16],ss_agreement:41,ss_agreement_scor:37,ssagre:26,ssagreementscor:37,sse:2,sstream:37,stabil:38,stabl:16,stack:16,stage:[1,4,8],stai:[1,8,10,16,34],standalon:7,standard:[2,8,12,13,16,21,27,37,41,52],start:[0,1,4,7],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,51,52],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,29,31,32,34,35,36],stemcoord:9,stempairorient:9,step:[8,10,14,16,18,28,29,30,31,32,34],stereochem:[3,35],steric:52,still:[8,14,25,26,35,37],stop:[1,8,14,29,32],stop_criterion:32,stoppag:20,storabl:26,storag:[8,21,25,39,41],store:[0,1,3,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,52],str_len:37,straight:16,strategi:52,stream:37,stretch:[21,26,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],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,24,26,28,31,35,37],structuredbdatatyp:26,structureprofil:26,studer:38,stuff:[26,39],style:[35,40,41],sub:[8,26],sub_frag:22,sub_res_list:26,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],subrotameroptim:[36,53],subsequ:[10,20,22,35],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:[5,7],suffici:26,suffix:11,sugar:6,suggest:[5,8,43],suit:[1,8,26],sulfur:[43,44,49,50],sum:[14,29,35,36,43,44],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:[1,8,11,13,18,20,25,32,35],suppos:[16,34],sure:[2,7,8,13,16,26],surfac:26,surotam:49,surround:[25,26,32,36,39,41],symmetr:[26,40,52],symmetri:[39,41],sync:8,syntax:20,system:[1,4,8,16,20,23],t_sampler:27,tabl:26,tag:[5,7],tail:22,tailor:[21,35],take:[8,10,21,26,27,28,31,32,34,35,37,41,44,50,53],taken:[0,21,25,32,34,35,50],talk:1,target:[0,1,2,4,8,13,18,26,28,30,31,32,34,35,40],target_chain_idx:35,target_mhandl:35,target_pdb:33,target_sequ:26,task:[8,16,32,35,37,40],techniqu:10,tell:[1,8,11,13,16,26],temperatur:[10,31,34,49],templat:[0,1,13,18,30,35,37,40],temporari:[26,35],temporarili:16,term:[8,20,26,49,51,52,53],termin:[1,9,11,18,20,21,22,25,29,31,32,34,35,36],terminal_len:34,terminal_seqr:34,termini:[29,34,35],terminu:[26,34,35,50],test_:8,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],than:[4,8,13,14,16,21,22,26,28,31,32,33,35,36,41,44],thei:[2,5,8,16,21,22,25,26,27,31,32,33,34,35,44,49,50,51,52],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,52],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,53,54],thing:[1,2,8,16,26,28,35,52],think:10,thoroughli:16,those:[0,1,2,4,8,10,13,16,20,25,31,35,36,37,39,41,47,52],though:[25,35,37],thr:51,thread:[18,25,35,38],three:[1,4,16,21,22,27,31,33,34,41,51,52],threonin:51,thresh:[22,49,52],threshold:[10,26,28,32,35,36,40,52],through:[1,8,9,20,22,26,29,35,39,41],throughout:[13,16,24,25],thrown:26,thu:[5,11],tidi:16,tightli:16,time:[1,5,8,13,14,16,18,28,35],timer:14,tini:[16,35],titl:[20,27],tlc:[21,51],tlc_an:21,tlctorotid:[47,51],tmp_buf:37,todens:22,toentiti:[18,21,22,25,26,32,34,36],toframeresidu:49,togeth:[8,16,26,44],too:[13,16,31,32,35,37,49],tool:[3,4,23,37,42,47],toolbox:16,top:[2,6,7,8,14,15,16,32],topic:[1,8,16],topolog:[25,32],torrmrotam:49,torsion:[21,22,23,24,26],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],tort:20,total:[10,14,26,28],touch:[1,8,25,32],toward:[0,3,8,13,26,29,32,35,39,41,47,49,50,53],tpl:[0,30,31,35],tpr:[51,52],trace:35,track:[11,20,30],trade:20,trademark:20,tradition:11,trail:0,train:[24,31,35],trajectori:[28,34],tran:[22,51,52],transfer:20,transform:[9,20,22,28,34,35,52],translat:[4,8,20,26,51,52],transomegators:22,treat:[3,8,25,35,36,37,52],treatment:50,tree:[1,4,8,10,16,46,47],treepack:3,treesolv:[10,36,47],trg:[0,13,31,35],tri:[10,28,29,35,44,52],trick:[1,7,16],trigger:[1,4,8,48],tripeptid:27,tripl:11,triplet:23,trp:[51,52],trustworthi:16,tryptophan:51,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,52],txt:[1,2,4,8,16,20],type:[0,1,8,9,10,11,13,14,20,21,22,24,25,26,27,29,31,32,33,34,35,36,37,39,40,41,43,47,48,49,50],typedef:37,typenam:37,typic:[22,28,34,47,52],tyr:[51,52],tyrosin:51,uint32_t:37,uint:37,ultra:26,uncertain:8,uncharg:50,undefin:25,under:[4,8,20],undergo:[28,32,34,36],underli:[29,31],underscor:1,understand:16,understood:0,undo:10,unexpect:2,unfavor:[22,32],unfavour:[32,34,44],unfortun:16,unhandl:[0,13],uniform:32,union:20,uniqu:[0,13,28,31,34,52],unittest:[1,8,16],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,32,35,40,50],untouch:22,untrack:1,unus:16,upat:5,updat:[3,5,7,8,16,21,25,29,31,32,35,36,40,42],updatedistribut:27,updateposit:[25,32],upon:[26,32,34],urei:25,urey_bradley_angl:25,usabl:16,usag:[0,3,10,13,24,26,31,32,36],use_amber_ff:35,use_bbdep_lib:36,use_frm:36,use_full_extend:35,use_scoring_extend:35,user:[1,5,8],userlevel:1,usr:[2,5,7,8],usual:[1,2,4,8,13,14,16,22,31,35,39],utilis:[8,16],v_size:37,val:[27,51],valid:[0,10,16,22,26,29,34,35,36,48,52],valin:51,valu:[2,10,11,13,21,22,25,26,28,31,34,35,37,39,40,41,44,47,49,51,52,53],valueerror:[28,35],vanish:40,varadarajan:38,vari:[4,37],variabl:[1,2,8,14,18,25,33,35,37],variant:[25,31],variou:[1,2,4,16,30],vec3:[9,21,22,26,32,33,43,44,49],vec3list:28,vector:[25,27,31,37],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,35,37,48,51],via:[1,5,8,13,15,25],view:[13,16,27,35,40],virtual:8,visibl:36,visual:18,volum:5,wai:[1,2,4,5,8,16,22,23,25,31,41,47,51],wait:8,walk:[1,8],want:[1,2,3,7,8,15,16,22,26,28,31,32,35,40,49,50,52,53],warn:[8,16,35],warranti:20,watch:8,web:[2,8],weight:[3,26,28,31,34,35,39,41],weird:[28,32,47],well:[0,4,16,21,27,28,29,31,35,37,41,47,52],went:[0,8],were:[16,26,31,35],wester:38,wether:10,what:[1,8,11,13,16,23,26,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,52],whenev:[8,21,31,40],where:[0,1,3,4,5,8,10,11,13,14,16,20,21,22,25,26,27,31,35,37,39,40,41,48,49,50,52],wherea:26,wherev:20,whether:[3,5,8,10,11,20,22,25,26,31,32,34,36,39,40,41,49,50,52],which:[0,1,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,52],whistl:8,whitespac:0,who:[10,47],whole:[1,2,8,16,20,22,26,35,49],whom:20,why:[1,16,50],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,52],without:[1,4,8,11,13,20,25,29,32,35,40,52],won:[35,36,50],word:[4,7],work:[1,2,4,5,7,8,14,16,18,20,25,29,35,37],worldwid:20,worst:16,would:[1,2,8,11,22,26,27,44,49],wrap:26,wrapper:[1,4,8,15,35],write:0,writebasetyp:37,writemagicnumb:37,writetypes:37,writeversionnumb:37,written:[8,20,37],wrong:[2,13],wwpdb:5,www:20,xlabel:27,xlim:27,xml:8,xxx:[22,51],xxx_num_atom:21,xxx_num_hydrogen:21,year:1,yet:[26,31],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,34,35,36,37,39,40,41,47,48,49,50,52,53],your:[1,4,5,7],your_modul:[8,16],yourself:[2,8,10,16,35,50],yyyi:20,zero:[0,26,35,52],zhou2005:[26,38],zhou:38,zip:[26,47]},titles:["ProMod3 Actions","<code class=\"docutils literal\"><span class=\"pre\">test_actions</span></code> - Testing Actions","Building ProMod3","Changelog","ProMod3&#8216;s Share Of CMake","Docker","ProMod3 and Containers","Singularity","Contributing","Geometry functions","Graph Minimizer","<code class=\"docutils literal\"><span class=\"pre\">helper</span></code> - Shared Functionality For the Everything","<code class=\"docutils literal\"><span class=\"pre\">core</span></code> - ProMod3 Core Functionality","<code class=\"docutils literal\"><span class=\"pre\">pm3argparse</span></code> - Parsing Command Lines","Runtime profiling","<code class=\"docutils literal\"><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\"><span class=\"pre\">loop</span></code> - Loop Handling","Loading Precomputed Objects","Generate <code class=\"docutils literal\"><span class=\"pre\">ost.mol.mm</span></code> systems","Structural Data","Sampling Dihedral Angles","Modelling Algorithms","Handling Gaps","<code class=\"docutils literal\"><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\"><span class=\"pre\">scoring</span></code> - Loop Scoring","Other Scoring Functions","Disulfid Bond Evaluation","Frame","Rotamer Graph","<code class=\"docutils literal\"><span class=\"pre\">sidechain</span></code> - Sidechain Modelling","Loading Rotamer Libraries","Rotamers","Rotamer Constructor","RotamerID","Rotamer Library","Subrotamer Optimization","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],acid:[21,25,27],action:[0,1,4,5,7,8],actiontestcas:1,algorithm:28,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,argument:13,atom:[21,32,39],backbon:[32,40,41,52],backbonelist:22,backboneoverallscor:41,backbonescor:41,backbonescoreenv:40,base:[26,39,41],binari:37,block:[28,49],bond:44,branch:16,build:[0,2,5,7,35,49],can:51,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:52,construct:[40,50],constructor:50,contain:6,contribut:8,conveni:40,cooler:34,core:12,creat:[1,25],data:[26,37],databas:26,defin:[26,27],definit:4,depend:[2,52],detect:33,develop:17,dihedr:27,directori:16,distinguish:21,disulfid:44,docker:5,document:[4,8,17,19,54],entri:52,environ:40,evalu:44,everyth:11,exampl:[31,37],execut:1,exisit:37,extend:29,featur:[8,26],file:[11,37],find:26,fit:32,forcefield:25,fragment:26,frame:[45,50],from:43,gap:[29,32],gener:[25,34],geometr:26,geometri:9,get:[18,51],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,51],imag:[5,7],instal:2,integr:1,introduct:[4,11,13],issu:8,keep:31,kic:32,librari:[5,7,48,52],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,must:1,non:52,novo:[28,34],object:[24,34,45],optim:53,ost:[5,7,25],other:43,output:1,own:8,pairwis:40,pairwisescor:41,pars:13,parser:13,parti:8,particl:49,pipelin:[18,35],pm3argpars:13,portabl:37,posit:21,precomput:24,profil:14,promod3:[0,2,4,6,8,12,16,18,19,37],protein:30,psipredpredict:26,punch:33,quick:8,raw:35,reconstruct:36,reducedscor:41,refer:38,relax:32,releas:3,repres:22,residu:50,rigid:28,ring:33,rotam:[46,48,49,50,52],rotamerid:51,run:[1,2,5,7,18],runtim:14,sampl:27,sampler:[27,34],score:[31,40,42,43],scorer:[8,34,39,41],script:[1,5,7],scwrl3:43,sequenc:26,setcompoundschemlib:15,setup:16,share:[4,11],sidechain:[0,36,47],sidechainreconstructiondata:36,sidechainreconstructor:36,singular:7,smallest:49,ssagreementscor:41,stage:16,start:[8,18],step:35,structur:[16,26],subclass:1,subrotam:53,system:25,test:[1,4,8,11],test_act:1,third:8,torsion:27,torsionscor:41,track:31,triplet:27,type:52,unit:[1,4,8],user:54,write:8,your:8}})
\ No newline at end of file
diff --git a/doc/html/sidechain/disulfid.html b/doc/html/sidechain/disulfid.html
index 3724f552e9c88343293899410277feb0d2ee412e..40a2bd960a95f431a9a7aaca9ca974811a07f73c 100644
--- a/doc/html/sidechain/disulfid.html
+++ b/doc/html/sidechain/disulfid.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Disulfid Bond Evaluation &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Disulfid Bond Evaluation &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" />
     <link rel="next" title="Loading Rotamer Libraries" href="loading.html" />
     <link rel="prev" title="Rotamer Graph" href="graph.html" />
@@ -49,7 +50,7 @@ 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"><span class="pre">promod3.scoring.SCWRL3DisulfidScore()</span></code></a>) as defined in
-<a class="reference internal" href="../scoring/other_scoring_functions.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">[canutescu2003b]</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
@@ -76,10 +77,10 @@ rotamers to the result of the geometric expression.</p>
 <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"><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"><span class="pre">FRMRotamer</span></code></a>) &#8211; 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"><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"><span class="pre">FRMRotamer</span></code></a>) &#8211; Second rotamer</li>
-<li><strong>ca_pos_one</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; CA position of first rotamer</li>
-<li><strong>cb_pos_one</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; CB position of first rotamer</li>
-<li><strong>ca_pos_two</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; CA position of second rotamer</li>
-<li><strong>cb_pos_two</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; CB position of second rotamer</li>
+<li><strong>ca_pos_one</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; CA position of first rotamer</li>
+<li><strong>cb_pos_one</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; CB position of first rotamer</li>
+<li><strong>ca_pos_two</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; CA position of second rotamer</li>
+<li><strong>cb_pos_two</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; CB position of second rotamer</li>
 </ul>
 </td>
 </tr>
@@ -112,8 +113,8 @@ possible, the one with the optimal sum of scores gets estimated.</p>
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
 <li><strong>rotamer_groups</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of
 <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal"><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"><span class="pre">RRMRotamerGroup</span></code></a>) &#8211; Every group represents a cysteine</li>
-<li><strong>ca_positions</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; The CA positions of the according rotamers</li>
-<li><strong>cb_positions</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; The CB positions of the according rotamers</li>
+<li><strong>ca_positions</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; The CA positions of the according rotamers</li>
+<li><strong>cb_positions</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code> of <a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; The CB positions of the according rotamers</li>
 <li><strong>score_threshold</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; 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/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; If set to true and the input consists of flexible
@@ -179,7 +180,7 @@ describe the optimal rotamers in the according rotamer groups.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/sidechain/frame.html b/doc/html/sidechain/frame.html
index 9230a415148eeae3d628663743913f9c46ab6705..f43158c010feb69e7320bf4bb7e27b2e335e4b00 100644
--- a/doc/html/sidechain/frame.html
+++ b/doc/html/sidechain/frame.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Frame &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Frame &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" />
     <link rel="next" title="Rotamer Library" href="rotamer_lib.html" />
     <link rel="prev" title="Rotamers" href="rotamer.html" />
@@ -168,7 +169,7 @@ can be passed to rotamer groups for calculating frame energies.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/sidechain/graph.html b/doc/html/sidechain/graph.html
index e547f6f72ad4a595a7f20713cf3469da52324898..c0032b487e3c751493d13b3d194207f752817da3 100644
--- a/doc/html/sidechain/graph.html
+++ b/doc/html/sidechain/graph.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Rotamer Graph &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Rotamer Graph &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" />
     <link rel="next" title="Disulfid Bond Evaluation" href="disulfid.html" />
     <link rel="prev" title="Rotamer Constructor" href="rotamer_constructor.html" />
@@ -46,7 +47,7 @@
 <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
+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"><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">
@@ -119,7 +120,7 @@ conformations for every amino acid position.</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/sidechain/index.html b/doc/html/sidechain/index.html
index 3af49da0fb86f519b9e07bbc4fd4a050449415a8..e4fe610fd18a0d85406815cb0d8e8341bb0be7ad 100644
--- a/doc/html/sidechain/index.html
+++ b/doc/html/sidechain/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>sidechain - Sidechain Modelling &mdash; ProMod3 1.2.0 documentation</title>
+    <title>sidechain - Sidechain Modelling &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="Documentation For Users" href="../users.html" />
     <link rel="next" title="RotamerID" href="rotamer_id.html" />
     <link rel="prev" title="Modelling Algorithms" href="../modelling/algorithms.html" />
@@ -44,9 +45,9 @@
   <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"><span class="pre">sidechain</span></code></a> - Sidechain Modelling<a class="headerlink" href="#module-promod3.sidechain" title="Permalink to this headline">¶</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="#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">[krivov2009]</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
+as well as a flexible model. Both models are implemented in ProMod3 and can be
 applied in flexible ways.</p>
 <p>The following code fragment shows an example of a basic sidechain reconstruction
 algorithm using the functionality in the module. Note, that this code will crash
@@ -59,7 +60,7 @@ pipelines available in the modelling module.</p>
 <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>
 <span class="c1"># load rotamer library</span>
-<span class="n">library</span> <span class="o">=</span> <span class="n">sidechain</span><span class="o">.</span><span class="n">LoadDunbrackLib</span><span class="p">()</span>
+<span class="n">library</span> <span class="o">=</span> <span class="n">sidechain</span><span class="o">.</span><span class="n">LoadBBDepLib</span><span class="p">()</span>
 <span class="c1"># we need a rotamer constructor to create any rotamers or </span>
 <span class="c1"># frame residues </span>
 <span class="n">rot_constructor</span> <span class="o">=</span> <span class="n">sidechain</span><span class="o">.</span><span class="n">SCWRLRotamerConstructor</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
@@ -111,6 +112,9 @@ pipelines available in the modelling module.</p>
                     <span class="n">r</span><span class="p">,</span> <span class="n">rotamer_ids</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">i</span><span class="p">,</span> <span class="n">library</span><span class="p">,</span>
                     <span class="n">torsion_angles</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span> <span class="n">torsion_angles</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span>
 
+    <span class="c1"># calculate pairwise energies towards the rigid frame</span>
+    <span class="c1"># the values will be stored and used by the solving algorithm</span>
+    <span class="c1"># later on when considering self energies</span>
     <span class="n">rot_group</span><span class="o">.</span><span class="n">SetFrameEnergy</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
     <span class="c1"># remove super unlikely rotamer in rotamer group </span>
     <span class="c1"># e.g. those who clash with the frame</span>
@@ -157,6 +161,7 @@ pipelines available in the modelling module.</p>
 <li class="toctree-l2"><a class="reference internal" href="rotamer_lib.html#the-non-backbone-dependent-rotamer-library">The Non Backbone Dependent Rotamer Library</a></li>
 <li class="toctree-l2"><a class="reference internal" href="rotamer_lib.html#the-backbone-dependent-rotamer-library">The Backbone Dependent Rotamer Library</a></li>
 <li class="toctree-l2"><a class="reference internal" href="rotamer_lib.html#the-library-entry-type">The Library Entry Type</a></li>
+<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="rotamer_constructor.html">Rotamer Constructor</a><ul>
@@ -169,12 +174,6 @@ pipelines available in the modelling module.</p>
 <li class="toctree-l1"><a class="reference internal" href="subrotamer_optimizer.html">Subrotamer Optimization</a></li>
 </ul>
 </div>
-<table class="docutils citation" frame="void" id="krivov2009" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id1">[krivov2009]</a></td><td>Krivov GG, Shapovalov MV and Dunbrack RL Jr. (2009). Improved prediction of protein side-chain conformations with SCWRL4. Proteins.</td></tr>
-</tbody>
-</table>
 </div>
 
 
@@ -215,7 +214,7 @@ pipelines available in the modelling module.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/sidechain/loading.html b/doc/html/sidechain/loading.html
index cca071873f529654b50e681922af16e723f72672..e45d778f149915ce50e57f6fd4f27a19e284e22a 100644
--- a/doc/html/sidechain/loading.html
+++ b/doc/html/sidechain/loading.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Loading Rotamer Libraries &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Loading Rotamer Libraries &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" />
     <link rel="next" title="Subrotamer Optimization" href="subrotamer_optimizer.html" />
     <link rel="prev" title="Disulfid Bond Evaluation" href="disulfid.html" />
@@ -43,24 +44,26 @@
             
   <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>
-<p>Since the PROMOD3 sidechain modelling algorithms are mainly designed after the
-work of the Dunbrack lab <a class="reference internal" href="index.html#krivov2009" id="id1">[krivov2009]</a> , their backbone dependent rotamer
-library is probably the way to go. There exists a binary version of their
-2010 libary <a class="reference internal" href="#shapovalov2011" id="id2">[shapovalov2011]</a> , that can
-directly be loaded. As an alternative, there is also a binary file containing
-the backbone independent Penultimate library <a class="reference internal" href="#lovell2000" id="id3">[lovell2000]</a> .</p>
+<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>.
+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"><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"><span class="pre">LoadLib()</span></code></a>.</p>
 <dl class="method">
-<dt id="promod3.sidechain.LoadDunbrackLib">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">LoadDunbrackLib</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.LoadDunbrackLib" title="Permalink to this definition">¶</a></dt>
-<dd><p>Loads the 2010 backbone dependent rotamer library from the dunbrack lab.
-The library has been generated using the ReadDunbrackFile function
-using the file with smoothing factor 5 and nonrotameric dihedrals
-sampled in 20 degree steps.</p>
+<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>
+<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 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"><span class="pre">BBDepRotamerLib</span></code></a></td>
 </tr>
@@ -69,12 +72,12 @@ sampled in 20 degree steps.</p>
 </dd></dl>
 
 <dl class="method">
-<dt id="promod3.sidechain.LoadPenultimateLib">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">LoadPenultimateLib</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.LoadPenultimateLib" title="Permalink to this definition">¶</a></dt>
-<dd><p>Loads the backbone independent Penultimate library. The values for the dihedral
-angles are directly extracted from the publication without considering the
-probabilities specific for helices/sheets. Due to no assigned standard
-deviations, the flexible rotamer model won&#8217;t produce meaningful results.</p>
+<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>
+<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" />
@@ -92,8 +95,9 @@ deviations, the flexible rotamer model won&#8217;t produce meaningful results.</
 <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>
 <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 nonrotameric sidechains
-cannot be read.</p>
+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" />
@@ -113,18 +117,6 @@ incomplete if the last problem gets triggered.</td>
 </table>
 </dd></dl>
 
-<table class="docutils citation" frame="void" id="shapovalov2011" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id2">[shapovalov2011]</a></td><td>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="lovell2000" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id3">[lovell2000]</a></td><td>Lovell SC, Word JM, Richardson JS, Richardson DC (2000). The penultimate rotamer library. Proteins.</td></tr>
-</tbody>
-</table>
 </div>
 
 
@@ -167,7 +159,7 @@ incomplete if the last problem gets triggered.</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/sidechain/rotamer.html b/doc/html/sidechain/rotamer.html
index 582ce7f7647665d09d4bb7ee052bdda578fd494e..05a359066a65e58535e1799f87a8219853f63f9d 100644
--- a/doc/html/sidechain/rotamer.html
+++ b/doc/html/sidechain/rotamer.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Rotamers &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Rotamers &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" />
     <link rel="next" title="Frame" href="frame.html" />
     <link rel="prev" title="RotamerID" href="rotamer_id.html" />
@@ -47,7 +48,7 @@
 <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal"><span class="pre">Particle</span></code></a> objects. There exist two types. The <a class="reference internal" href="#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal"><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"><span class="pre">FRMRotamer</span></code></a>.
 To gather all possible rotamers for one particular sidechain position,
-PROMOD3 offers the <a class="reference internal" href="#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal"><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"><span class="pre">FRMRotamerGroup</span></code></a>.
+ProMod3 offers the <a class="reference internal" href="#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal"><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"><span class="pre">FRMRotamerGroup</span></code></a>.
 Pairwise interactions between particles give raise to pairwise energies between
 rotamers. Nevertheless, the energy calculation itself happens on the level
 of RotamerGroups and is mostly hidden away in the construction of the
@@ -86,11 +87,11 @@ has to be defined at initialization.</p>
 <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>type</strong> (<a class="reference internal" href="#promod3.sidechain.SidechainParticle" title="promod3.sidechain.SidechainParticle"><code class="xref py py-class docutils literal"><span class="pre">SidechainParticle</span></code></a>) &#8211; Type of particle</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Positions of particle</li>
+<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Positions of particle</li>
 <li><strong>charge</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; Charge of particle, will be used in case H-Bonds</li>
 <li><strong>name</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; Name of particle. This name will be given to an actual
-<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.AtomHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.AtomHandle</span></code></a> if a rotamer gets applied
-to a <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a></li>
+<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.AtomHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.AtomHandle</span></code></a> if a rotamer gets applied
+to a <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a></li>
 </ul>
 </td>
 </tr>
@@ -198,7 +199,7 @@ to a <a class="reference external" href="https://www.openstructure.org/docs/dev/
 <col class="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>lone_pair</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Lone pair direction</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>lone_pair</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Lone pair direction</td>
 </tr>
 </tbody>
 </table>
@@ -213,7 +214,7 @@ hydrogen, this would be the direction of backbone-N to backbone-H.</p>
 <col class="field-name" />
 <col class="field-body" />
 <tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>polar_direction</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Polar direction of particle</td>
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>polar_direction</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.geom.Vec3</span></code></a>) &#8211; Polar direction of particle</td>
 </tr>
 </tbody>
 </table>
@@ -290,7 +291,7 @@ in this process.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue to be reconstructed</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue to be reconstructed</li>
 <li><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; 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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; New name of <strong>res</strong>. Nothing happens in case of the
@@ -485,7 +486,7 @@ belongs to.</p>
 <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>
 <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
+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">
@@ -566,7 +567,7 @@ No atoms are removed from <strong>res</strong> in this process.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue to be reconstructed</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue to be reconstructed</li>
 <li><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; 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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; New name of residue. Nothing happens in case of the
@@ -966,7 +967,7 @@ particles of the same residue.</li>
 <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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Rotamer index</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue to be reconstructed</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue to be reconstructed</li>
 <li><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; 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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; New name of residue. Nothing happens in case of the
@@ -1100,7 +1101,7 @@ particles of the same residue.</li>
 <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/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Rotamer index</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue to be reconstructed</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue to be reconstructed</li>
 <li><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; 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/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) &#8211; New name of residue. Nothing happens in case of the
@@ -1224,7 +1225,7 @@ rotamers with <em>self_energy</em> &gt; <em>l_e</em> + <em>thresh</em></p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/sidechain/rotamer_constructor.html b/doc/html/sidechain/rotamer_constructor.html
index 0a026c732216121edf1f9e241a6df6442596da23..f787eed4d887a4e48d10d03d259d07aaeaca1667 100644
--- a/doc/html/sidechain/rotamer_constructor.html
+++ b/doc/html/sidechain/rotamer_constructor.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Rotamer Constructor &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Rotamer Constructor &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" />
     <link rel="next" title="Rotamer Graph" href="graph.html" />
     <link rel="prev" title="Rotamer Library" href="rotamer_lib.html" />
@@ -44,7 +45,7 @@
   <div class="section" id="rotamer-constructor">
 <h1>Rotamer Constructor<a class="headerlink" href="#rotamer-constructor" title="Permalink to this headline">¶</a></h1>
 <p>Instead of creating rotamers by yourself, you can simply use the convenient
-functionality provided by PROMOD3</p>
+functionality provided by ProMod3</p>
 <div class="section" id="constructing-rotamers-and-frame-residues">
 <h2>Constructing Rotamers and Frame Residues<a class="headerlink" href="#constructing-rotamers-and-frame-residues" title="Permalink to this headline">¶</a></h2>
 <dl class="class">
@@ -107,7 +108,7 @@ any rotamers for ALA and GLY.</td>
 <col 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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; To extract the required backbone atoms</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><span class="pre">promod3.loop.AllAtomPositions</span></code></a>) &#8211; To extract the required backbone atoms</li>
 <li><strong>aa_res_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Index of residue in <strong>all_atom_pos</strong> from which to
 extract the required backbone atoms</li>
@@ -167,7 +168,7 @@ why the phi angle of the residue is required as an input.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue from which to extract the backbone positions</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><span class="pre">promod3.loop.AllAtomPositions</span></code></a>) &#8211; To extract the backbone positions</li>
 <li><strong>aa_res_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Index of residue in <strong>all_atom_pos</strong> from which to
 extract the backbone positions</li>
@@ -213,7 +214,7 @@ particles for all polar hydrogens.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue from which to extract the sidechain positions</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue from which to extract the sidechain 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"><span class="pre">promod3.loop.AllAtomPositions</span></code></a>) &#8211; To extract the sidechain positions</li>
 <li><strong>aa_res_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Index of residue in <strong>all_atom_pos</strong> from which to
 extract the sidechain positions</li>
@@ -237,7 +238,7 @@ atom positions are set in <strong>all_atom_pos</strong>.</p>
 <dl class="method">
 <dt id="promod3.sidechain.SCWRLRotamerConstructor.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.SCWRLRotamerConstructor.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"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>.
+<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"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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&#8217;t be any parametrization of hbonds in this function. All atoms
 of the residue will be represented as carbons and hydrogens are skipped.</p>
@@ -246,7 +247,7 @@ of the residue will be represented as carbons and hydrogens are skipped.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>residue</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue from which all atoms will be taken to
+<li><strong>residue</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><span class="pre">FrameResidue</span></code></a>.</li>
 <li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Index this <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal"><span class="pre">FrameResidue</span></code></a> belongs to.</li>
 </ul>
@@ -262,7 +263,7 @@ construct a <a class="reference internal" href="frame.html#promod3.sidechain.Fra
 <dl class="method">
 <dt id="promod3.sidechain.SCWRLRotamerConstructor.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.SCWRLRotamerConstructor.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"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a> using
+<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"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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.SCWRLRotamerConstructor.ConstructFrameResidue" title="promod3.sidechain.SCWRLRotamerConstructor.ConstructFrameResidue"><code class="xref py py-func docutils literal"><span class="pre">ConstructFrameResidue()</span></code></a>,
 which will be called by this function if the residue is not known by the given
@@ -280,10 +281,10 @@ as in the <a class="reference internal" href="rotamer.html#promod3.sidechain.Sid
 <col 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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Residue from which all atoms will be taken to
+<li><strong>residue</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><span class="pre">FrameResidue</span></code></a>.</li>
 <li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Index this <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal"><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/dev/conop/compoundlib/#ost.conop.CompoundLib" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.CompoundLib</span></code></a>) &#8211; OST compound library to use</li>
+<li><strong>comp_lib</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/conop/compoundlib/#ost.conop.CompoundLib" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.CompoundLib</span></code></a>) &#8211; OST compound library to use</li>
 </ul>
 </td>
 </tr>
@@ -368,7 +369,7 @@ to be assigned</td>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/sidechain/rotamer_id.html b/doc/html/sidechain/rotamer_id.html
index e324b292b422c8a57350ef8cfba159adabf832f7..d63d36c4ee0736c3ef8d85b6be5f069cd16f711f 100644
--- a/doc/html/sidechain/rotamer_id.html
+++ b/doc/html/sidechain/rotamer_id.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>RotamerID &mdash; ProMod3 1.2.0 documentation</title>
+    <title>RotamerID &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" />
     <link rel="next" title="Rotamers" href="rotamer.html" />
     <link rel="prev" title="sidechain - Sidechain Modelling" href="index.html" />
@@ -93,7 +94,7 @@ or as <code class="docutils literal"><span class="pre">promod3.sidechain.Rotamer
 <div class="section" id="how-can-i-get-an-id">
 <h2>How can I get an ID?<a class="headerlink" href="#how-can-i-get-an-id" title="Permalink to this headline">¶</a></h2>
 <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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a> enum
+functions exist to get RotamerIDs from the <a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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">
@@ -118,12 +119,12 @@ exactly the naming convention defined above.</p>
 <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&#8217;re simply not
-defined in <a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a></p>
+defined in <a class="reference external" href="https://www.openstructure.org/docs/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; AA enum of amino acid</td>
+<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/dev/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.conop.AminoAcid</span></code></a>) &#8211; 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"><span class="pre">RotamerID</span></code></a>, XXX if <strong>aa</strong> is invalid.</td>
 </tr>
@@ -183,7 +184,7 @@ defined in <a class="reference external" href="https://www.openstructure.org/doc
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/sidechain/rotamer_lib.html b/doc/html/sidechain/rotamer_lib.html
index 7bfcf345dae719027bd12f4096db2da54f3ca84b..ef5d182244d1865d6c23c4b7b05816d4aa3b179d 100644
--- a/doc/html/sidechain/rotamer_lib.html
+++ b/doc/html/sidechain/rotamer_lib.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Rotamer Library &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Rotamer Library &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" />
     <link rel="next" title="Rotamer Constructor" href="rotamer_constructor.html" />
     <link rel="prev" title="Frame" href="frame.html" />
@@ -48,7 +49,7 @@ sidechain can completely be described in terms of dihedral angles. Preferred
 combinations of such dihedral angles are a result of steric properties and
 can be gathered in rotamer libraries. Different libraries exist in the field
 and their main difference is, whether the provided sidechain conformations
-are dependent on their backbone or not. PROMOD3 provides you with a
+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"><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"><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"><span class="pre">RotamerLibEntry</span></code></a> and are optimized
@@ -262,10 +263,12 @@ is given or when the library is already static.</p>
 added to the library or can be interpolated.
 In the first option, <em>phi</em> and <em>psi</em> simply get transformed to the
 according bin using following formalism: bin = round((angle + pi)/bin_size).
-In case of interpolation, the chi angles and the according standard
-deviations of the rotamers get bilinearly interpolated using the
-corresponding rotamers with same configuration from the neighbouring bins.
-This behaviour can be controlled with the SetInterpolate function.
+In case of interpolation, the chi angles of rotameric dihedral angles and the
+according standard deviations of the rotamers get bilinearly interpolated
+using the corresponding rotamers with same configuration from the
+neighbouring bins. No interplation is applied to non-rotameric dihedral
+angles (chi2 in ASP, ASN, HIS, PHE, TRP, TYR; chi3 in GLU, GLN).
+This behaviour can be controlled with <a class="reference internal" href="#promod3.sidechain.BBDepRotamerLib.SetInterpolate" title="promod3.sidechain.BBDepRotamerLib.SetInterpolate"><code class="xref py py-meth docutils literal"><span class="pre">SetInterpolate()</span></code></a>.
 The query function follows following strategies in case of
 special <em>id</em> requests.</p>
 <ul class="simple">
@@ -330,7 +333,8 @@ not fulfilled</td>
 <col class="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/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; Controls behaviour when QueryLib function gets called</td>
+<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/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) &#8211; 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"><span class="pre">QueryLib()</span></code></a>
+gets called</td>
 </tr>
 </tbody>
 </table>
@@ -433,14 +437,14 @@ functionalities.</p>
 <em class="property">static </em><code class="descname">FromResidue</code><span class="sig-paren">(</span><em>res</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.FromResidue" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a <a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal"><span class="pre">RotamerLibEntry</span></code></a> from the given <em>res</em>.
 The function tries to automatically identify the <a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a> based
-on the residue name. The probability gets set to zero and the standard
-deviations to 0. All not required chi angles with their corresponding
-standard deviations are NaN.</p>
+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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Source of dihedral angles</td>
+<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/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; 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"><span class="pre">RotamerLibEntry</span></code></a></td>
 </tr>
@@ -464,7 +468,7 @@ are NaN.</p>
 <col class="field-body" />
 <tbody valign="top">
 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.7.1)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Source of dihedral angles</li>
+<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/dev/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v1.8.0)"><code class="xref py py-class docutils literal"><span class="pre">ost.mol.ResidueHandle</span></code></a>) &#8211; Source of dihedral angles</li>
 <li><strong>id</strong> (<a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>) &#8211; The identity of the returned <a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal"><span class="pre">RotamerLibEntry</span></code></a></li>
 </ul>
 </td>
@@ -596,6 +600,72 @@ considered similar</li>
 
 </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>
+<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>
+<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>
+</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>
+<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"><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/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) &#8211; 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>
+<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"><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"><span class="pre">RotamerLibEntry</span></code></a>) &#8211; Sidechain dihedral angle comes from here</li>
+<li><strong>id</strong> (<a class="reference internal" href="rotamer_id.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal"><span class="pre">RotamerID</span></code></a>) &#8211; Identity of rotamer</li>
+<li><strong>dihedral_idx</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) &#8211; Specifies angle (0 =&gt; chi1, ..., 3 =&gt; chi4)</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"><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>
+
 </div>
 </div>
 
@@ -611,6 +681,7 @@ considered similar</li>
 <li><a class="reference internal" href="#the-non-backbone-dependent-rotamer-library">The Non Backbone Dependent Rotamer Library</a></li>
 <li><a class="reference internal" href="#the-backbone-dependent-rotamer-library">The Backbone Dependent Rotamer Library</a></li>
 <li><a class="reference internal" href="#the-library-entry-type">The Library Entry Type</a></li>
+<li><a class="reference internal" href="#rotamer-configurations">Rotamer Configurations</a></li>
 </ul>
 </li>
 </ul>
@@ -649,7 +720,7 @@ considered similar</li>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/sidechain/subrotamer_optimizer.html b/doc/html/sidechain/subrotamer_optimizer.html
index 569714780b9983a1a1ad56afc95d30978e7b9a21..9527a393dae8afd9857efbf63596c446818cc2da 100644
--- a/doc/html/sidechain/subrotamer_optimizer.html
+++ b/doc/html/sidechain/subrotamer_optimizer.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Subrotamer Optimization &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Subrotamer Optimization &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    '../',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,7 +23,8 @@
     <script type="text/javascript" src="../_static/jquery.js"></script>
     <script type="text/javascript" src="../_static/underscore.js"></script>
     <script type="text/javascript" src="../_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="../index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="../index.html" />
     <link rel="up" title="sidechain - Sidechain Modelling" href="index.html" />
     <link rel="next" title="scoring - Loop Scoring" href="../scoring/index.html" />
     <link rel="prev" title="Loading Rotamer Libraries" href="loading.html" />
@@ -125,7 +126,7 @@ internal <a class="reference internal" href="graph.html#promod3.sidechain.Rotame
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/html/users.html b/doc/html/users.html
index cbda6deb9b452b831f78abc83db49bf749632748..241d36312acdc11c8a1c4680094ecb4d8239e3fb 100644
--- a/doc/html/users.html
+++ b/doc/html/users.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Documentation For Users &mdash; ProMod3 1.2.0 documentation</title>
+    <title>Documentation For Users &mdash; ProMod3 1.3.0 documentation</title>
     
     <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '1.2.0',
+        VERSION:     '1.3.0',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -23,9 +23,10 @@
     <script type="text/javascript" src="_static/jquery.js"></script>
     <script type="text/javascript" src="_static/underscore.js"></script>
     <script type="text/javascript" src="_static/doctools.js"></script>
-    <link rel="top" title="ProMod3 1.2.0 documentation" href="index.html" />
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <link rel="top" title="ProMod3 1.3.0 documentation" href="index.html" />
     <link rel="next" title="Getting Started" href="gettingstarted.html" />
-    <link rel="prev" title="Welcome To ProMod3’s Documentation!" href="index.html" />
+    <link rel="prev" title="ProMod3" href="index.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
@@ -54,6 +55,7 @@ scripts using the functionality of this library.</p>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="actions/index.html">ProMod3 Actions</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="actions/index.html#building-models">Building models</a></li>
+<li class="toctree-l2"><a class="reference internal" href="actions/index.html#sidechain-modelling">Sidechain Modelling</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="buildsystem.html">Building ProMod3</a><ul>
@@ -63,6 +65,11 @@ scripts using the functionality of this library.</p>
 <li class="toctree-l2"><a class="reference internal" href="buildsystem.html#installing-project">Installing ProMod3</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="container/index.html">ProMod3 and Containers</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="container/docker.html">Docker</a></li>
+<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"><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>
@@ -124,7 +131,7 @@ scripts using the functionality of this library.</p>
 <h3>Related Topics</h3>
 <ul>
   <li><a href="index.html">Documentation overview</a><ul>
-      <li>Previous: <a href="index.html" title="previous chapter">Welcome To ProMod3&#8217;s Documentation!</a></li>
+      <li>Previous: <a href="index.html" title="previous chapter">ProMod3</a></li>
       <li>Next: <a href="gettingstarted.html" title="next chapter">Getting Started</a></li>
   </ul></li>
 </ul>
@@ -151,7 +158,7 @@ scripts using the functionality of this library.</p>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2018, ProMod3 authors.
+      &copy;2013-2018, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.4.1</a>
diff --git a/doc/index.rst b/doc/index.rst
index 0699c60545cfc1014f4753e6f9a6b8647e822cc7..74cb15e8f60d131996ed5d81cc1b0950b4abf718 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -1,28 +1,41 @@
-.. ProMod3 documentation master file, created by
-   sphinx-quickstart on Thu Oct 10 23:17:00 2013.
-   You can adapt this file completely to your liking, but it should at least
-   contain the root `toctree` directive.
-
-Welcome To ProMod3's Documentation!
-===================================
-
-Contents:
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+ProMod3
+=======
+
+ProMod3 is a modelling engine based on the OpenStructure [biasini2013]_ 
+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.
+
+
+Documentation
+=============
 
 .. toctree::
-   :maxdepth: 2
+  :maxdepth: 2
 
-   Users <users>
-   Developers <developers>
+  Users <users>
 
 .. toctree::
-   :maxdepth: 1
-
-   changelog
-   
-
-Indices And Tables
-==================
+  :maxdepth: 1  
 
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
+  Developers <developers>
+  License <license>
+  References <references>
+  Changelog <changelog>
diff --git a/doc/license.rst b/doc/license.rst
new file mode 100644
index 0000000000000000000000000000000000000000..1ff0971e35f8e7c9fdf99a1e6191409ae2a7e375
--- /dev/null
+++ b/doc/license.rst
@@ -0,0 +1,22 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+License
+=======
+
+
+
+.. literalinclude:: license.txt
diff --git a/doc/portableIO.rst b/doc/portableIO.rst
index d7122a208d30e34f4f4e47ce1e0890fe0f1454ef..a548e3c86400f7e09a9c7cc65c9c2fd7de19e8ce 100644
--- a/doc/portableIO.rst
+++ b/doc/portableIO.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 .. _portableIO:
 
 Using Binary Files In |project|
@@ -387,9 +403,9 @@ The following binary files are currently in |project|:
 
 - module ``sidechain``:
 
-  - :file:`2010DunbrackLib.dat`
+  - :file:`bb_dep_lib.dat`
     (:class:`~promod3.sidechain.BBDepRotamerLib`)
-  - :file:`PenultimateLib.dat`
+  - :file:`lib.dat`
     (:class:`~promod3.sidechain.RotamerLib`)
 
 During the ``make`` process, portable versions of the files (stored in the
diff --git a/doc/references.rst b/doc/references.rst
new file mode 100644
index 0000000000000000000000000000000000000000..927de6ddbad6c032f0f760c17384e977d1ed31e9
--- /dev/null
+++ b/doc/references.rst
@@ -0,0 +1,82 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
+References
+==========
+
+.. [biasini2013] 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.
+
+.. [canutescu2003] Canutescu AA and Dunbrack RL Jr. (2003). 
+                   Cyclic coordinate descent: A robotics algorithm for protein 
+                   loop closure. Protein Sci.
+
+.. [canutescu2003b] Canutescu AA, Shelenkov AA, Dunbrack RL Jr. (2003). 
+                    A graph-theory algorithm for rapid protein side-chain 
+                    prediction. Protein Sci.
+
+.. [coutsias2005] Coutsias EA, Seok C, Wester MJ, Dill KA (2005).
+                  Resultants and loop closure. International Journal of Quantum 
+                  Chemistry. 
+
+.. [chakravarty1999] Chakravarty S, Varadarajan R (1999). 
+                     Residue depth: a novel parameter for the analysis of 
+                     protein structure and stability. Structure.
+
+.. [davis2006] Davis IW, Arendall WB, Richardson DC, Richardson JS (2006).
+               The backrub motion: how protein backbone shrugs when a sidechain 
+               dances. Structure.
+
+.. [goldstein1994] Goldstein RF (1994). 
+                   Efficient rotamer elimination applied to protein side-chains 
+                   and related spin glasses. Biophys J.
+
+.. [Jones1999] Jones DT (1999). 
+               Protein secondary structure prediction based on position-specific 
+               scoring matrices. J. Mol. Biol. 
+
+.. [kabsch1983] Kabsch W, Sander C (1983). 
+                Dictionary of protein secondary structure: pattern recognition of 
+                hydrogen-bonded and geometrical features. Biopolymers.
+
+.. [krivov2009] Krivov GG, Shapovalov MV and Dunbrack RL Jr. (2009). 
+                Improved prediction of protein side-chain conformations with 
+                SCWRL4. Proteins.
+
+.. [leach1998] Leach AR, Lemon AP (1998). 
+               Exploring the conformational space of protein side chains using 
+               dead-end elimination and the A* algorithm. Proteins.
+
+.. [shapovalov2011] Shapovalov MV and Dunbrack RL Jr. (2011). 
+                    A smoothed backbone-dependent rotamer library for proteins 
+                    derived from adaptive kernel density estimates and 
+                    regressions. Structure.
+
+.. [soding2005] Söding J (2005). 
+                Protein homology detection by HMM-HMM comparison. 
+                Bioinformatics.
+
+.. [solis2006] Solis AD, Rackovsky S (2006). Improvement of statistical 
+               potentials and threading score functions using information 
+               maximization. Proteins. 
+
+.. [zhou2005] Zhou H, Zhou Y (2005). 
+              Fold Recognition by Combining Sequence Profiles Derived From 
+              Evolution and From Depth-Dependent Structural Alignment of 
+              Fragments. Proteins.
+
diff --git a/doc/tests/scripts/loop_structure_db.py b/doc/tests/scripts/loop_structure_db.py
index e8aca38a2d3b101be4a486209203f62116caf01b..09258a9236b4c8dc6e27dfb866c83df17c6067e4 100644
--- a/doc/tests/scripts/loop_structure_db.py
+++ b/doc/tests/scripts/loop_structure_db.py
@@ -18,8 +18,8 @@ structure_dir = "data"
 prof_dir = "data"
 
 # The naming of the files in the directories is e.g. 1CRN.pdb for 
-# the structure and 1CRNA.hhm for the profile. Please note, 
-# that the structure can contain several chains, whereas the hhm 
+# the structure and 1CRNA.hhm for the profile. 
+# The structure possibly contain several chains, whereas the hhm 
 # file is only for that specific chain.
 structure_ids = ["1CRN", "1AKI"]
 chain_names = ["A", "A"]
@@ -51,11 +51,14 @@ for s_id, ch_name in zip(structure_ids, chain_names):
 
                                 
 # We now have two structures in both databases...
-
-# Please note, that there is no profile derived from structures
-# assigned yet to structure_db_one, the memory is only allocated
-# and set to zero. In structure_db_two, there'll never be stored a 
-# structure profile as we did not initialize it accordingly. 
+# Lets get a summary of whats actually in there
+structure_db_one.PrintStatistics()
+structure_db_two.PrintStatistics()
+
+# There is no profile derived from structures assigned to 
+# structure_db_one yet, the memory is only allocated and set to 
+# zero. In structure_db_two, there'll never be stored a structure 
+# profile as we did not initialize it accordingly. 
 # However, we can still use its coordinates and residue depths to
 # generate profiles!  
 # To demonstrate, we use our structure_db_two to derive profiles 
diff --git a/doc/tests/scripts/modelling_monte_carlo.py b/doc/tests/scripts/modelling_monte_carlo.py
index b3d7d07b76016f7f9f3746a5ea683a4dd9630165..97ae54c956a0f0ca9d0315ef8fc80958eeeeff32 100644
--- a/doc/tests/scripts/modelling_monte_carlo.py
+++ b/doc/tests/scripts/modelling_monte_carlo.py
@@ -48,4 +48,4 @@ modelling.SampleMonteCarlo(mc_sampler, mc_closer, mc_scorer,
                            mc_cooler, 10000, bb_list, False, 0)
 
 # save down the result
-io.SavePDB(bb_list.ToEntity(), "sampled_frag.pdb")
\ No newline at end of file
+io.SavePDB(bb_list.ToEntity(), "sampled_frag.pdb")
diff --git a/doc/tests/scripts/sidechain_steps.py b/doc/tests/scripts/sidechain_steps.py
index aa903d2477f57fcdaee574060afddb3b6c4a013e..854ff709f9b88187d7db704bc681a2132740a6df 100644
--- a/doc/tests/scripts/sidechain_steps.py
+++ b/doc/tests/scripts/sidechain_steps.py
@@ -4,7 +4,7 @@ from promod3 import sidechain
 # load a protein
 prot = io.LoadPDB('data/1CRN.pdb')
 # load rotamer library
-library = sidechain.LoadDunbrackLib()
+library = sidechain.LoadBBDepLib()
 # we need a rotamer constructor to create any rotamers or 
 # frame residues 
 rot_constructor = sidechain.SCWRLRotamerConstructor(False)
@@ -56,6 +56,9 @@ for i,r in enumerate(prot.residues):
                     r, rotamer_ids[i], i, library,
                     torsion_angles[i][0], torsion_angles[i][1])
 
+    # calculate pairwise energies towards the rigid frame
+    # the values will be stored and used by the solving algorithm
+    # later on when considering self energies
     rot_group.SetFrameEnergy(frame)
     # remove super unlikely rotamer in rotamer group 
     # e.g. those who clash with the frame
diff --git a/doc/tests/test_doctests.py b/doc/tests/test_doctests.py
index bd9d89a001f8f883e1804a08bf7dd3d48dbbf009..42d8071136c6a94d82d91cdcaded36bdcf36d819 100644
--- a/doc/tests/test_doctests.py
+++ b/doc/tests/test_doctests.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Test example codes from documentation.
 Each example code is given as a python script in scripts-folder and may use
diff --git a/doc/users.rst b/doc/users.rst
index 7764b3750cebd2a03cc65dffecb0f9170092cae9..3b11ff195d4009fcf10bea662e5f54367150d90c 100644
--- a/doc/users.rst
+++ b/doc/users.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Documentation For Users
 =======================
 
@@ -12,6 +28,7 @@ Contents:
    gettingstarted
    actions/index
    buildsystem
+   container/index
    modelling/index
    sidechain/index
    scoring/index
diff --git a/extras/code_generation/amino_acid_atoms.py b/extras/code_generation/amino_acid_atoms.py
index 87e562d73a9b9cd27f82450886aae3c2eec842d6..be8d8cfce8ec1cd7fe33a4ebba96c5a0b09f4161 100644
--- a/extras/code_generation/amino_acid_atoms.py
+++ b/extras/code_generation/amino_acid_atoms.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """Code generation of code snippets for heavy atom part of amino_acid_atoms."""
 
 from ost import conop
diff --git a/extras/code_generation/amino_acid_atoms_hydrogens.py b/extras/code_generation/amino_acid_atoms_hydrogens.py
index 5150f3576e808d326656240b6072326c62179718..52c8c6cc44179b6adb4c9863d18f5b723d7918ad 100644
--- a/extras/code_generation/amino_acid_atoms_hydrogens.py
+++ b/extras/code_generation/amino_acid_atoms_hydrogens.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """Code generation of code snippets for hydrogen part of amino_acid_atoms."""
 
 import promod3
diff --git a/extras/code_generation/backbone_score_unittest.py b/extras/code_generation/backbone_score_unittest.py
index fd66538682832f42877ac54d2db4037504e9bc62..67b0af45a8ad03f558b75dd3a5859cb218d04704 100644
--- a/extras/code_generation/backbone_score_unittest.py
+++ b/extras/code_generation/backbone_score_unittest.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from qmean import *
 import os
 from promod3 import loop
diff --git a/extras/code_generation/hydrogen_rules.py b/extras/code_generation/hydrogen_rules.py
index 1142ebb3266ab194d57c53181fc23e7a2f929928..cdcac7e2f869b0b598c3d97d9c56b3916173349e 100644
--- a/extras/code_generation/hydrogen_rules.py
+++ b/extras/code_generation/hydrogen_rules.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """Code generation of code snippets for hydrogen_constructor."""
 
 from promod3 import loop
diff --git a/extras/code_generation/ideal_bb_param.py b/extras/code_generation/ideal_bb_param.py
index 348519eae01252878ab2e76275e4bc5042e68d03..b9ceef405a54ca9f8169e0506a4606170c8d8fd2 100644
--- a/extras/code_generation/ideal_bb_param.py
+++ b/extras/code_generation/ideal_bb_param.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from ost import conop
 import numpy as np
 
diff --git a/extras/code_generation/sidechain_atom_rule_lookup.py b/extras/code_generation/sidechain_atom_rule_lookup.py
index fe4ba9157cb27c4457c1890f50c23f91e78b161b..684d9682f2368be99359bd3ea5f6aec78c392dd4 100644
--- a/extras/code_generation/sidechain_atom_rule_lookup.py
+++ b/extras/code_generation/sidechain_atom_rule_lookup.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from promod3 import loop
 from ost import conop
 from ost.mol import mm
diff --git a/extras/data_generation/all_atom_scorer/create_default_aa_scorer.py b/extras/data_generation/all_atom_scorer/create_default_aa_scorer.py
index 9f390f8531c2dff964ec13578ae732c28c134614..92c786e6c5bfe5bab02bea88d33938afb2c7ecd4 100644
--- a/extras/data_generation/all_atom_scorer/create_default_aa_scorer.py
+++ b/extras/data_generation/all_atom_scorer/create_default_aa_scorer.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import ost
 from qmean import *
 from promod3 import scoring, loop
diff --git a/extras/data_generation/backbone_scorer/create_default_scorer.py b/extras/data_generation/backbone_scorer/create_default_scorer.py
index 8ffd8de2ca2fe8f24dc99d2b5a07dcb91d8a74fb..585e00c93837fd21e9d9e8b9a82c8bfdd13c6db9 100644
--- a/extras/data_generation/backbone_scorer/create_default_scorer.py
+++ b/extras/data_generation/backbone_scorer/create_default_scorer.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import ost
 from qmean import *
 from promod3 import scoring
diff --git a/extras/data_generation/force_field/create_charmm_force_field.py b/extras/data_generation/force_field/create_charmm_force_field.py
index 1ba4b09ca9e5ac84c8f27fe5bfc68d4be52b6eb9..8ec3d23813a77ee30603529bb08fd29d76931412 100644
--- a/extras/data_generation/force_field/create_charmm_force_field.py
+++ b/extras/data_generation/force_field/create_charmm_force_field.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from promod3 import loop
 from ost import conop, io
 from ost.mol import mm
diff --git a/extras/data_generation/frag_db/build_frag_db.py b/extras/data_generation/frag_db/build_frag_db.py
index 5faa5ad22d6b209846544ddbc1900aa43e5c7b36..b58530ad80e3569d08dec153693d96e84110ece9 100644
--- a/extras/data_generation/frag_db/build_frag_db.py
+++ b/extras/data_generation/frag_db/build_frag_db.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from promod3 import loop
 
 
diff --git a/extras/data_generation/portable_binaries/convert_data.cc b/extras/data_generation/portable_binaries/convert_data.cc
index 447f1b80d5081e51e3d626e8b188f13d2e49fe51..4b0e3483003b8e1187078457955f83e28e2e1795 100644
--- a/extras/data_generation/portable_binaries/convert_data.cc
+++ b/extras/data_generation/portable_binaries/convert_data.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 // Test code for promod3
 
 #include <promod3/loop/loop_object_loader.hh>
@@ -386,8 +402,8 @@ int main() {
   // convert_frag_db("frag_db.dat");
   // convert_structure_db("structure_db.dat");
   // convert_structure_db("structure_db_small.dat", "structure_db_new.dat");
-  // convert_BBDepRotamerLib("2010DunbrackLib.dat");
-  // convert_RotamerLib("PenultimateLib.dat");
+  // convert_BBDepRotamerLib("bb_dep_lib.dat");
+  // convert_RotamerLib("lib.dat");
 
   /////////////////////////////////////////////////////////////
   // MAKE PORTABLE VERSIONS
@@ -408,10 +424,10 @@ int main() {
   portable_structure_db("src_data/structure_db_small.dat",
                         "structure_db_new.dat",
                         "p_data/portable_structure_db_small.dat");
-  portable_BBDepRotamerLib("2010DunbrackLib.dat",
-                           "p_data/portable_2010DunbrackLib.dat");
-  portable_RotamerLib("PenultimateLib.dat",
-                      "p_data/portable_PenultimateLib.dat");
+  portable_BBDepRotamerLib("bb_dep_lib.dat",
+                           "p_data/portable_bb_dep_lib.dat");
+  portable_RotamerLib("lib.dat",
+                      "p_data/portable_lib.dat");
 
   return 0;
 }
diff --git a/extras/data_generation/rotamer_library/CreateDunbrackLibrary.py b/extras/data_generation/rotamer_library/CreateDunbrackLibrary.py
index 7d3d65c805aa106f455412a9a61b0ccbe19eb175..7b2a53ada798b63e6f42c8cef8e67183794320b7 100644
--- a/extras/data_generation/rotamer_library/CreateDunbrackLibrary.py
+++ b/extras/data_generation/rotamer_library/CreateDunbrackLibrary.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from promod3 import sidechain
 
 # the file is available here: http://dunbrack.fccc.edu/bbdep2010/
diff --git a/extras/data_generation/rotamer_library/README b/extras/data_generation/rotamer_library/README
new file mode 100644
index 0000000000000000000000000000000000000000..a387512ede267d0ec674f34a9765e6f9b5001d4e
--- /dev/null
+++ b/extras/data_generation/rotamer_library/README
@@ -0,0 +1,233 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+You can get rotamer libraries from several sources.
+
+#############################
+# The Dunbrack 2010 Library #
+#############################
+
+You can apply for a licence here: http://dunbrack.fccc.edu/bbdep2010/
+You'll get the library in several different options. The options
+we can read in are SimpleOpt1 and SimpleOpt2. 
+Adapt the according path in CreateDunbrackLibrary.py and run it to read
+the provided file and dump it as a binary that can be read by ProMod3.
+
+
+#################################
+# The ProMod3 Rotamer Libraries #
+#################################
+
+ProMod3 comes with basic functionality to generate backbone dependent
+and backbone independent rotamer libraries. Both types of rotamer libraries are
+available in default binary versions and can directly be loaded by the user.
+The following sections guide you through the process of building such libraries. 
+Feel free to adapt any step to get your custom library.
+
+
+####################
+# FETCH STRUCTURES #
+####################
+
+No matter whether you want to generate a backbone dependent or independent
+library: you need data
+
+ost fetch_data.py
+
+This script uses a pisces file downloaded from 
+http://dunbrack.fccc.edu/Guoli/pisces_download.php
+and stores following information for each residue in a csv file:
+
+ * residue name
+ * phi / psi backbone dihedral angles in radians
+ * sidechain dihedral angles in radians
+ * the configuration of sidechain dihedral angles,
+   one of [GAUCHE_MINUS, GAUCHE_PLUS, TRANS, NON_ROTAMERIC, INVALID]
+
+Residues from which you'll get data: 
+ARG, ASN, ASP, GLN, GLU, LYS, SER, CYH, CYD, CYS, MET, TRP, TYR, THR, VAL, ILE, 
+LEU, CPR, TPR, PRO, HIS, PHE
+
+Special cases: 
+
+  CYH, CYD, CYS:
+
+  CYS contains the data for all cysteins. CYD only contains data from cysteins 
+  that build a disulfid bond. Criteria: The SG atom from another cysteins is 
+  within 2.5A of its own SG atom. Cysteins for which this criteria is not 
+  fulfilled are added to CYH
+
+  CPR, TPR, PRO:
+
+  PRO contains the data for all prolines. Prolines with a trans-omega 
+  backbone dihedral are added to TPR and prolines with a cis-omega
+  backbone dihedral are added to CPR.
+
+The behaviour of the script can be controlled by setting the documented 
+variables on the top. 
+Only data from residues will be dumped where everything is available, 
+e.g. terminal residues without valid phi/psi or residues without
+all their sidechain atoms will be skipped. 
+
+####################################################
+# OPTION ONE: BACKBONE INDEPENDENT ROTAMER LIBRARY #
+####################################################
+
+ost do_lib.py <data> <out_file_name>
+
+Loads csv generated by fetch_data.py, determines a set of rotamers for each 
+type of amino acids and dumps a full backbone independent library to disk.
+
+The general approach for each amino acid is to look at each possible 
+combination of rotameric configurations and obtain a rotamer by simply 
+calculating the mean and standard deviation of all datapoints with
+this particular configuration. The probability of that rotamer is the number 
+of data points with this configuration divided by the total number of 
+datapoints for this amino acid.
+
+The situation becomes more difficult for the so called non rotameric dihedral
+angles.
+Non rotameric dihedral angles are:  ASN(chi2), ASP(chi2), PHE(chi2), TYR(chi2), 
+HIS(chi2), TRP(chi2), GLN(chi3) and GLU(chi3).
+
+The approach used here is exaclty the same as described for option two:
+backbone dependent rotamer library with the exception that there is no
+weighted mean etc, each datapoint contributes equally to the mean and
+std.
+
+##################################################
+# OPTION TWO: BACKBONE DEPENDENT ROTAMER LIBRARY #
+##################################################
+
+ost do_bb_dep_lib.py <data> <aa_name>
+
+This script uses the csv generated by fetch data (provided as data parameter) 
+and the name of any amino acid (provided as aa_name parameter) to generate 
+a backbone dependent rotamer library for that amino acid and dumps it as 
+<aa_name>.txt.
+
+Some theory (You don't have to read this if you believe we're doing 
+             awesome science...):
+
+In order to get weighted distributions etc. we rely on the Mises distribution
+that can considered to be a circular gaussian:
+p(x,y) = 1.0/(4*pi*pi*i0(kappa)*i0(kappa)) * exp(kappa*(cos(x-x0)+sin(y-y0)))
+where i0() is the modified Bessel function of first order and (x0, y0) the mean.
+kappa is a measure of concentration. 
+
+This distribution is used to determine weights that are used in:
+  * calculating the probability of a rotamer configuration given the backbone 
+    dihedral angles
+  * calculating sidechain dihedral angles given the backbone dihedral angles
+
+Every datapoint contributes to a final value with a weight. These weights depend
+on the distance to the query point. In case of many data close to the query point,
+only close data points should contribute. If the region around the query data 
+point is only sparsely populated, data points that are a bit further away should 
+also contribute. We achieve this by using position dependent kappa values for 
+the underlying Mises distribution.
+
+For large kappas, the Mises distribution is basically a repetitive normal
+distribution with the relation: sigma*sigma = 1.0/kappa
+=> r = sqrt(1.0/kappa) corresponds to the radius of a circle around the mean, 
+that covers approximately 67% of the density.
+kappa can be estimated such that this "circle" includes exactly N data points.
+
+We sample the backbone dihedral space with n_bins x n_bins bins, where n_bins 
+can be set on top of the script. For each bin, we estimate two things:
+
+  * Estimate the probability of every possible rotamer configuration
+  * Estimate mean and standard deviation of every sidechain dihedral angle
+
+Step one: Estimation of Rotamer Probabilities
+
+For every bin, a kappa is estimated as outlined above (the whole circle 
+story with N). For amino acids with many dihedral angles, N should be larger 
+to guarantee enough sampling. N can be controlled on top of the script by
+adjusting the p_threshold_67 parameter.
+
+The probability for each rotamer configuration is then estimated with a 
+histogram approach where every possible configuration has one bin. 
+Every datapoint adds a value to its corresponding bin. 
+This value is the evaluation of the Mises distribution for that data point 
+with the query bin as mean and the previously determined kappa. 
+Subsequent normalization leads to the final probabilities.
+
+Step two: Estimation of mean and standard deviations of sidechain dihedral
+angles for each rotamer configuration:
+
+This is a tougher business, as we have to deal with rotameric dihedral angles
+and non rotameric dihedral angles...
+Non rotameric dihedral angles are:  ASN(chi2), ASP(chi2), PHE(chi2), TYR(chi2), 
+HIS(chi2), TRP(chi2), GLN(chi3) and GLU(chi3) and will be discussed later.
+
+First of all, we again determine our query bin dependent kappa but this time
+N only relates to the data points with the same configuration. N can be 
+controlled by adjusting the chi_threshold_67 parameter on top of the script.
+And again, we determine a weight for each datapoint with the same configuration
+based on the mises distribution. All those datapoints then contribute to a
+weighted mean and weighted standard deviation as estimated in the 
+GetChiStats function of the do_bb_dep_lib.py script.
+
+As a last step we have to determine the mean and std values for non rotameric
+sidechain dihedral angles. For this we first estimate a full probability density
+function (pdf) of chi (the non-rotameric sidechain dihedral angle). 
+The pdf is based on a histogram, where we simply add up the Mises based weights 
+of all data points with the same rotameric configuration at the according 
+histogram position. 
+This histogram is then smoothed with a circular gaussian filter with std
+non_rotameric_smooth_std and finally normalized. non_rotameric_smooth_std 
+can be set on top of the script.
+The full non-rotameric chi angle is then sampled in a binned manner, where the 
+center of the first bin is determined by the mode of the initial pdf. 
+The number of bins can be controlled by the parameter non_rotameric_sampling 
+on top of the script.
+For each bin we estimate a probability, a mean and a standard deviation
+based on the underlying distribution. See the function GetNonRotChiStats
+function for more details. Given these values we can then determine all 
+possible rotamers.
+E.g. ASN has one rotameric dihedral angle => 3 possible rotameric 
+configurations. Lets say the trans configuration has probability p.
+We then do the described sampling of the non-rotamerich chi2 angle.
+with default parametrization, this gives a total of 12 possible chi2 
+configurations. Each with a probability p_chi2_n, a mean m_chi2_n and a standard 
+deviation std_chi2_n. The probability of a certain rotamer n is then p*p_chi2_n.
+
+###############################
+# DO THIS FOR ALL AMINO ACIDS #
+###############################
+
+The file rotamer_lib_creation.cmd contains all commands required to generate the 
+rotamers for all amino acids. With a working ProMod3 installation and the csv 
+file generated at the very beginning, you can do:
+source rotamer_lib_creation.cmd
+
+##############
+# READ IT IN #
+##############
+
+You should now have a file for every amino acid... you can concatenate them 
+with the bash script: concatenate_library.sh
+The resulting file can be loaded with ProMod3 and converted to binary version:
+
+import sidechain
+lib = sidechain.ReadDunbrackFile("bb_dep_lib.txt")
+
+And then dump it in binary format:
+lib.Save("my_awesome_rotamer_library.dat")
+
+This file can be loaded again with:
+lib = sidechain.BBDepRotamerLib.Load("my_awesome_rotamer_library.dat")
diff --git a/extras/data_generation/rotamer_library/concatenate_library.sh b/extras/data_generation/rotamer_library/concatenate_library.sh
new file mode 100755
index 0000000000000000000000000000000000000000..616d6dc25fa4be1427a27cf657c31c752012117f
--- /dev/null
+++ b/extras/data_generation/rotamer_library/concatenate_library.sh
@@ -0,0 +1 @@
+cat ARG.txt <(echo) ASN.txt <(echo) ASP.txt <(echo) GLN.txt <(echo) GLU.txt <(echo) LYS.txt <(echo) SER.txt <(echo) CYH.txt <(echo) CYD.txt <(echo) CYS.txt <(echo) MET.txt <(echo) TRP.txt <(echo) TYR.txt <(echo) THR.txt <(echo) VAL.txt <(echo) ILE.txt <(echo) LEU.txt <(echo) CPR.txt <(echo) TPR.txt <(echo) PRO.txt <(echo) HIS.txt <(echo) PHE.txt > bb_dep_lib.txt
diff --git a/extras/data_generation/rotamer_library/create_penultimate.py b/extras/data_generation/rotamer_library/create_penultimate.py
deleted file mode 100644
index 0ea845b8e987a4b4ddd4d2c0c5f4da104733c602..0000000000000000000000000000000000000000
--- a/extras/data_generation/rotamer_library/create_penultimate.py
+++ /dev/null
@@ -1,1384 +0,0 @@
-from promod3 import sidechain
-import numpy as np
-import traceback
-
-def ToRadian(deg_angle):
-  return float(deg_angle)/180*np.pi
-
-lib = sidechain.RotamerLib()
-lib_alpha = sidechain.RotamerLib()
-lib_beta = sidechain.RotamerLib()
-lib_other = sidechain.RotamerLib()
-
-data = open("penultimate.csv",'r').readlines()
-
-
-#handling arginine
-
-print
-print
-print "ARG"
-
-for i in range(5,41):
-  temp = data[i].split(',')
-
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-    chi3 = int(temp[10])
-    chi4 = int(temp[12])
-
-    sig1 = int(temp[14])
-    sig2 = int(temp[15])
-    sig3 = int(temp[16])
-    sig4 = int(temp[17])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "ARG fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4
-
-  lib.AddRotamer(sidechain.ARG,entry)
-  lib_alpha.AddRotamer(sidechain.ARG,entry_alpha)
-  lib_beta.AddRotamer(sidechain.ARG,entry_beta)
-  lib_other.AddRotamer(sidechain.ARG,entry_other)
-
-
-print
-print
-print "LYS"
-
-#handling Lysine
-for i in range(42,71):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-    chi3 = int(temp[10])
-    chi4 = int(temp[12])
-
-    sig1 = int(temp[14])
-    sig2 = int(temp[15])
-    sig3 = int(temp[16])
-    sig4 = int(temp[17])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "LYS fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.LYS,entry)
-  lib_alpha.AddRotamer(sidechain.LYS,entry_alpha)
-  lib_beta.AddRotamer(sidechain.LYS,entry_beta)
-  lib_other.AddRotamer(sidechain.LYS,entry_other)
-
-
-print
-print
-print "MET"
-
-#handling Methionine
-for i in range(72,87):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-    chi3 = int(temp[10])
-
-    sig1 = int(temp[13])
-    sig2 = int(temp[14])
-    sig3 = int(temp[15])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "MET fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.MET,entry)
-  lib_alpha.AddRotamer(sidechain.MET,entry_alpha)
-  lib_beta.AddRotamer(sidechain.MET,entry_beta)
-  lib_other.AddRotamer(sidechain.MET,entry_other)
-
-print
-print
-print "GLU"
-
-#handling Glutamate
-for i in range(88,98):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-    chi3 = int(temp[10])
-
-    sig1 = int(temp[13])
-    sig2 = int(temp[14])
-    sig3 = int(temp[15])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "GLU fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.GLU,entry)
-  lib_alpha.AddRotamer(sidechain.GLU,entry_alpha)
-  lib_beta.AddRotamer(sidechain.GLU,entry_beta)
-  lib_other.AddRotamer(sidechain.GLU,entry_other)
-
-
-print
-print
-print "GLN"
-
-#handling Glutamine
-for i in range(99,110):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-    chi3 = int(temp[10])
-
-    sig1 = int(temp[13])
-    sig2 = int(temp[14])
-    sig3 = int(temp[15])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "GLN fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4 
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.GLN,entry)
-  lib_alpha.AddRotamer(sidechain.GLN,entry_alpha)
-  lib_beta.AddRotamer(sidechain.GLN,entry_beta)
-  lib_other.AddRotamer(sidechain.GLN,entry_other)
-
-
-print
-print
-print "ASP"
-
-
-#handling Aspartate
-for i in range(111,118):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-
-    sig1 = int(temp[13])
-    sig2 = int(temp[14])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "ASP fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.ASP,entry)
-  lib_alpha.AddRotamer(sidechain.ASP,entry_alpha)
-  lib_beta.AddRotamer(sidechain.ASP,entry_beta)
-  lib_other.AddRotamer(sidechain.ASP,entry_other)
-
-print
-print
-print "ASN"
-
-#handling Asparagine
-for i in range(119,128):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-
-    sig1 = int(temp[13])
-    sig2 = int(temp[14])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "ASN fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.ASN,entry)
-  lib_alpha.AddRotamer(sidechain.ASN,entry_alpha)
-  lib_beta.AddRotamer(sidechain.ASN,entry_beta)
-  lib_other.AddRotamer(sidechain.ASN,entry_other)
-
-print
-print
-print "ILE"
-
-#handling IsoLeucine
-for i in range(129,138):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-
-    sig1 = int(temp[11])
-    sig2 = int(temp[12])
-
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "ILE fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4 
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.ILE,entry)
-  lib_alpha.AddRotamer(sidechain.ILE,entry_alpha)
-  lib_beta.AddRotamer(sidechain.ILE,entry_beta)
-  lib_other.AddRotamer(sidechain.ILE,entry_other)
-
-
-print
-print
-print "LEU"
-
-#handling Leucine
-for i in range(139,146):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-
-    sig1 = int(temp[11])
-    sig2 = int(temp[12])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "LEU fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.LEU,entry)
-  lib_alpha.AddRotamer(sidechain.LEU,entry_alpha)
-  lib_beta.AddRotamer(sidechain.LEU,entry_beta)
-  lib_other.AddRotamer(sidechain.LEU,entry_other)
-
-
-
-print
-print
-print "HIS"
-
-#handling Histidine
-for i in range(147,157):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-
-    sig1 = int(temp[11])
-    sig2 = int(temp[12])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "HIS fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.HIS,entry)
-  lib_alpha.AddRotamer(sidechain.HIS,entry_alpha)
-  lib_beta.AddRotamer(sidechain.HIS,entry_beta)
-  lib_other.AddRotamer(sidechain.HIS,entry_other)
-
-
-print
-print
-print "TRP"
-
-#handling Tryptophane
-for i in range(158,167):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-
-    sig1 = int(temp[11])
-    sig2 = int(temp[12])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "TRP fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.TRP,entry)
-  lib_alpha.AddRotamer(sidechain.TRP,entry_alpha)
-  lib_beta.AddRotamer(sidechain.TRP,entry_beta)
-  lib_other.AddRotamer(sidechain.TRP,entry_other)
-
-
-print
-print
-print "TYR"
-
-#handling Tyrosine
-for i in range(168,174):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-
-    sig1 = int(temp[11])
-    sig2 = int(temp[12])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "TYR fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.TYR,entry)
-  lib_alpha.AddRotamer(sidechain.TYR,entry_alpha)
-  lib_beta.AddRotamer(sidechain.TYR,entry_beta)
-  lib_other.AddRotamer(sidechain.TYR,entry_other)
-
-
-print
-print
-print "PHE"
-
-#handling Phenylalanine
-for i in range(175,181):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-    chi2 = int(temp[8])
-
-    sig1 = int(temp[11])
-    sig2 = int(temp[12])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "PHE fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4 
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.PHE,entry)
-  lib_alpha.AddRotamer(sidechain.PHE,entry_alpha)
-  lib_beta.AddRotamer(sidechain.PHE,entry_beta)
-  lib_other.AddRotamer(sidechain.PHE,entry_other)
-
-print
-print
-print "PRO"
-
-#handling Proline
-for i in range(182,187):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-
-    sig1 = int(temp[11])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "PRO fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.PRO,entry)
-  lib_alpha.AddRotamer(sidechain.PRO,entry_alpha)
-  lib_beta.AddRotamer(sidechain.PRO,entry_beta)
-  lib_other.AddRotamer(sidechain.PRO,entry_other)
-
-
-print
-print
-print "THR"
-
-#handling Threonine
-for i in range(188,193):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-
-    sig1 = int(temp[9])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "THR fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.THR,entry)
-  lib_alpha.AddRotamer(sidechain.THR,entry_alpha)
-  lib_beta.AddRotamer(sidechain.THR,entry_beta)
-  lib_other.AddRotamer(sidechain.THR,entry_other)
-
-
-
-print
-print
-print "VAL"
-
-#handling Valine
-for i in range(194,199):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-
-    sig1 = int(temp[9])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "VAL fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.VAL,entry)
-  lib_alpha.AddRotamer(sidechain.VAL,entry_alpha)
-  lib_beta.AddRotamer(sidechain.VAL,entry_beta)
-  lib_other.AddRotamer(sidechain.VAL,entry_other)
-
-print
-print
-print "SER"
-
-#handling Serine
-for i in range(200,205):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-
-    sig1 = int(temp[9])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "SER fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4 
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.SER,entry)
-  lib_alpha.AddRotamer(sidechain.SER,entry_alpha)
-  lib_beta.AddRotamer(sidechain.SER,entry_beta)
-  lib_other.AddRotamer(sidechain.SER,entry_other)
-
-
-
-print
-print
-print "CYS"
-
-#handling Cysteine
-for i in range(206,len(data)):
-  temp = data[i].split(',')
-  chi1 = float('NaN')
-  chi2 = float('NaN')
-  chi3 = float('NaN')
-  chi4 = float('NaN')
-
-  sig1 = float('NaN')
-  sig2 = float('NaN')
-  sig3 = float('NaN')
-  sig4 = float('NaN')
-
-  try:
-    chi1 = int(temp[6])
-
-    sig1 = int(temp[9])
-  except:
-    #some rotamers have really low probability and consequently no
-    #no mode values. This results in int(' ') => error => neglect the shit
-    print "CYS fail..."
-    continue
-
-  p = 0.0
-  p_alpha = 0.0
-  p_beta = 0.0
-  p_other = 0.0
-
-  str_p = temp[2]
-  if "<1%" in str_p:
-    p = 0.5
-  else:
-    p = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[3]
-  if "<1%" in str_p:
-    p_alpha = 0.5
-  else:
-    p_alpha = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[4]
-  if "<1%" in str_p:
-    p_beta = 0.5
-  else:
-    p_beta = float(str_p.strip().strip('%').strip('<'))
-
-  str_p = temp[5]
-  if "<1%" in str_p:
-    p_other = 0.5
-  else:
-    p_other = float(str_p.strip().strip('%').strip('<'))
-
-  print p, p_alpha, p_beta, p_other, chi1,chi2,chi3,chi4,sig1,sig2,sig3,sig4  
-
-  entry = sidechain.RotamerLibEntry(p*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                    ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_alpha = sidechain.RotamerLibEntry(p_alpha*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_beta = sidechain.RotamerLibEntry(p_beta*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                         ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-  entry_other = sidechain.RotamerLibEntry(p_other*0.01,ToRadian(chi1),ToRadian(chi2),ToRadian(chi3),ToRadian(chi4),
-                                          ToRadian(sig1),ToRadian(sig2),ToRadian(sig3),ToRadian(sig4))
-
-  lib.AddRotamer(sidechain.CYS,entry)
-  lib_alpha.AddRotamer(sidechain.CYS,entry_alpha)
-  lib_beta.AddRotamer(sidechain.CYS,entry_beta)
-  lib_other.AddRotamer(sidechain.CYS,entry_other)
-
-
-
-lib.Save("Penultimate.dat")
-lib_alpha.Save("PenultimateAlpha.dat")
-lib_beta.Save("PenultimateBeta.dat")
-lib_other.Save("PenultimateOther.dat")
-
-
-
diff --git a/extras/data_generation/rotamer_library/cullpdb_pc40_res1.6_R0.25_d180913_chains5877 b/extras/data_generation/rotamer_library/cullpdb_pc40_res1.6_R0.25_d180913_chains5877
new file mode 100644
index 0000000000000000000000000000000000000000..6b5908afece2a83b63af926d2f2b2bd3d0e28eca
--- /dev/null
+++ b/extras/data_generation/rotamer_library/cullpdb_pc40_res1.6_R0.25_d180913_chains5877
@@ -0,0 +1,5878 @@
+IDs         length Exptl.  resolution  R-factor FreeRvalue
+1A2PC       110  XRAY        1.500    0.12    0.17
+1A62A       130  XRAY        1.550    0.22    0.25
+1A7SA       225  XRAY        1.120    0.16    0.19
+1A8DA       452  XRAY        1.570    0.19    0.26
+1ABAA        87  XRAY        1.450    0.17    1.00
+1AH7A       245  XRAY        1.501    0.20    0.23
+1AHOA        64  XRAY        0.960    0.16    1.00
+1AMTC        21  XRAY        1.500    0.15    1.00
+1AOEA       192  XRAY        1.600    0.15    1.00
+1ATGA       231  XRAY        1.200    0.16    0.18
+1B0BA       142  XRAY        1.430    0.12    0.17
+1B0UA       262  XRAY        1.500    0.18    0.21
+1B5EA       246  XRAY        1.600    0.19    0.21
+1B67B        68  XRAY        1.480    0.19    0.27
+1B6GA       310  XRAY        1.150    0.10    0.14
+1B9OA       123  XRAY        1.150    0.12    0.16
+1BGFA       124  XRAY        1.450    0.19    0.22
+1BKRA       109  XRAY        1.100    0.14    0.19
+1BRTA       277  XRAY        1.500    0.14    0.16
+1BTEA        97  XRAY        1.500    0.18    0.22
+1BTKB       169  XRAY        1.600    0.23    0.28
+1BX7A        55  XRAY        1.200    0.18    0.23
+1BYIA       224  XRAY        0.970    0.12    1.00
+1C0PA       363  XRAY        1.200    0.12    0.15
+1C1DA       355  XRAY        1.250    0.20    0.24
+1C1KA       217  XRAY        1.450    0.20    0.25
+1C4QD        69  XRAY        1.520    0.17    0.19
+1C52A       131  XRAY        1.280    0.19    0.22
+1C5EB        95  XRAY        1.100    0.10    0.13
+1C75A        71  XRAY        0.970    0.12    1.00
+1C7KA       132  XRAY        1.000    0.15    0.18
+1C9OB        66  XRAY        1.170    0.12    0.18
+1CC8A        73  XRAY        1.020    0.14    0.17
+1CCWC       137  XRAY        1.600    0.14    0.17
+1CCWD       483  XRAY        1.600    0.14    0.17
+1CG5A       141  XRAY        1.600    0.19    0.23
+1CG5B       141  XRAY        1.600    0.19    0.23
+1CRUB       454  XRAY        1.500    0.18    0.20
+1CS1B       386  XRAY        1.500    0.20    0.26
+1CSEI        70  XRAY        1.200    0.18    1.00
+1CXQA       162  XRAY        1.020    0.13    0.16
+1CY5A        97  XRAY        1.300    0.17    0.20
+1D2SA       170  XRAY        1.550    0.21    0.25
+1D4OA       184  XRAY        1.210    0.17    0.22
+1D4TA       104  XRAY        1.100    0.13    0.17
+1D5TA       433  XRAY        1.040    0.17    0.21
+1D8WD       426  XRAY        1.600    0.18    0.24
+1DBWB       126  XRAY        1.600    0.19    0.22
+1DCIA       275  XRAY        1.500    0.18    0.20
+1DCSA       311  XRAY        1.300    0.13    0.15
+1DD9A       338  XRAY        1.600    0.23    0.28
+1DFMA       223  XRAY        1.500    0.19    0.22
+1DG6A       191  XRAY        1.300    0.14    0.20
+1DI6A       195  XRAY        1.450    0.19    0.21
+1DJ0A       264  XRAY        1.500    0.16    0.22
+1DK8A       147  XRAY        1.570    0.17    0.20
+1DLWA       116  XRAY        1.540    0.13    0.18
+1DP7P        76  XRAY        1.500    0.19    0.23
+1DS1A       324  XRAY        1.080    0.14    0.17
+1DYPA       271  XRAY        1.540    0.18    0.19
+1DYQA       234  XRAY        1.500    0.19    0.24
+1DYSA       348  XRAY        1.600    0.18    0.24
+1DZKA       157  XRAY        1.480    0.23    0.24
+1E29A       135  XRAY        1.210    0.15    0.21
+1E2WA       251  XRAY        1.600    0.20    0.23
+1E4MM       501  XRAY        1.200    0.12    0.14
+1E58A       249  XRAY        1.250    0.12    0.17
+1E5KA       201  XRAY        1.350    0.18    0.21
+1E6UA       321  XRAY        1.450    0.14    0.17
+1E7LA       157  XRAY        1.320    0.14    0.19
+1E9GA       286  XRAY        1.150    0.14    1.00
+1EAJB       126  XRAY        1.350    0.14    0.15
+1EAQB       140  XRAY        1.250    0.15    0.17
+1EAZA       125  XRAY        1.400    0.17    0.23
+1EB6A       177  XRAY        1.000    0.10    0.13
+1EDGA       380  XRAY        1.600    0.19    0.22
+1EGWC        77  XRAY        1.500    0.21    0.23
+1EJ0A       180  XRAY        1.500    0.20    0.23
+1EJ8A       140  XRAY        1.550    0.20    0.26
+1EKQA       272  XRAY        1.500    0.22    0.25
+1ELKB       157  XRAY        1.500    0.20    0.22
+1ELUA       390  XRAY        1.550    0.22    0.26
+1ELWB       118  XRAY        1.600    0.18    0.21
+1EN2A        89  XRAY        1.400    0.20    0.20
+1EP0A       185  XRAY        1.500    0.18    0.21
+1ES5A       262  XRAY        1.400    0.21    0.24
+1ES9A       232  XRAY        1.300    0.19    0.22
+1ET1B        34  XRAY        0.900    0.14    0.14
+1EU1A       780  XRAY        1.300    0.12    0.14
+1EUVA       221  XRAY        1.600    0.19    0.25
+1EUWA       152  XRAY        1.050    0.14    0.16
+1EVLD       401  XRAY        1.550    0.22    0.23
+1EW0A       130  XRAY        1.400    0.20    0.27
+1EW4A       106  XRAY        1.400    0.19    0.21
+1EYVB       156  XRAY        1.600    0.19    0.23
+1EZGB        84  XRAY        1.400    0.16    0.20
+1F0LB       535  XRAY        1.550    0.19    0.24
+1F1EA       154  XRAY        1.370    0.17    0.21
+1F2TA       149  XRAY        1.600    0.19    0.23
+1F2TB       148  XRAY        1.600    0.19    0.23
+1F46B       140  XRAY        1.500    0.20    0.22
+1F74A       293  XRAY        1.600    0.17    0.20
+1F7DB       136  XRAY        1.400    0.19    0.22
+1F7LA       121  XRAY        1.500    0.19    0.20
+1F86A       115  XRAY        1.100    0.14    0.18
+1F94A        63  XRAY        0.970    0.12    0.18
+1F9VA       347  XRAY        1.300    0.22    0.24
+1F9ZB       135  XRAY        1.500    0.21    0.27
+1FCQA       350  XRAY        1.600    0.19    0.23
+1FCYA       236  XRAY        1.300    0.13    0.16
+1FG7A       356  XRAY        1.500    0.20    0.22
+1FGYA       127  XRAY        1.500    0.21    0.25
+1FIUD       286  XRAY        1.600    0.17    0.20
+1FJ2B       232  XRAY        1.500    0.18    0.24
+1FM0D        81  XRAY        1.450    0.15    0.18
+1FM0E       150  XRAY        1.450    0.15    0.18
+1FO8A       343  XRAY        1.400    0.17    0.18
+1FP2A       352  XRAY        1.400    0.23    0.23
+1FR3L        67  XRAY        1.500    0.18    0.20
+1FSGC       233  XRAY        1.050    0.12    0.15
+1FT5A       211  XRAY        1.600    0.19    0.21
+1FX2A       235  XRAY        1.460    0.18    0.20
+1FYEA       229  XRAY        1.200    0.16    0.19
+1G12A       167  XRAY        1.600    0.22    0.23
+1G2QB       187  XRAY        1.500    0.20    0.23
+1G2RA       100  XRAY        1.350    0.16    0.18
+1G2YC        32  XRAY        1.000    0.20    0.20
+1G3PA       217  XRAY        1.460    0.19    0.23
+1G4IA       123  XRAY        0.970    0.09    1.00
+1G5AA       628  XRAY        1.400    0.19    0.20
+1G61A       228  XRAY        1.300    0.13    0.18
+1G66A       207  XRAY        0.900    0.11    0.13
+1G6GA       127  XRAY        1.600    0.21    0.24
+1G6HA       257  XRAY        1.600    0.22    0.25
+1G6IA       545  XRAY        1.590    0.23    0.25
+1G6XA        58  XRAY        0.860    0.11    0.14
+1G8AA       227  XRAY        1.400    0.20    0.22
+1GA6A       372  XRAY        1.000    0.12    0.13
+1GCIA       269  XRAY        0.780    0.10    0.10
+1GHEA       177  XRAY        1.550    0.21    0.23
+1GJ7A        23  XRAY        1.500    0.20    0.23
+1GK9A       260  XRAY        1.300    0.15    0.17
+1GK9B       557  XRAY        1.300    0.15    0.17
+1GKMA       509  XRAY        1.000    0.12    0.14
+1GKPF       458  XRAY        1.295    0.15    0.18
+1GMUA       143  XRAY        1.500    0.22    0.26
+1GMXA       108  XRAY        1.100    0.13    0.15
+1GNLB       544  XRAY        1.250    0.13    0.14
+1GOIB       499  XRAY        1.450    0.16    0.22
+1GP0A       143  XRAY        1.400    0.21    0.24
+1GPPA       237  XRAY        1.350    0.15    0.19
+1GQIB       708  XRAY        1.480    0.13    0.17
+1GQVA       135  XRAY        0.980    0.12    0.14
+1GS5A       258  XRAY        1.500    0.21    0.21
+1GTVA       214  XRAY        1.550    0.19    0.21
+1GU2B       124  XRAY        1.190    0.15    0.19
+1GUTE        68  XRAY        1.500    0.18    0.22
+1GV9A       260  XRAY        1.460    0.19    0.21
+1GVDA        52  XRAY        1.450    0.18    0.20
+1GVEB       327  XRAY        1.380    0.16    0.18
+1GVFB       286  XRAY        1.450    0.13    0.17
+1GVPA        87  XRAY        1.600    0.21    0.29
+1GVZA       237  XRAY        1.420    0.17    0.21
+1GWEA       503  XRAY        0.880    0.09    0.10
+1GWMA       153  XRAY        1.150    0.13    0.16
+1GXMB       332  XRAY        1.320    0.13    0.16
+1GXUA        91  XRAY        1.270    0.13    0.16
+1GY7B       125  XRAY        1.600    0.20    0.22
+1GYOA       109  XRAY        1.200    0.13    0.16
+1GYXA        76  XRAY        1.350    0.14    0.16
+1GZ2A       142  XRAY        1.500    0.20    0.22
+1H12A       405  XRAY        1.200    0.11    0.13
+1H16A       759  XRAY        1.530    0.14    0.16
+1H1NB       305  XRAY        1.120    0.13    0.17
+1H2CA       140  XRAY        1.600    0.17    0.18
+1H32A       261  XRAY        1.500    0.20    0.23
+1H32B       138  XRAY        1.500    0.20    0.23
+1H4AX       173  XRAY        1.150    0.16    0.18
+1H4XB       117  XRAY        1.160    0.13    0.16
+1H5QL       265  XRAY        1.500    0.19    0.21
+1H80B       464  XRAY        1.600    0.21    0.22
+1H97B       147  XRAY        1.170    0.12    0.17
+1H99A       224  XRAY        1.550    0.22    0.24
+1HDHB       536  XRAY        1.300    0.20    0.23
+1HDOA       206  XRAY        1.150    0.12    0.16
+1HFEM       421  XRAY        1.600    0.16    0.18
+1HFET       123  XRAY        1.600    0.16    0.18
+1HLQC        75  XRAY        1.450    0.19    0.22
+1HNJA       317  XRAY        1.460    0.17    0.19
+1HQ1A       105  XRAY        1.520    0.16    0.20
+1HQSA       423  XRAY        1.550    0.20    0.25
+1HT6A       405  XRAY        1.500    0.14    0.16
+1HW1B       239  XRAY        1.500    0.20    0.22
+1HXHD       253  XRAY        1.220    0.15    0.18
+1HXIA       121  XRAY        1.600    0.19    0.22
+1HYOA       421  XRAY        1.300    0.18    0.20
+1HZ4A       373  XRAY        1.450    0.19    0.21
+1HZTA       190  XRAY        1.450    0.19    0.22
+1I0RA       169  XRAY        1.500    0.21    0.22
+1I0VA       104  XRAY        1.234    0.18    0.19
+1I12B       160  XRAY        1.300    0.21    0.22
+1I1NA       226  XRAY        1.500    0.18    0.21
+1I1WA       303  XRAY        0.890    0.09    0.11
+1I24A       404  XRAY        1.200    0.19    0.20
+1I27A        73  XRAY        1.020    0.13    0.15
+1I2TA        61  XRAY        1.040    0.15    0.17
+1I4UB       181  XRAY        1.150    0.15    0.19
+1I52A       236  XRAY        1.500    0.23    0.25
+1I58A       189  XRAY        1.600    0.22    0.26
+1I60A       278  XRAY        1.600    0.21    0.23
+1I71A        83  XRAY        1.450    0.17    0.20
+1I8OA       114  XRAY        1.150    0.14    0.16
+1ID0A       152  XRAY        1.600    0.20    0.23
+1IDPC       172  XRAY        1.450    0.20    0.23
+1IFCA       132  XRAY        1.190    0.17    1.00
+1IFRA       121  XRAY        1.400    0.22    1.00
+1IG5A        75  XRAY        1.500    0.20    0.28
+1II5A       233  XRAY        1.600    0.24    0.26
+1IJQB       316  XRAY        1.500    0.21    0.25
+1IJYA       130  XRAY        1.350    0.23    0.25
+1IKPA       613  XRAY        1.450    0.20    0.23
+1IN4A       334  XRAY        1.600    0.24    0.25
+1INLD       296  XRAY        1.500    0.20    0.21
+1IO0A       185  XRAY        1.450    0.20    0.22
+1IO7A       368  XRAY        1.500    0.22    0.27
+1IOMA       377  XRAY        1.500    0.17    0.18
+1IOOA       196  XRAY        1.550    0.18    0.21
+1IQ6A       134  XRAY        1.500    0.20    0.23
+1IQQA       200  XRAY        1.500    0.17    0.20
+1IQZA        81  XRAY        0.920    0.10    0.11
+1IRQB        71  XRAY        1.500    0.21    0.23
+1IS3A       135  XRAY        1.450    0.20    0.23
+1ISUA        62  XRAY        1.500    0.17    1.00
+1IT2B       146  XRAY        1.600    0.21    0.24
+1ITXA       419  XRAY        1.100    0.12    0.14
+1IU8A       206  XRAY        1.600    0.19    0.21
+1IUJA       106  XRAY        1.600    0.23    0.26
+1IUQA       367  XRAY        1.550    0.20    0.22
+1IX9B       205  XRAY        0.900    0.11    0.13
+1IXHA       321  XRAY        0.980    0.12    0.14
+1IY8A       267  XRAY        1.600    0.20    0.22
+1IYBA       208  XRAY        1.500    0.21    0.23
+1J0PA       108  XRAY        0.910    0.11    0.14
+1J2JB        45  XRAY        1.600    0.20    0.23
+1J2RA       199  XRAY        1.300    0.15    0.17
+1J34A       129  XRAY        1.550    0.18    0.21
+1J34C        46  XRAY        1.550    0.18    0.21
+1J3AA       142  XRAY        1.600    0.21    0.23
+1J3WB       163  XRAY        1.500    0.21    0.22
+1J77A       209  XRAY        1.500    0.23    0.26
+1J8UA       325  XRAY        1.500    0.16    0.20
+1J98A       157  XRAY        1.200    0.13    0.15
+1JB3A       131  XRAY        1.600    0.20    0.24
+1JBEA       128  XRAY        1.080    0.10    0.15
+1JCDA        52  XRAY        1.300    0.15    0.21
+1JE0A       236  XRAY        1.600    0.23    0.25
+1JEKA        42  XRAY        1.500    0.21    0.27
+1JEKB        36  XRAY        1.500    0.21    0.27
+1JERA       138  XRAY        1.600    0.20    0.24
+1JETA       517  XRAY        1.200    0.23    0.26
+1JF3A       147  XRAY        1.400    0.19    0.21
+1JF8A       131  XRAY        1.120    0.21    0.23
+1JFBA       404  XRAY        1.000    0.10    0.14
+1JFUB       186  XRAY        1.600    0.18    0.23
+1JG1A       235  XRAY        1.200    0.15    0.20
+1JHGA       101  XRAY        1.300    0.13    0.17
+1JHJA       171  XRAY        1.600    0.21    0.24
+1JI7C        89  XRAY        1.450    0.18    0.20
+1JIGB       146  XRAY        1.460    0.19    0.21
+1JKEB       145  XRAY        1.550    0.21    0.23
+1JKXB       212  XRAY        1.600    0.22    0.24
+1JL0A       334  XRAY        1.500    0.22    0.24
+1JL1A       155  XRAY        1.300    0.22    0.26
+1JM1A       204  XRAY        1.110    0.11    0.12
+1JNDA       420  XRAY        1.300    0.18    0.20
+1JNIA       123  XRAY        1.250    0.16    0.21
+1JNRA       643  XRAY        1.600    0.18    0.20
+1JNRB       150  XRAY        1.600    0.18    0.20
+1JO0B        98  XRAY        1.370    0.14    0.22
+1JOVA       270  XRAY        1.570    0.21    0.26
+1JR8A       117  XRAY        1.500    0.21    0.23
+1JTVA       327  XRAY        1.540    0.20    0.21
+1JU2A       536  XRAY        1.470    0.16    0.19
+1JUHD       350  XRAY        1.600    0.16    0.19
+1JX6A       342  XRAY        1.500    0.22    0.24
+1JY2Q        53  XRAY        1.400    0.22    0.24
+1JY2R        56  XRAY        1.400    0.22    0.24
+1JY2S        48  XRAY        1.400    0.22    0.24
+1JYKA       254  XRAY        1.500    0.22    0.24
+1JZ8C      1023  XRAY        1.500    0.17    0.21
+1K38A       254  XRAY        1.500    0.20    0.21
+1K3IA       656  XRAY        1.400    0.18    0.19
+1K3XA       262  XRAY        1.250    0.15    0.18
+1K4IA       233  XRAY        0.980    0.18    0.20
+1K4NA       192  XRAY        1.600    0.21    0.22
+1K5CA       335  XRAY        0.960    0.11    0.14
+1K5NA       276  XRAY        1.090    0.12    0.15
+1K5NB       100  XRAY        1.090    0.12    0.15
+1K7CA       233  XRAY        1.120    0.11    0.13
+1K7JA       206  XRAY        1.400    0.20    0.20
+1K7KA       221  XRAY        1.500    0.21    0.24
+1K8UA        90  XRAY        1.150    0.19    0.22
+1KA1A       357  XRAY        1.300    0.13    0.17
+1KAFC       108  XRAY        1.600    0.23    0.26
+1KB0A       677  XRAY        1.440    0.16    0.19
+1KDGA       546  XRAY        1.500    0.14    0.17
+1KGDA       180  XRAY        1.314    0.19    0.21
+1KGSA       225  XRAY        1.500    0.18    0.21
+1KJQA       391  XRAY        1.050    0.19    0.21
+1KKOB       413  XRAY        1.330    0.16    0.19
+1KMTB       141  XRAY        1.300    0.16    0.20
+1KMVA       186  XRAY        1.050    0.13    0.18
+1KNGA       156  XRAY        1.140    0.12    0.15
+1KNMA       130  XRAY        1.200    0.13    0.17
+1KOEA       172  XRAY        1.500    0.19    0.22
+1KQ1T        77  XRAY        1.550    0.24    0.26
+1KQ3A       376  XRAY        1.500    0.17    0.19
+1KQ6A       141  XRAY        1.180    0.13    0.18
+1KQFA      1015  XRAY        1.600    0.18    0.20
+1KQFB       294  XRAY        1.600    0.18    0.20
+1KQFC       217  XRAY        1.600    0.18    0.20
+1KQPB       271  XRAY        1.030    0.11    0.14
+1KR4A       125  XRAY        1.400    0.22    0.24
+1KRHB       338  XRAY        1.500    0.24    0.25
+1KT6A       183  XRAY        1.100    0.19    0.22
+1KTHA        58  XRAY        0.950    0.14    0.17
+1KW3B       292  XRAY        1.450    0.16    0.18
+1KWFA       363  XRAY        0.940    0.09    0.11
+1KWGA       645  XRAY        1.600    0.17    0.18
+1KYFA       247  XRAY        1.220    0.15    0.21
+1L3KA       196  XRAY        1.100    0.16    0.19
+1L6RB       227  XRAY        1.400    0.17    0.20
+1L7AA       318  XRAY        1.500    0.19    0.19
+1L7MA       211  XRAY        1.480    0.20    0.23
+1L9LA        74  XRAY        0.920    0.14    0.19
+1L9XC       315  XRAY        1.600    0.18    0.20
+1LAMA       484  XRAY        1.600    0.17    0.20
+1LC0A       294  XRAY        1.200    0.22    0.23
+1LC5A       364  XRAY        1.460    0.19    0.21
+1LF7A       182  XRAY        1.200    0.22    0.23
+1LKKA       105  XRAY        1.000    0.13    1.00
+1LLFA       534  XRAY        1.400    0.14    0.17
+1LMIA       131  XRAY        1.500    0.20    0.25
+1LNIB        96  XRAY        1.000    0.12    1.00
+1LO7A       141  XRAY        1.500    0.16    0.20
+1LQ9A       112  XRAY        1.300    0.14    0.17
+1LQTB       456  XRAY        1.050    0.13    0.15
+1LQVA       193  XRAY        1.600    0.19    0.22
+1LS1A       295  XRAY        1.100    0.14    0.17
+1LU0A        29  XRAY        1.030    0.12    0.14
+1LU4A       136  XRAY        1.120    0.15    0.22
+1LUCA       355  XRAY        1.500    0.18    1.00
+1LUCB       324  XRAY        1.500    0.18    1.00
+1LV7A       257  XRAY        1.500    0.15    0.18
+1LWBA       122  XRAY        1.050    0.10    0.14
+1LYQB       104  XRAY        1.500    0.22    0.26
+1LZLA       323  XRAY        1.300    0.15    0.21
+1M0KA       262  XRAY        1.430    0.13    0.18
+1M15A       357  XRAY        1.200    0.12    0.14
+1M1FA       110  XRAY        1.400    0.16    0.18
+1M1QA        91  XRAY        0.970    0.14    0.15
+1M22A       503  XRAY        1.400    0.18    0.20
+1M2DA       110  XRAY        1.050    0.14    0.16
+1M2XC       223  XRAY        1.500    0.19    0.21
+1M40A       263  XRAY        0.850    0.09    0.11
+1M4IB       181  XRAY        1.500    0.18    0.20
+1M4JB       142  XRAY        1.600    0.23    0.25
+1M4LA       307  XRAY        1.250    0.10    0.14
+1M55A       197  XRAY        1.400    0.18    0.20
+1M65A       245  XRAY        1.570    0.18    0.21
+1M70D       190  XRAY        1.250    0.16    0.20
+1M9ZA       111  XRAY        1.050    0.16    0.17
+1MB3A       124  XRAY        1.410    0.21    0.21
+1MBAA       147  XRAY        1.600    0.19    1.00
+1MC2A       122  XRAY        0.850    0.10    0.12
+1MF7A       194  XRAY        1.250    0.17    0.22
+1MG7A       417  XRAY        1.550    0.20    0.21
+1MJ4A        82  XRAY        1.200    0.12    0.14
+1MJ5A       302  XRAY        0.950    0.11    0.14
+1MJNA       179  XRAY        1.300    0.16    0.20
+1MK0A        97  XRAY        1.600    0.20    0.22
+1MKKB        96  XRAY        1.320    0.17    0.20
+1MKZB       172  XRAY        1.600    0.18    0.22
+1MN8C       100  XRAY        1.000    0.13    0.17
+1MNNA       340  XRAY        1.400    0.20    0.21
+1MOQA       368  XRAY        1.570    0.18    1.00
+1MS9A       648  XRAY        1.580    0.17    0.20
+1MTPA       323  XRAY        1.500    0.20    0.22
+1MTPB        43  XRAY        1.500    0.20    0.22
+1MUNA       225  XRAY        1.200    0.12    0.17
+1MUWA       386  XRAY        0.860    0.13    0.14
+1MV8D       436  XRAY        1.550    0.17    0.19
+1MWQB       101  XRAY        0.990    0.11    0.13
+1MXGA       435  XRAY        1.600    0.16    0.17
+1MXRA       375  XRAY        1.420    0.16    0.18
+1MY7B       114  XRAY        1.490    0.25    0.25
+1N08B       163  XRAY        1.600    0.22    0.25
+1N13E        52  XRAY        1.400    0.20    0.21
+1N13L       113  XRAY        1.400    0.20    0.21
+1N3LA       372  XRAY        1.180    0.18    0.22
+1N40A       396  XRAY        1.060    0.13    0.15
+1N45B       233  XRAY        1.500    0.15    0.22
+1N57A       291  XRAY        1.600    0.20    0.24
+1N62A       166  XRAY        1.090    0.14    0.17
+1N62C       288  XRAY        1.090    0.14    0.17
+1N62E       809  XRAY        1.090    0.14    0.17
+1N7OA       721  XRAY        1.500    0.18    0.21
+1N7SA        63  XRAY        1.450    0.20    0.22
+1N7SB        68  XRAY        1.450    0.20    0.22
+1N7SC        79  XRAY        1.450    0.20    0.22
+1N7SD        66  XRAY        1.450    0.20    0.22
+1N8VB       112  XRAY        1.390    0.18    0.20
+1NA3B        91  XRAY        1.550    0.18    0.21
+1NAZA       154  XRAY        1.040    0.13    0.15
+1NBUA       119  XRAY        1.600    0.18    0.26
+1NC5A       373  XRAY        1.600    0.19    0.21
+1NC7D       138  XRAY        1.550    0.17    0.19
+1NFPA       228  XRAY        1.600    0.17    1.00
+1NG6A       148  XRAY        1.400    0.21    0.25
+1NKDA        65  XRAY        1.090    0.10    0.13
+1NKGA       508  XRAY        1.500    0.17    0.19
+1NKIA       135  XRAY        0.950    0.15    0.18
+1NLQB       108  XRAY        1.500    0.24    0.25
+1NN5A       215  XRAY        1.500    0.19    0.21
+1NNFA       309  XRAY        1.100    0.16    0.18
+1NNLB       225  XRAY        1.530    0.22    0.23
+1NNXA       109  XRAY        1.450    0.20    0.25
+1NOGA       177  XRAY        1.550    0.20    0.21
+1NOXA       205  XRAY        1.590    0.19    0.20
+1NQ7A       244  XRAY        1.500    0.20    0.22
+1NTHA       458  XRAY        1.550    0.18    0.19
+1NTVA       152  XRAY        1.500    0.21    0.24
+1NU0A       138  XRAY        1.600    0.19    0.23
+1NUYA       337  XRAY        1.300    0.16    0.21
+1NWWB       149  XRAY        1.200    0.15    0.17
+1NWZA       125  XRAY        0.820    0.12    0.14
+1NXCA       478  XRAY        1.510    0.17    0.19
+1NXMA       197  XRAY        1.300    0.14    0.17
+1NYCA       111  XRAY        1.400    0.20    0.23
+1NYKB       165  XRAY        1.310    0.16    0.21
+1NZ0C       118  XRAY        1.200    0.16    0.22
+1NZIA       159  XRAY        1.500    0.22    0.23
+1NZJA       298  XRAY        1.500    0.15    0.17
+1O04E       500  XRAY        1.420    0.15    0.17
+1O06A        20  XRAY        1.450    0.19    0.22
+1O1ZA       234  XRAY        1.600    0.14    0.18
+1O2DA       371  XRAY        1.300    0.14    0.17
+1O4YA       288  XRAY        1.480    0.15    0.18
+1O6VA       466  XRAY        1.500    0.15    0.18
+1O7IA       119  XRAY        1.200    0.19    0.22
+1O7JC       327  XRAY        1.000    0.11    0.13
+1O8XA       146  XRAY        1.300    0.18    0.21
+1O97C       264  XRAY        1.600    0.20    0.23
+1O97D       320  XRAY        1.600    0.20    0.23
+1O98A       511  XRAY        1.400    0.19    0.20
+1O9GA       250  XRAY        1.500    0.17    0.20
+1O9ID       266  XRAY        1.330    0.12    0.14
+1OAAA       259  XRAY        1.250    0.20    0.22
+1OAIA        59  XRAY        1.000    0.15    0.16
+1OC7A       364  XRAY        1.110    0.11    0.12
+1OCYA       198  XRAY        1.500    0.14    0.15
+1OD3A       168  XRAY        1.000    0.13    0.15
+1ODMA       331  XRAY        1.150    0.14    0.15
+1ODZB       386  XRAY        1.400    0.15    0.18
+1OEWA       329  XRAY        0.900    0.12    0.15
+1OF8B       370  XRAY        1.500    0.13    0.17
+1OFWB       296  XRAY        1.500    0.17    0.21
+1OH4A       179  XRAY        1.350    0.14    0.17
+1OHLA       342  XRAY        1.600    0.19    0.24
+1OHPD       125  XRAY        1.530    0.20    0.23
+1OI0D       124  XRAY        1.500    0.21    0.24
+1OI6B       205  XRAY        1.400    0.13    0.17
+1OI7A       288  XRAY        1.230    0.18    0.20
+1OK0A        74  XRAY        0.930    0.10    0.13
+1OKIA       210  XRAY        1.400    0.17    0.20
+1OLRA       224  XRAY        1.200    0.14    0.15
+1OOHA       126  XRAY        1.250    0.16    0.18
+1OQJA        97  XRAY        1.550    0.23    0.21
+1OQVA       192  XRAY        1.300    0.12    0.17
+1ORRA       347  XRAY        1.500    0.18    0.23
+1OU8B       111  XRAY        1.600    0.21    0.23
+1OUWB       152  XRAY        1.370    0.15    0.18
+1OW4B       129  XRAY        1.600    0.18    0.21
+1OX0A       430  XRAY        1.300    0.14    0.16
+1OXXK       353  XRAY        1.450    0.17    0.21
+1OYGA       447  XRAY        1.500    0.17    0.17
+1OZ2A       331  XRAY        1.550    0.19    0.22
+1OZNA       285  XRAY        1.520    0.17    0.20
+1P0HA       318  XRAY        1.600    0.20    0.24
+1P0ZC       131  XRAY        1.600    0.17    0.19
+1P1MA       406  XRAY        1.500    0.20    0.21
+1P1XB       260  XRAY        0.990    0.14    0.17
+1P3CA       215  XRAY        1.500    0.16    0.18
+1P4CA       380  XRAY        1.350    0.18    0.19
+1P4OA       322  XRAY        1.500    0.21    0.24
+1P5DX       463  XRAY        1.600    0.16    0.18
+1P5ZB       263  XRAY        1.600    0.17    0.20
+1P6OB       161  XRAY        1.140    0.11    0.15
+1P9GA        41  XRAY        0.840    0.07    0.08
+1P9HA       226  XRAY        1.550    0.20    0.20
+1P9IA        31  XRAY        1.170    0.18    0.22
+1PB7A       292  XRAY        1.350    0.19    0.22
+1PBJA       125  XRAY        1.400    0.19    0.20
+1PE9A       361  XRAY        1.600    0.20    0.21
+1PKHB       204  XRAY        1.420    0.19    0.20
+1PKOA       139  XRAY        1.450    0.19    0.22
+1PMHX       185  XRAY        1.060    0.20    0.17
+1PO5A       476  XRAY        1.600    0.22    0.29
+1PP0D       199  XRAY        1.420    0.23    0.26
+1PSRB       100  XRAY        1.050    0.11    0.14
+1PVMB       184  XRAY        1.500    0.19    0.23
+1PWAA       162  XRAY        1.300    0.18    0.20
+1PZ4A       116  XRAY        1.350    0.19    0.23
+1PZ7B       204  XRAY        1.421    0.22    0.24
+1Q0RA       298  XRAY        1.450    0.17    0.19
+1Q1FA       151  XRAY        1.500    0.22    0.21
+1Q35A       320  XRAY        1.200    0.17    0.20
+1Q4UA       151  XRAY        1.600    0.17    0.21
+1Q5YC        85  XRAY        1.400    0.16    0.22
+1Q6OB       216  XRAY        1.202    0.14    0.16
+1Q6ZA       528  XRAY        1.000    0.12    0.14
+1Q7EA       428  XRAY        1.600    0.16    0.19
+1Q7LB        88  XRAY        1.400    0.13    0.17
+1Q7LC       198  XRAY        1.400    0.13    0.17
+1QAUA       112  XRAY        1.250    0.24    0.26
+1QDDA       144  XRAY        1.300    0.13    0.16
+1QE3A       489  XRAY        1.500    0.22    0.24
+1QFTB       175  XRAY        1.250    0.18    1.00
+1QG8A       255  XRAY        1.500    0.16    0.21
+1QGVA       142  XRAY        1.400    0.22    0.27
+1QH5A       260  XRAY        1.450    0.20    0.23
+1QHQA       140  XRAY        1.550    0.20    0.23
+1QKSA       567  XRAY        1.280    0.18    0.20
+1QLWA       328  XRAY        1.090    0.14    0.16
+1QNRA       344  XRAY        1.400    0.12    0.17
+1QOWD        20  XRAY        1.060    0.14    1.00
+1QQ5A       253  XRAY        1.520    0.20    0.23
+1QQFA       277  XRAY        1.450    0.16    0.22
+1QS1A       462  XRAY        1.500    0.23    0.27
+1QTNB        95  XRAY        1.200    0.17    0.19
+1QTWA       285  XRAY        1.020    0.12    0.15
+1QU9A       128  XRAY        1.200    0.16    1.00
+1QV1A       195  XRAY        1.100    0.14    0.17
+1QV9A       283  XRAY        1.540    0.20    0.23
+1QVEA       126  XRAY        1.540    0.14    0.18
+1QW2A       102  XRAY        1.500    0.20    0.22
+1QW9B       502  XRAY        1.200    0.17    0.18
+1QWGA       251  XRAY        1.600    0.17    0.19
+1QWKA       317  XRAY        1.600    0.20    0.22
+1QWOA       442  XRAY        1.500    0.16    0.19
+1QXYA       252  XRAY        1.040    0.14    0.17
+1R0MD       375  XRAY        1.300    0.15    0.17
+1R26A       125  XRAY        1.400    0.17    0.20
+1R29A       127  XRAY        1.300    0.13    0.17
+1R2QA       170  XRAY        1.050    0.12    0.17
+1R45A       204  XRAY        1.570    0.17    0.20
+1R55A       214  XRAY        1.580    0.21    0.22
+1R5LA       262  XRAY        1.500    0.19    0.21
+1R5MA       425  XRAY        1.550    0.19    0.20
+1R62A       160  XRAY        1.600    0.24    0.25
+1R6DA       337  XRAY        1.350    0.18    0.22
+1R6JA        82  XRAY        0.730    0.07    0.09
+1R6XA       395  XRAY        1.400    0.20    0.22
+1R7JA        95  XRAY        1.470    0.23    0.24
+1R8SE       203  XRAY        1.460    0.16    0.17
+1R9LA       309  XRAY        1.590    0.15    0.19
+1RA0A       430  XRAY        1.120    0.17    0.17
+1RCQA       357  XRAY        1.450    0.15    0.21
+1RDQI        20  XRAY        1.260    0.13    0.16
+1RFYB       102  XRAY        1.600    0.20    0.22
+1RG8B       146  XRAY        1.100    0.15    0.17
+1RH9A       373  XRAY        1.500    0.18    0.20
+1RJUV        36  XRAY        1.440    0.15    0.17
+1RK6A       496  XRAY        1.430    0.19    0.20
+1RKIA       102  XRAY        1.600    0.19    0.23
+1RKQB       282  XRAY        1.400    0.18    0.21
+1RKUB       206  XRAY        1.470    0.19    0.22
+1RL0A       255  XRAY        1.400    0.18    0.21
+1RM6B       324  XRAY        1.600    0.15    0.17
+1RM6D       769  XRAY        1.600    0.15    0.17
+1ROCA       155  XRAY        1.500    0.20    0.25
+1RP0A       284  XRAY        1.600    0.18    0.17
+1RTQA       299  XRAY        0.950    0.14    0.15
+1RTTA       193  XRAY        1.280    0.21    0.23
+1RU4A       400  XRAY        1.600    0.18    0.19
+1RUTX       188  XRAY        1.300    0.16    0.19
+1RV9A       259  XRAY        1.530    0.20    0.21
+1RW1A       114  XRAY        1.020    0.13    0.14
+1RWHA       757  XRAY        1.250    0.11    0.14
+1RY6A       360  XRAY        1.600    0.21    0.23
+1RYLB       167  XRAY        1.600    0.22    0.26
+1RYOA       327  XRAY        1.200    0.22    0.23
+1RYQA        69  XRAY        1.380    0.19    0.20
+1S1DA       331  XRAY        1.600    0.17    0.19
+1S1FA       406  XRAY        1.500    0.20    0.22
+1S29A        92  XRAY        1.600    0.23    0.25
+1S2OA       244  XRAY        1.400    0.18    0.20
+1S3CA       141  XRAY        1.250    0.15    0.24
+1S8NA       205  XRAY        1.482    0.20    0.23
+1S9RA       410  XRAY        1.600    0.17    0.20
+1S9UA       207  XRAY        1.380    0.16    0.18
+1SAUA       115  XRAY        1.120    0.11    0.14
+1SBYB       254  XRAY        1.100    0.13    0.17
+1SENA       164  XRAY        1.199    0.16    0.18
+1SFSA       240  XRAY        1.070    0.10    0.14
+1SFXA       109  XRAY        1.550    0.15    0.18
+1SG4C       260  XRAY        1.300    0.16    0.20
+1SH8A       154  XRAY        1.500    0.20    0.22
+1SHUX       182  XRAY        1.500    0.19    0.21
+1SJ1A        66  XRAY        1.500    0.20    0.22
+1SJWA       144  XRAY        1.350    0.14    0.18
+1SJYA       159  XRAY        1.390    0.23    0.24
+1SK7A       198  XRAY        1.600    0.23    0.27
+1SMOA       119  XRAY        1.470    0.19    0.21
+1SN9B        23  XRAY        1.200    0.19    0.28
+1SNNB       227  XRAY        1.550    0.21    0.23
+1SO7A       382  XRAY        1.490    0.20    0.21
+1SQSB       242  XRAY        1.500    0.20    0.22
+1SVFA        64  XRAY        1.400    0.18    0.20
+1SVFB        38  XRAY        1.400    0.18    0.20
+1SVSA       353  XRAY        1.500    0.20    0.21
+1SX5B       244  XRAY        1.500    0.21    0.25
+1SXRB       183  XRAY        1.560    0.18    0.21
+1SZ7A       200  XRAY        1.550    0.21    0.24
+1SZHB       161  XRAY        1.500    0.21    0.23
+1T1GA       364  XRAY        1.180    0.20    0.22
+1T1UA       639  XRAY        1.550    0.17    0.23
+1T1VB        93  XRAY        1.600    0.20    0.24
+1T3YA       141  XRAY        1.150    0.12    0.16
+1T61E       229  XRAY        1.500    0.20    0.20
+1T6CA       315  XRAY        1.530    0.16    0.22
+1T6FA        37  XRAY        1.470    0.18    0.22
+1T6UE       117  XRAY        1.300    0.16    0.20
+1T7MB        20  XRAY        1.600    0.20    0.21
+1T8KA        77  XRAY        1.100    0.13    0.15
+1T92A       116  XRAY        1.600    0.17    0.20
+1T9HA       307  XRAY        1.600    0.15    0.18
+1T9IB       163  XRAY        1.600    0.19    0.21
+1TBFA       347  XRAY        1.300    0.16    0.18
+1TC1B       220  XRAY        1.410    0.19    0.23
+1TG0A        68  XRAY        0.970    0.15    0.19
+1TGXA        60  XRAY        1.550    0.17    1.00
+1THXA       115  XRAY        1.600    0.17    0.23
+1TJOC       182  XRAY        1.600    0.17    0.21
+1TJXA       159  XRAY        1.040    0.17    0.18
+1TKEA       224  XRAY        1.460    0.18    0.21
+1TKJA       284  XRAY        1.150    0.12    0.15
+1TO2I        64  XRAY        1.300    0.17    0.18
+1TP6A       128  XRAY        1.500    0.20    0.23
+1TQGA       105  XRAY        0.980    0.18    0.21
+1TT8A       164  XRAY        1.000    0.12    0.15
+1TU9A       134  XRAY        1.200    0.16    0.19
+1TUAA       191  XRAY        1.500    0.21    0.23
+1TUKA        67  XRAY        1.120    0.14    0.16
+1TVGA       153  XRAY        1.600    0.21    0.24
+1TZPB       255  XRAY        1.400    0.18    0.21
+1TZVA       142  XRAY        1.350    0.20    0.21
+1U07B        90  XRAY        1.130    0.14    0.18
+1U0KB       288  XRAY        1.500    0.17    0.19
+1U2HA        99  XRAY        0.960    0.16    0.17
+1U53A       196  XRAY        1.560    0.18    0.22
+1U69C       163  XRAY        1.600    0.17    0.19
+1U7GA       385  XRAY        1.400    0.14    0.17
+1U7IA       136  XRAY        1.400    0.15    0.18
+1U84A        90  XRAY        1.600    0.21    0.26
+1U8VC       490  XRAY        1.600    0.17    0.21
+1U9CA       224  XRAY        1.350    0.17    0.20
+1UAIA       224  XRAY        1.200    0.17    0.19
+1UASA       362  XRAY        1.500    0.16    0.18
+1UCDA       190  XRAY        1.300    0.20    0.20
+1UCRA        78  XRAY        1.200    0.14    0.18
+1UCSA        64  XRAY        0.620    0.14    0.15
+1UF5A       303  XRAY        1.600    0.18    0.20
+1UFOE       238  XRAY        1.600    0.17    0.21
+1UFYA       122  XRAY        0.960    0.11    0.13
+1UG6A       431  XRAY        0.990    0.12    0.13
+1UGIF        84  XRAY        1.550    0.22    0.29
+1UGXB        20  XRAY        1.600    0.19    0.20
+1UI0A       205  XRAY        1.500    0.18    0.20
+1UJPA       271  XRAY        1.340    0.20    0.22
+1UK8A       282  XRAY        1.600    0.18    0.19
+1UKFA       188  XRAY        1.350    0.20    0.22
+1UKKB       142  XRAY        1.600    0.18    0.23
+1UNQA       125  XRAY        0.980    0.15    0.18
+1UOYA        64  XRAY        1.500    0.16    0.18
+1UP9A       107  XRAY        1.350    0.15    0.20
+1UPQA       123  XRAY        1.480    0.18    0.24
+1UR1A       378  XRAY        1.430    0.15    0.19
+1URSA       402  XRAY        1.450    0.21    0.23
+1US0A       316  XRAY        0.660    0.09    0.10
+1US5A       314  XRAY        1.500    0.18    0.20
+1USCB       178  XRAY        1.240    0.20    0.22
+1USEA        45  XRAY        1.300    0.17    0.20
+1USMA        80  XRAY        1.200    0.21    0.23
+1UTGA        70  XRAY        1.340    0.23    1.00
+1UTIA        58  XRAY        1.500    0.21    0.22
+1UUQA       440  XRAY        1.500    0.12    0.15
+1UUYA       167  XRAY        1.450    0.16    0.18
+1UWCB       261  XRAY        1.080    0.12    0.14
+1UWKB       557  XRAY        1.190    0.14    0.18
+1UZ3B       102  XRAY        1.100    0.14    0.20
+1UZKA       162  XRAY        1.350    0.20    0.26
+1V05A        96  XRAY        1.430    0.19    0.20
+1V0WA       506  XRAY        1.350    0.16    0.19
+1V2XA       194  XRAY        1.500    0.23    0.28
+1V30A       124  XRAY        1.400    0.22    0.23
+1V37B       177  XRAY        1.400    0.21    0.22
+1V3WA       173  XRAY        1.500    0.18    0.20
+1V4PC       157  XRAY        1.450    0.21    0.23
+1V5DA       386  XRAY        1.500    0.17    0.19
+1V5IB        76  XRAY        1.500    0.18    0.19
+1V5VB       401  XRAY        1.500    0.20    0.21
+1V6PB        62  XRAY        0.870    0.12    0.15
+1V70A       105  XRAY        1.300    0.20    0.20
+1V7RA       186  XRAY        1.400    0.20    0.22
+1V7WA       807  XRAY        1.600    0.16    0.18
+1V7ZA       260  XRAY        1.600    0.18    0.20
+1V8CC       168  XRAY        1.600    0.22    0.25
+1V8HB       107  XRAY        1.200    0.21    0.21
+1V9YB       167  XRAY        1.320    0.16    0.22
+1VBWA        68  XRAY        0.930    0.11    0.14
+1VCCA        77  XRAY        1.600    0.22    0.29
+1VD6A       224  XRAY        1.300    0.22    0.23
+1VDWA       254  XRAY        1.300    0.21    0.22
+1VE4A       206  XRAY        1.200    0.23    0.25
+1VEFB       395  XRAY        1.350    0.20    0.21
+1VFYA        73  XRAY        1.150    0.17    0.18
+1VH5A       148  XRAY        1.340    0.19    0.23
+1VHNA       318  XRAY        1.590    0.19    0.23
+1VHTB       218  XRAY        1.590    0.21    0.25
+1VHUA       211  XRAY        1.340    0.15    0.18
+1VIAB       175  XRAY        1.570    0.20    0.23
+1VIMB       200  XRAY        1.360    0.17    0.20
+1VIOA       243  XRAY        1.590    0.20    0.22
+1VJKA        98  XRAY        1.510    0.21    0.22
+1VJUB       309  XRAY        1.401    0.15    0.18
+1VK1A       242  XRAY        1.200    0.17    0.17
+1VKEE       133  XRAY        1.560    0.16    0.18
+1VKIA       181  XRAY        1.600    0.15    0.18
+1VKKA       154  XRAY        1.350    0.16    0.19
+1VL1A       232  XRAY        1.550    0.17    0.20
+1VL7A       157  XRAY        1.500    0.16    0.18
+1VLYA       338  XRAY        1.300    0.14    0.17
+1VMGA        95  XRAY        1.460    0.14    0.15
+1VMHA       144  XRAY        1.310    0.16    0.18
+1VMJA       151  XRAY        1.520    0.14    0.16
+1VP8A       201  XRAY        1.300    0.15    0.17
+1VQSB       116  XRAY        1.500    0.15    0.18
+1VR7B       142  XRAY        1.200    0.12    0.15
+1VRMA       325  XRAY        1.580    0.16    0.19
+1VRZA        23  XRAY        1.050    0.13    1.00
+1VYIA       112  XRAY        1.500    0.17    0.20
+1VYKA       149  XRAY        1.490    0.16    0.20
+1VYRA       364  XRAY        0.900    0.12    0.14
+1VZIB       126  XRAY        1.150    0.14    1.00
+1VZMC        45  XRAY        1.400    0.19    0.23
+1W0HA       204  XRAY        1.590    0.17    0.20
+1W0NA       131  XRAY        0.800    0.13    0.14
+1W0PA       781  XRAY        1.600    0.21    1.00
+1W1HC       151  XRAY        1.450    0.16    0.21
+1W23A       360  XRAY        1.080    0.12    0.14
+1W2LA        99  XRAY        1.300    0.14    0.17
+1W4SA       174  XRAY        1.550    0.20    0.23
+1W53A        84  XRAY        1.600    0.20    0.23
+1W5QB       337  XRAY        1.400    0.15    0.17
+1W5RB       278  XRAY        1.450    0.20    0.22
+1W66A       232  XRAY        1.080    0.12    0.15
+1W6SC       599  XRAY        1.200    0.15    0.18
+1W6SD        74  XRAY        1.200    0.15    0.18
+1W70A        60  XRAY        1.460    0.18    0.21
+1W7CA       747  XRAY        1.230    0.11    0.15
+1W9SB       142  XRAY        1.590    0.12    0.17
+1WB4B       297  XRAY        1.400    0.11    0.13
+1WBHC       214  XRAY        1.550    0.17    0.22
+1WCUA       153  XRAY        1.500    0.14    0.16
+1WCV1       257  XRAY        1.600    0.23    0.25
+1WCWA       261  XRAY        1.300    0.19    0.22
+1WDDE       477  XRAY        1.350    0.16    0.18
+1WDDS       128  XRAY        1.350    0.16    0.18
+1WERA       334  XRAY        1.600    0.22    0.27
+1WFBA        38  XRAY        1.500    0.18    0.20
+1WHIA       122  XRAY        1.500    0.19    0.26
+1WHZA        70  XRAY        1.520    0.15    0.21
+1WKQB       164  XRAY        1.170    0.16    0.18
+1WKRA       340  XRAY        1.300    0.15    0.17
+1WL8A       189  XRAY        1.450    0.16    0.17
+1WLUA       136  XRAY        1.450    0.19    0.19
+1WLYA       333  XRAY        1.300    0.21    0.23
+1WLZB       105  XRAY        1.600    0.20    0.22
+1WM3A        72  XRAY        1.200    0.12    0.18
+1WMAA       276  XRAY        1.240    0.13    0.17
+1WMDA       434  XRAY        1.300    0.13    0.17
+1WMHA        89  XRAY        1.500    0.22    0.22
+1WMHB        86  XRAY        1.500    0.22    0.22
+1WMSA       177  XRAY        1.250    0.14    0.20
+1WMWC       330  XRAY        1.550    0.17    0.20
+1WN2A       121  XRAY        1.200    0.19    0.21
+1WNAA       131  XRAY        1.580    0.21    0.23
+1WNYB       186  XRAY        1.600    0.18    0.21
+1WPAA       114  XRAY        1.500    0.24    0.26
+1WPNB       188  XRAY        1.300    0.14    0.17
+1WPUB       147  XRAY        1.480    0.21    0.24
+1WQJB        80  XRAY        1.600    0.19    0.26
+1WR8B       231  XRAY        1.600    0.20    0.21
+1WS8B       109  XRAY        1.600    0.19    0.21
+1WT6D        81  XRAY        1.600    0.23    0.27
+1WTJB       343  XRAY        1.550    0.19    0.21
+1WU4A       396  XRAY        1.350    0.18    0.20
+1WU9A        80  XRAY        1.540    0.18    0.22
+1WVFA       520  XRAY        1.300    0.15    0.17
+1WVHA       134  XRAY        1.500    0.22    0.24
+1WVQB       167  XRAY        1.450    0.21    0.22
+1WWIA       148  XRAY        1.580    0.19    0.20
+1WY3A        35  XRAY        0.950    0.14    0.17
+1WZAA       488  XRAY        1.600    0.19    0.21
+1WZDB       215  XRAY        1.350    0.18    0.20
+1X0TA       120  XRAY        1.600    0.22    0.24
+1X2IB        75  XRAY        1.450    0.22    0.24
+1X46A       150  XRAY        1.500    0.19    0.23
+1X54A       434  XRAY        1.450    0.17    0.19
+1X6IB        91  XRAY        1.200    0.17    0.21
+1X6OA       174  XRAY        1.600    0.18    0.21
+1X6ZA       123  XRAY        0.780    0.14    0.15
+1X7DA       350  XRAY        1.600    0.17    0.19
+1X8QA       184  XRAY        0.850    0.10    0.13
+1X91A       153  XRAY        1.500    0.18    0.21
+1X9DA       538  XRAY        1.410    0.15    0.16
+1X9IB       302  XRAY        1.160    0.15    0.16
+1XBIA       120  XRAY        1.450    0.18    0.19
+1XD3A       230  XRAY        1.450    0.18    0.19
+1XDNA       277  XRAY        1.200    0.13    0.15
+1XDZA       240  XRAY        1.600    0.20    0.22
+1XEOA       168  XRAY        1.300    0.20    0.21
+1XG0A        76  XRAY        0.970    0.11    0.13
+1XG0D       177  XRAY        0.970    0.11    0.13
+1XG4B       295  XRAY        1.600    0.18    0.20
+1XG5D       279  XRAY        1.530    0.16    0.21
+1XGKA       352  XRAY        1.400    0.19    0.24
+1XJUB       163  XRAY        1.070    0.13    0.15
+1XK7A       408  XRAY        1.600    0.19    0.21
+1XKNA       355  XRAY        1.600    0.18    0.20
+1XLQA       106  XRAY        1.450    0.20    0.20
+1XMKA        79  XRAY        0.970    0.14    0.18
+1XMTA       103  XRAY        1.150    0.15    0.17
+1XOCA       520  XRAY        1.550    0.18    0.21
+1XODA       118  XRAY        1.150    0.15    0.18
+1XPHA       150  XRAY        1.410    0.18    0.19
+1XPPA       115  XRAY        1.600    0.22    0.26
+1XQOA       256  XRAY        1.030    0.16    0.18
+1XRKB       124  XRAY        1.500    0.17    0.19
+1XS0C       136  XRAY        1.580    0.23    0.26
+1XSZA       356  XRAY        1.410    0.20    0.23
+1XT5A       135  XRAY        1.150    0.13    0.14
+1XTAA       221  XRAY        1.580    0.24    0.25
+1XTEA       154  XRAY        1.600    0.19    0.22
+1XU9D       286  XRAY        1.550    0.16    0.18
+1XUBA       298  XRAY        1.300    0.14    0.16
+1XVXA       312  XRAY        1.530    0.16    0.19
+1Y07B       128  XRAY        1.550    0.19    0.23
+1Y0HB       102  XRAY        1.600    0.18    0.22
+1Y0PA       571  XRAY        1.500    0.15    0.18
+1Y0UB        96  XRAY        1.600    0.17    0.20
+1Y0YA       353  XRAY        1.600    0.21    0.22
+1Y1PA       342  XRAY        1.600    0.22    0.24
+1Y2KB       349  XRAY        1.360    0.17    0.19
+1Y2MD       716  XRAY        1.600    0.16    0.19
+1Y43A        39  XRAY        1.400    0.20    0.23
+1Y43B       173  XRAY        1.400    0.20    0.23
+1Y4WA       518  XRAY        1.550    0.17    0.20
+1Y55Y       126  XRAY        1.000    0.17    0.18
+1Y5HA       133  XRAY        1.500    0.22    0.23
+1Y6XA        93  XRAY        1.250    0.18    0.21
+1Y7LA       316  XRAY        1.550    0.20    0.21
+1Y8AA       332  XRAY        1.400    0.18    0.22
+1Y93A       159  XRAY        1.030    0.16    0.17
+1Y9LA       115  XRAY        1.500    0.22    0.25
+1Y9ZB       441  XRAY        1.400    0.20    0.21
+1YB3A       175  XRAY        1.600    0.20    0.23
+1YBKB        52  XRAY        1.450    0.21    0.23
+1YC5A       246  XRAY        1.400    0.19    0.20
+1YD0A        96  XRAY        1.500    0.17    0.18
+1YD9D       193  XRAY        1.600    0.23    0.26
+1YE8A       178  XRAY        1.400    0.17    0.21
+1YFQA       342  XRAY        1.100    0.15    0.19
+1YG9A       330  XRAY        1.300    0.18    0.21
+1YLXA       103  XRAY        1.600    0.23    0.25
+1YMTA       246  XRAY        1.200    0.20    0.21
+1YN3A        98  XRAY        1.350    0.22    0.23
+1YN9A       169  XRAY        1.500    0.17    0.19
+1YNPB       317  XRAY        1.250    0.17    0.21
+1YPQB       135  XRAY        1.400    0.18    0.19
+1YPYA       184  XRAY        1.510    0.24    0.25
+1YQSA       349  XRAY        1.050    0.11    0.14
+1YS1X       320  XRAY        1.100    0.15    0.16
+1YS7A       233  XRAY        1.580    0.19    0.23
+1YT3A       375  XRAY        1.600    0.20    0.22
+1YU0A       381  XRAY        1.560    0.13    0.14
+1YV1B       202  XRAY        1.500    0.19    0.21
+1Z0NC        96  XRAY        1.490    0.18    0.21
+1Z0WA       207  XRAY        1.200    0.14    0.18
+1Z1SA       163  XRAY        1.490    0.17    0.20
+1Z2NX       324  XRAY        1.200    0.18    0.20
+1Z2UA       150  XRAY        1.100    0.13    0.15
+1Z3EA       132  XRAY        1.500    0.20    0.22
+1Z3EB        73  XRAY        1.500    0.20    0.22
+1Z3XA       238  XRAY        1.500    0.18    0.21
+1Z67A       135  XRAY        1.450    0.16    0.21
+1Z6MA       175  XRAY        1.300    0.16    0.19
+1Z6NA       167  XRAY        1.500    0.19    0.22
+1Z70X       311  XRAY        1.150    0.14    0.17
+1Z72B       225  XRAY        1.450    0.15    0.17
+1ZCEA       155  XRAY        1.300    0.20    0.21
+1ZD8A       227  XRAY        1.480    0.23    0.24
+1ZDYA       307  XRAY        1.440    0.22    0.23
+1ZHVA       134  XRAY        1.500    0.24    0.25
+1ZHXA       438  XRAY        1.500    0.23    0.23
+1ZI8A       236  XRAY        1.400    0.17    0.19
+1ZJAA       557  XRAY        1.600    0.18    0.22
+1ZK4A       251  XRAY        1.000    0.16    0.18
+1ZK5A       176  XRAY        1.400    0.19    0.20
+1ZKEC        83  XRAY        1.600    0.20    0.23
+1ZKPA       268  XRAY        1.502    0.15    0.18
+1ZL0A       311  XRAY        1.100    0.10    0.12
+1ZMAA       118  XRAY        1.250    0.13    0.17
+1ZMMB        33  XRAY        1.600    0.19    0.22
+1ZOIC       276  XRAY        1.600    0.22    0.24
+1ZR6A       503  XRAY        1.550    0.18    0.20
+1ZUUA        58  XRAY        0.970    0.12    0.14
+1ZUYB        58  XRAY        1.390    0.17    0.21
+1ZV1B        65  XRAY        1.600    0.21    0.26
+1ZVAA        77  XRAY        1.500    0.21    0.25
+1ZX6A        58  XRAY        1.600    0.18    0.22
+1ZZKA        82  XRAY        0.950    0.12    0.13
+1ZZWB       149  XRAY        1.600    0.20    0.22
+2A0BA       125  XRAY        1.570    0.19    0.24
+2A26A        50  XRAY        1.200    0.17    0.20
+2A35B       215  XRAY        1.500    0.18    0.20
+2A3NA       355  XRAY        1.230    0.11    0.14
+2A4XB       138  XRAY        1.400    0.22    0.26
+2A6ZA       222  XRAY        1.000    0.13    0.16
+2A8NA       144  XRAY        1.600    0.23    0.26
+2A8YD       270  XRAY        1.450    0.18    0.20
+2ABSA       383  XRAY        1.100    0.14    0.17
+2ACFC       182  XRAY        1.400    0.17    0.19
+2AGKA       260  XRAY        1.300    0.19    0.22
+2AHFB       377  XRAY        1.520    0.19    0.21
+2AHNA       222  XRAY        1.300    0.12    0.15
+2AIBA        98  XRAY        1.100    0.12    0.15
+2AIQA       231  XRAY        1.540    0.18    0.19
+2AKFC        32  XRAY        1.200    0.16    0.20
+2AKZA       439  XRAY        1.360    0.12    0.14
+2AMLB       373  XRAY        1.500    0.14    0.17
+2ANXB       146  XRAY        1.040    0.12    0.15
+2AP3A       199  XRAY        1.600    0.23    0.27
+2APJD       260  XRAY        1.600    0.15    0.18
+2ARCA       164  XRAY        1.500    0.18    0.23
+2ARRA       382  XRAY        1.550    0.19    0.22
+2ASBA       251  XRAY        1.500    0.19    0.22
+2ASFA       137  XRAY        1.600    0.18    0.20
+2ASKB       113  XRAY        1.550    0.23    0.26
+2AXWA       134  XRAY        1.050    0.15    0.17
+2AYDA        76  XRAY        1.600    0.18    0.20
+2AYHA       214  XRAY        1.600    0.14    1.00
+2B06A       155  XRAY        1.400    0.19    0.22
+2B0AA       186  XRAY        1.450    0.19    0.22
+2B0VA       153  XRAY        1.550    0.17    0.21
+2B2HA       399  XRAY        1.540    0.15    0.17
+2B3FF       400  XRAY        1.560    0.18    0.20
+2B3GB        28  XRAY        1.600    0.20    0.24
+2B4HB       254  XRAY        1.600    0.20    0.23
+2B5AC        77  XRAY        1.543    0.17    0.20
+2B5WA       357  XRAY        1.600    0.15    0.19
+2B69A       343  XRAY        1.210    0.14    0.16
+2B7UA       257  XRAY        1.600    0.19    0.21
+2B82A       211  XRAY        1.250    0.17    0.19
+2B97A        71  XRAY        0.750    0.13    0.15
+2B9DB        52  XRAY        1.600    0.21    0.25
+2BAYF        61  XRAY        1.500    0.18    0.20
+2BBRA       195  XRAY        1.200    0.21    0.23
+2BCEA       579  XRAY        1.600    0.21    0.25
+2BCMB       165  XRAY        1.480    0.17    0.21
+2BDRB       175  XRAY        1.600    0.20    0.22
+2BF6A       449  XRAY        0.970    0.11    0.13
+2BF9A        36  XRAY        0.990    0.14    0.18
+2BFDA       400  XRAY        1.390    0.15    0.17
+2BFDB       342  XRAY        1.390    0.15    0.17
+2BGKB       278  XRAY        1.600    0.20    0.23
+2BHUA       602  XRAY        1.100    0.13    0.16
+2BJDB       101  XRAY        1.270    0.14    0.17
+2BJIB       277  XRAY        1.240    0.15    0.19
+2BJKB       516  XRAY        1.400    0.16    0.17
+2BK9A       153  XRAY        1.200    0.10    0.13
+2BKFA        87  XRAY        1.560    0.20    0.23
+2BKLB       695  XRAY        1.500    0.16    0.18
+2BKMB       128  XRAY        1.500    0.17    0.19
+2BKXA       242  XRAY        1.400    0.12    0.17
+2BL8C       103  XRAY        1.600    0.22    0.24
+2BLNB       305  XRAY        1.200    0.14    0.16
+2BMOA       447  XRAY        1.200    0.16    0.17
+2BMOB       194  XRAY        1.200    0.16    0.17
+2BO9B       222  XRAY        1.600    0.15    0.18
+2BOGX       286  XRAY        1.040    0.15    0.17
+2BPDA       142  XRAY        1.500    0.22    0.27
+2BRFA       110  XRAY        1.400    0.15    0.18
+2BRYA       497  XRAY        1.450    0.18    0.22
+2BSYA       278  XRAY        1.500    0.15    0.19
+2BT6B       108  XRAY        1.500    0.16    0.19
+2BT9C        90  XRAY        0.940    0.10    0.12
+2BU3A       254  XRAY        1.400    0.17    0.19
+2BV2B        83  XRAY        1.550    0.17    0.24
+2BW8A       227  XRAY        1.540    0.16    0.18
+2BWFB        77  XRAY        1.150    0.18    0.20
+2BWQA       129  XRAY        1.410    0.18    0.21
+2BWRA       401  XRAY        1.500    0.16    0.18
+2BZ1A       196  XRAY        1.540    0.19    0.21
+2BZVA       181  XRAY        1.150    0.12    0.13
+2C07A       285  XRAY        1.500    0.20    0.22
+2C0CA       362  XRAY        1.450    0.17    0.22
+2C1IA       431  XRAY        1.350    0.19    0.23
+2C1VA       338  XRAY        1.200    0.17    0.19
+2C2NB       339  XRAY        1.550    0.18    0.22
+2C2UA       207  XRAY        1.100    0.13    0.15
+2C3NB       247  XRAY        1.500    0.22    0.25
+2C3VA       102  XRAY        1.390    0.20    0.25
+2C46D       241  XRAY        1.600    0.21    0.23
+2C4JA       218  XRAY        1.350    0.20    0.21
+2C4WA       176  XRAY        1.550    0.16    0.19
+2C5AA       379  XRAY        1.400    0.10    0.14
+2C60A       111  XRAY        1.250    0.17    0.18
+2C61B       469  XRAY        1.500    0.19    0.21
+2C6UA       122  XRAY        1.600    0.16    0.20
+2C71A       216  XRAY        1.050    0.12    0.14
+2C78A       405  XRAY        1.400    0.20    0.22
+2C8SA       172  XRAY        1.600    0.21    0.25
+2C92E       160  XRAY        1.600    0.18    0.22
+2C9JH       225  XRAY        1.350    0.23    0.26
+2CALA       154  XRAY        1.100    0.14    0.17
+2CARB       196  XRAY        1.090    0.10    0.15
+2CB8A        87  XRAY        1.400    0.17    0.19
+2CBZA       237  XRAY        1.500    0.16    0.19
+2CC0A       195  XRAY        1.600    0.15    0.19
+2CC6A        68  XRAY        1.270    0.21    0.23
+2CCQA        99  XRAY        1.600    0.19    0.21
+2CCVA       101  XRAY        1.300    0.14    0.18
+2CDCB       366  XRAY        1.500    0.21    0.24
+2CDPA       160  XRAY        1.590    0.21    0.25
+2CE0A       105  XRAY        1.240    0.18    0.21
+2CE2X       166  XRAY        1.000    0.14    0.16
+2CF7E       165  XRAY        1.500    0.15    0.18
+2CG7A        90  XRAY        1.200    0.19    0.22
+2CI1A       275  XRAY        1.080    0.11    0.14
+2CIAA       102  XRAY        1.450    0.15    0.17
+2CIBA       455  XRAY        1.500    0.20    0.23
+2CIOB       121  XRAY        1.500    0.18    0.23
+2CIRA       297  XRAY        1.600    0.21    0.23
+2CIUA       127  XRAY        1.600    0.20    0.25
+2CIWA       299  XRAY        1.150    0.15    0.17
+2CJTD       131  XRAY        1.440    0.16    0.19
+2CKKA       127  XRAY        1.450    0.14    0.17
+2CKSA       306  XRAY        1.600    0.14    0.17
+2CM2A       304  XRAY        1.500    0.20    0.23
+2CM5A       166  XRAY        1.280    0.14    0.19
+2CNQA       306  XRAY        1.000    0.12    0.13
+2COVD       104  XRAY        1.250    0.15    0.17
+2CPGB        45  XRAY        1.600    0.20    0.28
+2CS7B        55  XRAY        1.200    0.11    0.14
+2CUAB       135  XRAY        1.600    0.23    0.30
+2CVDD       198  XRAY        1.450    0.19    0.21
+2CVEA       191  XRAY        1.600    0.21    0.24
+2CVIB        83  XRAY        1.500    0.20    0.23
+2CWSA       237  XRAY        1.000    0.10    0.13
+2CXAA       256  XRAY        1.600    0.19    0.22
+2CXNB       557  XRAY        1.400    0.17    0.19
+2CXYA       125  XRAY        1.600    0.19    0.20
+2CYJA       118  XRAY        1.500    0.18    0.20
+2CZ2A       223  XRAY        1.400    0.16    0.20
+2CZLA       272  XRAY        1.550    0.18    0.21
+2CZQA       205  XRAY        1.050    0.15    0.16
+2CZSB        80  XRAY        1.500    0.22    0.27
+2D1SA       548  XRAY        1.300    0.18    0.20
+2D3DA        88  XRAY        1.600    0.21    0.26
+2D3YA       219  XRAY        1.550    0.19    0.21
+2D5MA       190  XRAY        1.050    0.14    0.16
+2D5WA       603  XRAY        1.300    0.19    0.20
+2D68B        82  XRAY        1.600    0.21    0.25
+2D8DB        90  XRAY        1.150    0.21    0.22
+2DDRB       306  XRAY        1.400    0.21    0.23
+2DDXA       333  XRAY        0.860    0.14    0.15
+2DE3A       365  XRAY        1.600    0.18    0.20
+2DEBA       653  XRAY        1.600    0.17    0.19
+2DEJA       350  XRAY        1.500    0.19    0.23
+2DHOA       235  XRAY        1.600    0.17    0.20
+2DKJA       407  XRAY        1.150    0.18    0.19
+2DKOA       146  XRAY        1.060    0.14    0.17
+2DKOB       103  XRAY        1.060    0.14    0.17
+2DLBB        80  XRAY        1.200    0.15    0.17
+2DPFD       115  XRAY        1.500    0.22    0.25
+2DPLB       308  XRAY        1.430    0.24    0.25
+2DRIA       271  XRAY        1.600    0.19    1.00
+2DS5A        51  XRAY        1.500    0.19    0.22
+2DSKA       311  XRAY        1.500    0.17    0.18
+2DT4A       143  XRAY        1.600    0.17    0.19
+2DT8A       280  XRAY        1.480    0.17    0.20
+2DTJA       178  XRAY        1.580    0.20    0.23
+2DTXB       264  XRAY        1.600    0.20    0.22
+2DVMC       439  XRAY        1.600    0.19    0.21
+2DWUC       276  XRAY        1.600    0.16    0.19
+2DXAA       166  XRAY        1.580    0.18    0.21
+2DXUA       235  XRAY        1.280    0.22    0.23
+2DY0A       190  XRAY        1.250    0.20    0.21
+2DY1A       665  XRAY        1.600    0.19    0.20
+2E0QA       104  XRAY        1.490    0.17    0.19
+2E2RA       244  XRAY        1.600    0.17    0.20
+2E3HA        90  XRAY        1.450    0.19    0.21
+2E3NA       255  XRAY        1.400    0.22    0.23
+2E4TA       519  XRAY        0.960    0.13    0.15
+2E5FA       325  XRAY        1.350    0.17    0.18
+2E6FB       314  XRAY        1.260    0.17    0.18
+2E7ZA       727  XRAY        1.260    0.16    0.20
+2EABA       899  XRAY        1.120    0.18    0.19
+2EAQA        90  XRAY        1.460    0.16    0.19
+2EB4C       267  XRAY        1.600    0.21    0.23
+2EBBA       101  XRAY        1.600    0.22    0.24
+2ECUA       149  XRAY        1.300    0.20    0.22
+2EGVA       229  XRAY        1.450    0.22    0.24
+2EH3A       179  XRAY        1.550    0.21    0.22
+2EHGA       149  XRAY        1.600    0.19    0.22
+2EHPB       126  XRAY        1.300    0.23    0.24
+2EHZA       302  XRAY        1.350    0.17    0.18
+2EIYC       308  XRAY        1.350    0.19    0.20
+2EKPA       239  XRAY        1.150    0.17    0.17
+2ELCD       329  XRAY        1.550    0.19    0.20
+2ENDA       138  XRAY        1.450    0.16    1.00
+2EPLX       627  XRAY        1.400    0.19    0.20
+2ERFA       209  XRAY        1.450    0.19    0.22
+2ERLA        40  XRAY        1.000    0.13    0.17
+2ET1A       201  XRAY        1.600    0.18    0.21
+2EV1B       222  XRAY        1.600    0.19    0.22
+2EVBA        74  XRAY        1.550    0.25    0.28
+2EVEA       157  XRAY        1.600    0.19    0.22
+2EW0A       192  XRAY        1.400    0.20    0.22
+2EX2A       458  XRAY        1.550    0.21    0.24
+2F01B       127  XRAY        0.850    0.15    0.17
+2F1KB       279  XRAY        1.550    0.19    0.22
+2F22B       144  XRAY        1.420    0.16    0.18
+2F23A       156  XRAY        1.600    0.21    0.25
+2F3YB        21  XRAY        1.450    0.19    0.22
+2F46B       156  XRAY        1.410    0.20    0.23
+2F5TX       233  XRAY        1.450    0.16    0.20
+2F60K        64  XRAY        1.550    0.21    0.22
+2F62A       161  XRAY        1.500    0.17    0.19
+2F69A       261  XRAY        1.300    0.15    0.17
+2F6UA       234  XRAY        1.550    0.19    0.22
+2F8AA       208  XRAY        1.500    0.14    0.16
+2F8YA       223  XRAY        1.550    0.15    0.19
+2F9HA       129  XRAY        1.570    0.17    0.23
+2FAOA       309  XRAY        1.500    0.21    0.21
+2FB6A       117  XRAY        1.460    0.13    0.16
+2FBAA       492  XRAY        1.100    0.15    0.16
+2FCJA       119  XRAY        1.300    0.19    0.21
+2FCLA       169  XRAY        1.200    0.14    0.17
+2FCOA       200  XRAY        1.400    0.22    0.23
+2FCTB       313  XRAY        1.600    0.18    0.20
+2FCWA       109  XRAY        1.260    0.15    0.20
+2FCWB        80  XRAY        1.260    0.15    0.20
+2FDNA        55  XRAY        0.940    0.10    1.00
+2FE5A        94  XRAY        1.100    0.12    0.15
+2FG1A       158  XRAY        1.250    0.17    0.18
+2FGQX       332  XRAY        1.450    0.15    0.17
+2FH1A       344  XRAY        1.550    0.19    0.21
+2FHPA       187  XRAY        1.600    0.18    0.21
+2FHZA       109  XRAY        1.150    0.20    0.20
+2FHZB       108  XRAY        1.150    0.20    0.20
+2FI1A       190  XRAY        1.400    0.16    0.17
+2FJ8A       125  XRAY        1.190    0.21    0.24
+2FKKA       206  XRAY        1.200    0.12    0.14
+2FL4A       149  XRAY        1.600    0.21    0.25
+2FLHC       155  XRAY        1.200    0.16    0.19
+2FMAA        59  XRAY        0.850    0.13    0.15
+2FNUA       375  XRAY        1.500    0.15    0.18
+2FP1A       166  XRAY        1.550    0.18    0.21
+2FQ3A       104  XRAY        1.400    0.21    0.21
+2FR2A       172  XRAY        1.500    0.18    0.20
+2FR5C       146  XRAY        1.480    0.17    0.19
+2FRGP       106  XRAY        1.190    0.18    0.19
+2FSQA       243  XRAY        1.400    0.16    0.20
+2FSRA       195  XRAY        1.520    0.18    0.20
+2FTRA       108  XRAY        1.400    0.15    0.17
+2FULB       177  XRAY        1.500    0.18    0.20
+2FUPA       157  XRAY        1.480    0.19    0.22
+2FVVA       194  XRAY        1.250    0.17    0.22
+2FVYA       309  XRAY        0.920    0.11    0.13
+2FWHA       134  XRAY        0.990    0.11    0.15
+2FYFB       398  XRAY        1.500    0.14    0.17
+2G1UA       155  XRAY        1.500    0.15    0.17
+2G2CA       167  XRAY        1.500    0.17    0.20
+2G30A       258  XRAY        1.600    0.22    0.24
+2G3RA       123  XRAY        1.250    0.20    0.24
+2G5RA       127  XRAY        1.600    0.21    0.23
+2G6YA       219  XRAY        1.600    0.17    0.22
+2G7OA        70  XRAY        1.400    0.20    0.22
+2G7SA       194  XRAY        1.400    0.14    0.19
+2G81I        83  XRAY        1.550    0.15    0.17
+2G84A       197  XRAY        1.400    0.13    0.16
+2G8SB       353  XRAY        1.500    0.15    0.18
+2GB4B       252  XRAY        1.250    0.14    0.19
+2GCUC       245  XRAY        1.477    0.18    0.20
+2GECA       139  XRAY        1.300    0.21    0.25
+2GF3A       389  XRAY        1.300    0.17    0.20
+2GGCA       263  XRAY        1.000    0.12    0.13
+2GHAB       382  XRAY        1.600    0.16    0.20
+2GHSA       326  XRAY        1.550    0.14    0.18
+2GJ3B       120  XRAY        1.040    0.16    0.19
+2GJ4A       824  XRAY        1.600    0.19    0.23
+2GKEA       274  XRAY        1.350    0.14    0.17
+2GKGA       127  XRAY        1.000    0.09    0.12
+2GKPA       167  XRAY        1.350    0.15    0.21
+2GL5A       410  XRAY        1.600    0.21    0.22
+2GLZB       153  XRAY        1.450    0.17    0.20
+2GMWB       211  XRAY        1.500    0.17    0.21
+2GMYF       153  XRAY        1.600    0.17    0.19
+2GOMA        61  XRAY        1.250    0.21    0.22
+2GPIA        91  XRAY        1.600    0.15    0.17
+2GQTA       268  XRAY        1.300    0.19    0.21
+2GQWA       408  XRAY        1.400    0.18    0.20
+2GRCA       129  XRAY        1.500    0.25    0.26
+2GRRB       170  XRAY        1.300    0.20    0.22
+2GS5A       198  XRAY        1.500    0.18    0.21
+2GS8A       317  XRAY        1.500    0.17    0.19
+2GSOA       393  XRAY        1.300    0.17    0.19
+2GU9B       113  XRAY        1.400    0.25    0.25
+2GUDB       122  XRAY        0.940    0.14    0.16
+2GUHB       214  XRAY        1.520    0.17    0.19
+2GUIA       194  XRAY        1.600    0.16    0.20
+2GWMA       200  XRAY        1.500    0.16    0.20
+2GXGA       146  XRAY        1.450    0.22    0.24
+2GXQA       207  XRAY        1.200    0.14    0.17
+2GYQB       173  XRAY        1.400    0.14    0.18
+2GZ4C       207  XRAY        1.500    0.15    0.18
+2GZQA       200  XRAY        1.300    0.16    0.18
+2GZSA       278  XRAY        1.400    0.17    0.19
+2GZVA       114  XRAY        1.120    0.15    0.17
+2H1VA       310  XRAY        1.200    0.13    0.17
+2H2BA       107  XRAY        1.600    0.20    0.23
+2H2TB       175  XRAY        1.300    0.17    0.20
+2H30A       164  XRAY        1.600    0.19    0.21
+2H3LB       103  XRAY        1.000    0.15    0.17
+2H5CA       198  XRAY        0.820    0.09    0.09
+2H6FA       382  XRAY        1.500    0.19    0.20
+2H6FB       437  XRAY        1.500    0.19    0.20
+2H7ZB        77  XRAY        1.500    0.22    0.24
+2H8EA       120  XRAY        1.200    0.18    0.19
+2H8GB       267  XRAY        1.500    0.20    0.22
+2HA8A       184  XRAY        1.600    0.18    0.21
+2HALA       212  XRAY        1.350    0.18    0.20
+2HBAB        52  XRAY        1.250    0.14    0.16
+2HBWA       235  XRAY        1.050    0.13    0.15
+2HC1A       291  XRAY        1.300    0.14    0.18
+2HD9A       145  XRAY        1.350    0.23    0.23
+2HDOA       209  XRAY        1.500    0.18    0.21
+2HEUB       401  XRAY        1.040    0.13    0.16
+2HEWF       152  XRAY        1.450    0.17    0.19
+2HHCA       330  XRAY        1.540    0.18    0.20
+2HHGA       139  XRAY        1.200    0.20    0.21
+2HI0A       240  XRAY        1.510    0.16    0.19
+2HINB        71  XRAY        1.050    0.16    0.17
+2HIYA       183  XRAY        1.400    0.16    0.19
+2HLRA       100  XRAY        1.200    0.22    0.23
+2HLYA       207  XRAY        1.600    0.17    0.21
+2HO2A        38  XRAY        1.330    0.17    0.21
+2HOXD       427  XRAY        1.400    0.17    0.20
+2HP0A       466  XRAY        1.500    0.15    0.17
+2HPWA       235  XRAY        1.550    0.18    0.20
+2HQSA       415  XRAY        1.500    0.19    0.21
+2HQSG       118  XRAY        1.500    0.19    0.21
+2HQXB       246  XRAY        1.420    0.23    0.27
+2HS1B        99  XRAY        0.840    0.12    0.15
+2HSAA       402  XRAY        1.500    0.23    0.26
+2HSJD       214  XRAY        1.500    0.16    0.19
+2HTDA       140  XRAY        1.600    0.16    0.21
+2HUHA       147  XRAY        1.540    0.17    0.19
+2HW2A       143  XRAY        1.450    0.14    0.18
+2HWNF        22  XRAY        1.600    0.21    0.24
+2HX0A       154  XRAY        1.550    0.20    0.21
+2HX5A       152  XRAY        1.500    0.16    0.18
+2HXSA       178  XRAY        1.100    0.15    0.18
+2HYKA       245  XRAY        1.300    0.14    0.16
+2I24N       121  XRAY        1.350    0.17    0.21
+2I33A       258  XRAY        1.570    0.17    0.21
+2I3DB       249  XRAY        1.500    0.14    0.17
+2I49A       429  XRAY        1.350    0.18    0.19
+2I4AA       107  XRAY        1.000    0.14    0.16
+2I51B       195  XRAY        1.400    0.17    0.19
+2I53A       258  XRAY        1.500    0.18    0.22
+2I5FA       109  XRAY        1.350    0.18    0.21
+2I5UA        83  XRAY        1.500    0.18    0.23
+2I5VO       251  XRAY        1.100    0.16    0.17
+2I61A        62  XRAY        1.200    0.10    0.12
+2I8TB       167  XRAY        1.300    0.15    0.17
+2IA1A       178  XRAY        1.590    0.17    0.19
+2IA7A       134  XRAY        1.440    0.17    0.20
+2IAYA       114  XRAY        1.200    0.12    0.15
+2IBDB       204  XRAY        1.500    0.17    0.20
+2IBNB       250  XRAY        1.500    0.21    0.25
+2IC2B       115  XRAY        1.300    0.21    0.23
+2IC6A        78  XRAY        1.150    0.16    0.18
+2ICIA       227  XRAY        1.560    0.18    0.23
+2ICRB       239  XRAY        1.510    0.18    0.23
+2ICUB       229  XRAY        1.600    0.17    0.20
+2II2A       310  XRAY        1.100    0.20    0.23
+2IJ2A       470  XRAY        1.200    0.15    0.17
+2ILKA       160  XRAY        1.600    0.16    1.00
+2IMFA       203  XRAY        1.300    0.18    0.21
+2IMHB       231  XRAY        1.570    0.17    0.21
+2IMJB       166  XRAY        1.500    0.17    0.19
+2IMQX       282  XRAY        1.300    0.18    0.21
+2INWB       133  XRAY        1.500    0.23    0.25
+2IP6A       112  XRAY        1.350    0.21    0.23
+2IT2A       200  XRAY        1.500    0.25    0.27
+2IU5B       195  XRAY        1.600    0.20    0.23
+2IUMC       248  XRAY        1.600    0.18    0.21
+2IUWA       238  XRAY        1.500    0.14    0.19
+2IVYA       101  XRAY        1.400    0.17    0.19
+2IW1A       374  XRAY        1.500    0.19    0.22
+2IWRA       178  XRAY        1.500    0.15    0.21
+2IXMA       303  XRAY        1.500    0.20    0.22
+2IYVA       184  XRAY        1.350    0.14    0.18
+2IZ6B       176  XRAY        1.600    0.19    0.23
+2IZRA       330  XRAY        1.300    0.13    0.16
+2IZXB        41  XRAY        1.300    0.17    0.19
+2J05A        65  XRAY        1.500    0.18    0.20
+2J1AA       150  XRAY        1.490    0.20    0.23
+2J1VA       151  XRAY        1.450    0.15    0.21
+2J2JC       197  XRAY        1.500    0.17    0.21
+2J43A       219  XRAY        1.600    0.18    0.22
+2J5GD       263  XRAY        1.460    0.15    0.18
+2J5YA        61  XRAY        1.400    0.15    0.20
+2J6BA       109  XRAY        1.300    0.16    0.19
+2J6LE       500  XRAY        1.300    0.14    0.19
+2J6VB       301  XRAY        1.550    0.18    0.21
+2J73B       103  XRAY        1.400    0.15    0.21
+2J82A       240  XRAY        1.280    0.17    0.20
+2J8BA        79  XRAY        1.150    0.17    0.20
+2J8KA       201  XRAY        1.500    0.17    0.18
+2J9OC       298  XRAY        1.500    0.18    0.21
+2J9WA       102  XRAY        1.300    0.20    0.23
+2JAEB       489  XRAY        1.250    0.15    0.18
+2JBAA       127  XRAY        1.450    0.19    0.20
+2JC5A       259  XRAY        1.500    0.12    0.16
+2JC9A       555  XRAY        1.500    0.16    0.19
+2JCBB       200  XRAY        1.600    0.19    0.24
+2JDAA       145  XRAY        1.350    0.14    0.18
+2JDCA       146  XRAY        1.600    0.15    0.17
+2JE6A       277  XRAY        1.600    0.22    0.25
+2JE6B       250  XRAY        1.600    0.22    0.25
+2JE6I       251  XRAY        1.600    0.22    0.25
+2JEKA       145  XRAY        1.380    0.17    0.20
+2JENA       261  XRAY        1.400    0.12    0.14
+2JEPB       395  XRAY        1.400    0.12    0.14
+2JFRA       234  XRAY        0.830    0.10    0.12
+2JG0A       535  XRAY        1.500    0.15    0.19
+2JHFB       374  XRAY        1.000    0.12    0.15
+2JILB        97  XRAY        1.500    0.19    0.23
+2JISB       515  XRAY        1.600    0.15    0.18
+2JJNA       411  XRAY        1.590    0.16    0.20
+2JJUA       127  XRAY        1.190    0.14    0.16
+2JKHL        55  XRAY        1.250    0.20    0.22
+2JKUA        94  XRAY        1.500    0.15    0.17
+2JLIA       123  XRAY        1.130    0.16    0.17
+2MCMA       112  XRAY        1.500    0.15    1.00
+2MHRA       118  XRAY        1.300    0.16    1.00
+2NLIB       368  XRAY        1.590    0.18    0.20
+2NLRA       234  XRAY        1.200    0.11    0.14
+2NLSA        36  XRAY        0.980    0.11    0.12
+2NLVA       112  XRAY        1.300    0.18    0.20
+2NMLA       104  XRAY        1.550    0.20    0.24
+2NN5A       184  XRAY        1.450    0.15    0.19
+2NNUA       205  XRAY        1.590    0.20    0.23
+2NNUB        22  XRAY        1.590    0.20    0.23
+2NQTB       352  XRAY        1.580    0.16    0.18
+2NQWA        93  XRAY        1.300    0.13    0.17
+2NR7A       195  XRAY        1.300    0.16    0.20
+2NRRA       159  XRAY        1.200    0.18    0.22
+2NSZA       129  XRAY        1.150    0.13    0.15
+2NUHA       118  XRAY        1.390    0.20    0.20
+2NW8A       306  XRAY        1.600    0.17    0.19
+2NWFA       141  XRAY        1.100    0.12    0.14
+2NWRB       267  XRAY        1.500    0.23    0.25
+2NXVB       249  XRAY        1.100    0.14    0.15
+2NXWA       565  XRAY        1.500    0.17    0.20
+2O0AA       298  XRAY        1.600    0.21    0.26
+2O0BA       450  XRAY        1.150    0.13    0.15
+2O0MA       345  XRAY        1.600    0.17    0.20
+2O1QB       145  XRAY        1.500    0.18    0.21
+2O23B       265  XRAY        1.200    0.12    0.15
+2O2XA       218  XRAY        1.500    0.14    0.17
+2O5GB        21  XRAY        1.080    0.14    0.17
+2O60B        24  XRAY        1.550    0.20    0.24
+2O6NA        35  XRAY        1.100    0.12    0.13
+2O6PB       161  XRAY        1.500    0.20    0.22
+2O6YG       523  XRAY        1.500    0.17    0.19
+2O7AA       124  XRAY        0.840    0.09    0.11
+2O7IA       592  XRAY        1.500    0.19    0.22
+2O7RA       338  XRAY        1.400    0.20    0.22
+2O8LA       274  XRAY        1.500    0.19    0.22
+2O8QA       134  XRAY        1.550    0.17    0.19
+2O90A       122  XRAY        1.070    0.13    0.15
+2O9SA        67  XRAY        0.830    0.10    0.12
+2O9UX        97  XRAY        1.150    0.20    0.17
+2OA2A       148  XRAY        1.410    0.17    0.19
+2OAAB       249  XRAY        1.500    0.18    0.19
+2OB3A       330  XRAY        1.040    0.10    0.13
+2OB5A       153  XRAY        1.600    0.18    0.21
+2OC3A       303  XRAY        1.500    0.16    0.18
+2OCTB        98  XRAY        1.400    0.18    0.19
+2ODIB       238  XRAY        1.450    0.17    0.20
+2ODKB        89  XRAY        1.400    0.14    0.15
+2OFCB       142  XRAY        1.110    0.12    0.13
+2OFKB       183  XRAY        1.500    0.16    0.20
+2OFZA       138  XRAY        1.170    0.16    0.19
+2OG5A       357  XRAY        1.450    0.17    0.19
+2OH1D       179  XRAY        1.460    0.17    0.19
+2OHWA       133  XRAY        1.400    0.20    0.23
+2OIZA       361  XRAY        1.050    0.12    0.14
+2OIZD       135  XRAY        1.050    0.12    0.14
+2OKFA       140  XRAY        1.600    0.14    0.15
+2OKTA       342  XRAY        1.300    0.14    0.18
+2OLMA       140  XRAY        1.480    0.18    0.20
+2OLNA       397  XRAY        1.150    0.12    0.15
+2OMLA       189  XRAY        1.200    0.15    0.18
+2OOAB        52  XRAY        1.560    0.21    0.24
+2OOCA       113  XRAY        1.520    0.17    0.20
+2OPCA       127  XRAY        1.430    0.20    0.23
+2OPGA        98  XRAY        1.500    0.17    0.22
+2OPJA       327  XRAY        1.600    0.20    0.23
+2OPLB       187  XRAY        1.500    0.15    0.17
+2OQGB       114  XRAY        1.540    0.19    0.26
+2OQZA       223  XRAY        1.600    0.19    0.23
+2ORWA       184  XRAY        1.500    0.17    0.21
+2OS0A       188  XRAY        1.300    0.20    0.21
+2OS5C       119  XRAY        1.600    0.20    0.20
+2OSXA       481  XRAY        1.100    0.12    0.14
+2OU5B       175  XRAY        1.600    0.18    0.22
+2OUSB       331  XRAY        1.450    0.21    0.23
+2OV0A       105  XRAY        0.750    0.13    0.14
+2OVGA        66  XRAY        1.350    0.13    0.17
+2OVJA       201  XRAY        1.490    0.15    0.18
+2OXCB       230  XRAY        1.300    0.15    0.17
+2OXGC       108  XRAY        1.400    0.17    0.19
+2OXGD       124  XRAY        1.400    0.17    0.19
+2OY9B        98  XRAY        1.600    0.21    0.22
+2OYOB       196  XRAY        1.510    0.18    0.21
+2OZHA       142  XRAY        1.400    0.14    0.15
+2OZJA       114  XRAY        1.600    0.18    0.21
+2OZNA       165  XRAY        1.600    0.21    0.25
+2OZNB       140  XRAY        1.600    0.21    0.25
+2OZTA       332  XRAY        1.420    0.18    0.21
+2P0NA       172  XRAY        1.410    0.17    0.20
+2P0SB       143  XRAY        1.600    0.18    0.23
+2P14A       192  XRAY        1.500    0.18    0.21
+2P17A       277  XRAY        1.520    0.19    0.21
+2P2SB       336  XRAY        1.250    0.16    0.18
+2P39A       155  XRAY        1.500    0.20    0.21
+2P4FA       299  XRAY        1.400    0.14    0.19
+2P4HX       322  XRAY        1.400    0.19    0.20
+2P51A       333  XRAY        1.400    0.14    0.20
+2P5KA        64  XRAY        1.000    0.14    0.16
+2P6WA       213  XRAY        1.600    0.17    0.20
+2P7OA       133  XRAY        1.440    0.13    0.17
+2P8IB       117  XRAY        1.400    0.14    0.17
+2P9WA       334  XRAY        1.350    0.14    0.15
+2PA7B       141  XRAY        1.500    0.20    0.24
+2PAGA       135  XRAY        1.600    0.23    0.22
+2PBDV        43  XRAY        1.501    0.16    0.19
+2PC1A       201  XRAY        1.280    0.17    0.18
+2PEFA       373  XRAY        1.600    0.21    0.25
+2PEZB       179  XRAY        1.400    0.20    0.22
+2PFIA       164  XRAY        1.600    0.20    0.22
+2PGEA       377  XRAY        1.600    0.23    0.24
+2PGNB       589  XRAY        1.200    0.15    0.18
+2PHNB       254  XRAY        1.350    0.16    0.19
+2PIEA       138  XRAY        1.350    0.18    0.20
+2PKFA       334  XRAY        1.500    0.18    0.20
+2PLRA       213  XRAY        1.600    0.18    0.21
+2PLXB        26  XRAY        1.560    0.14    0.19
+2PM1A        30  XRAY        1.600    0.15    0.20
+2PN6A       150  XRAY        1.440    0.21    0.22
+2PNDA       119  XRAY        1.000    0.12    0.14
+2PNEA        81  XRAY        0.980    0.14    0.16
+2POFA       227  XRAY        1.400    0.25    0.26
+2POSA        94  XRAY        1.600    0.15    0.19
+2PQ7A       220  XRAY        1.450    0.18    0.19
+2PQ8A       278  XRAY        1.450    0.21    0.23
+2PQCA       445  XRAY        1.600    0.18    0.18
+2PQXA       245  XRAY        1.420    0.19    0.20
+2PR7B       137  XRAY        1.440    0.17    0.20
+2PRVB       153  XRAY        1.300    0.14    0.17
+2PRXB       160  XRAY        1.500    0.20    0.28
+2PSFB       310  XRAY        1.400    0.17    0.19
+2PU3A       211  XRAY        1.500    0.17    0.18
+2PUYA        60  XRAY        1.430    0.21    0.23
+2PV2D       103  XRAY        1.300    0.21    0.23
+2PVBA       108  XRAY        0.910    0.11    0.13
+2PWAA       279  XRAY        0.830    0.12    0.14
+2PXXA       215  XRAY        1.300    0.21    0.23
+2PY5A       575  XRAY        1.600    0.17    0.19
+2PYQD       114  XRAY        1.500    0.18    0.20
+2PYXB       526  XRAY        1.500    0.15    0.18
+2Q0LA       311  XRAY        1.450    0.17    0.19
+2Q1SA       377  XRAY        1.500    0.19    0.23
+2Q2FA        89  XRAY        1.500    0.18    0.21
+2Q3GA        89  XRAY        1.110    0.13    0.16
+2Q3TA       157  XRAY        1.600    0.14    0.17
+2Q3WA       111  XRAY        1.480    0.14    0.18
+2Q52B       224  XRAY        1.380    0.17    0.20
+2Q5BC       105  XRAY        1.450    0.19    0.21
+2Q5CA       196  XRAY        1.490    0.19    0.21
+2Q6KA       283  XRAY        1.550    0.20    0.21
+2Q7DA       346  XRAY        1.600    0.20    0.24
+2Q7WA       396  XRAY        1.400    0.16    0.19
+2Q8KA       401  XRAY        1.600    0.18    0.22
+2Q9KA       151  XRAY        1.590    0.21    0.25
+2Q9OB       559  XRAY        1.300    0.17    0.21
+2QA9E       185  XRAY        1.180    0.15    0.18
+2QB7B       397  XRAY        1.600    0.17    0.20
+2QCPX        80  XRAY        1.000    0.16    0.19
+2QE8B       343  XRAY        1.350    0.12    0.14
+2QEDA       258  XRAY        1.450    0.16    0.17
+2QF4A       172  XRAY        1.200    0.14    0.17
+2QFAA       142  XRAY        1.400    0.19    0.20
+2QFAB        62  XRAY        1.400    0.19    0.20
+2QFAC        47  XRAY        1.400    0.19    0.20
+2QFEA       148  XRAY        1.450    0.19    0.21
+2QGUA       211  XRAY        1.500    0.19    0.21
+2QHLC       111  XRAY        1.560    0.20    0.23
+2QIFB        69  XRAY        1.500    0.13    0.17
+2QIKA       285  XRAY        1.350    0.13    0.18
+2QIPA       165  XRAY        1.480    0.16    0.18
+2QJLA        99  XRAY        1.440    0.17    0.20
+2QJWD       176  XRAY        1.350    0.18    0.22
+2QJZB       123  XRAY        1.250    0.18    0.20
+2QKVA        96  XRAY        1.550    0.25    0.27
+2QL8A       143  XRAY        1.500    0.14    0.16
+2QLTA       275  XRAY        1.600    0.17    0.20
+2QLWA       144  XRAY        1.600    0.15    0.18
+2QMLA       198  XRAY        1.550    0.18    0.21
+2QNGA       199  XRAY        1.400    0.17    0.19
+2QNKA       286  XRAY        1.600    0.16    0.18
+2QNLA       162  XRAY        1.500    0.16    0.18
+2QNTA       141  XRAY        1.400    0.17    0.20
+2QPXA       376  XRAY        1.400    0.14    0.16
+2QR6A       393  XRAY        1.500    0.17    0.19
+2QRLA       394  XRAY        1.600    0.21    0.24
+2QSBA        89  XRAY        1.300    0.15    0.18
+2QSKA        95  XRAY        1.000    0.13    0.15
+2QSWA       100  XRAY        1.500    0.15    0.18
+2QT1A       207  XRAY        1.320    0.24    0.26
+2QUDB       125  XRAY        1.600    0.16    0.20
+2QVGA       143  XRAY        1.500    0.22    0.26
+2QVKA       192  XRAY        1.451    0.16    0.19
+2QXFA       482  XRAY        1.500    0.20    0.22
+2QZCA       214  XRAY        1.500    0.17    0.18
+2R01A       210  XRAY        1.150    0.15    0.17
+2R0XA       158  XRAY        1.060    0.14    0.17
+2R16A       182  XRAY        1.040    0.15    0.17
+2R1JR        68  XRAY        1.530    0.20    0.23
+2R2ZA        93  XRAY        1.200    0.15    0.17
+2R31A       239  XRAY        1.000    0.12    0.14
+2R4IB       123  XRAY        1.600    0.18    0.20
+2R5OA       188  XRAY        1.300    0.17    0.18
+2R6JB       318  XRAY        1.500    0.20    0.23
+2R6UA       148  XRAY        1.500    0.18    0.21
+2R6VA       191  XRAY        1.250    0.13    0.15
+2R78A       117  XRAY        1.600    0.18    0.22
+2R8EF       188  XRAY        1.400    0.16    0.19
+2R8QA       359  XRAY        1.500    0.19    0.21
+2R9FA       339  XRAY        1.600    0.19    0.22
+2RA6D       166  XRAY        1.500    0.23    0.24
+2RA9A       150  XRAY        1.400    0.16    0.20
+2RAFB       209  XRAY        1.600    0.15    0.19
+2RB7A       364  XRAY        1.600    0.15    0.18
+2RB8A       104  XRAY        1.450    0.17    0.20
+2RBDB       171  XRAY        1.540    0.16    0.19
+2RBKA       261  XRAY        1.000    0.12    0.15
+2RC3D       135  XRAY        1.600    0.19    0.24
+2RC8B       294  XRAY        1.450    0.15    0.18
+2RDGA       196  XRAY        1.600    0.18    0.21
+2RDQA       288  XRAY        1.310    0.18    0.20
+2RE2A       136  XRAY        1.300    0.16    0.18
+2RFFA       111  XRAY        1.400    0.15    0.19
+2RFRA       155  XRAY        1.160    0.14    0.17
+2RFVA       398  XRAY        1.355    0.15    0.18
+2RH2A        62  XRAY        0.960    0.10    0.12
+2RHFA        77  XRAY        1.100    0.18    0.19
+2RHWA       283  XRAY        1.570    0.17    0.20
+2RIEC       160  XRAY        1.600    0.20    0.21
+2RIKA       284  XRAY        1.600    0.17    0.22
+2RILA        99  XRAY        1.260    0.14    0.16
+2RK5A        87  XRAY        1.500    0.18    0.24
+2RK9B       145  XRAY        1.600    0.21    0.23
+2RKLC        53  XRAY        1.500    0.22    0.25
+2RKNA        77  XRAY        1.600    0.19    0.25
+2RKQA       169  XRAY        1.500    0.16    0.17
+2RKVA       451  XRAY        1.600    0.18    0.21
+2RL8B       154  XRAY        1.450    0.22    0.24
+2TPSA       227  XRAY        1.250    0.18    0.22
+2UU8A       237  XRAY        0.940    0.12    0.14
+2UUQA       414  XRAY        1.460    0.20    0.23
+2UUYB        52  XRAY        1.150    0.13    0.16
+2UV4A       152  XRAY        1.330    0.17    0.21
+2UVKA       357  XRAY        1.500    0.18    0.22
+2UX9A        69  XRAY        1.400    0.17    0.19
+2UXWA       607  XRAY        1.450    0.15    0.17
+2UY2A       294  XRAY        1.600    0.17    0.19
+2UYTA       489  XRAY        1.550    0.18    0.21
+2V03A       303  XRAY        1.330    0.16    0.17
+2V1MA       169  XRAY        1.000    0.18    0.18
+2V1QB        60  XRAY        1.200    0.15    0.19
+2V25A       259  XRAY        1.490    0.17    0.18
+2V27B       275  XRAY        1.500    0.16    0.20
+2V2GC       233  XRAY        1.600    0.16    0.20
+2V33B        91  XRAY        1.550    0.20    0.23
+2V3GA       283  XRAY        1.200    0.12    0.14
+2V3IA       434  XRAY        1.050    0.12    0.14
+2V3ZA       440  XRAY        1.560    0.14    0.15
+2V4XA       140  XRAY        1.500    0.15    0.18
+2V52M        32  XRAY        1.450    0.15    0.19
+2V6KB       214  XRAY        1.300    0.15    0.17
+2V6UA       104  XRAY        1.600    0.17    0.19
+2V6VB       156  XRAY        1.500    0.22    0.26
+2V76C       107  XRAY        1.600    0.19    0.22
+2V7FA       150  XRAY        1.150    0.14    0.15
+2V89B        82  XRAY        1.100    0.12    0.15
+2V8FA       140  XRAY        1.100    0.15    0.17
+2V8FC        21  XRAY        1.100    0.15    0.17
+2V8IA       543  XRAY        1.500    0.22    0.24
+2V8TB       302  XRAY        0.980    0.10    0.12
+2V9LA       274  XRAY        1.230    0.09    0.12
+2V9VA       135  XRAY        1.100    0.12    0.14
+2VB1A       129  XRAY        0.650    0.08    0.10
+2VBFA       570  XRAY        1.600    0.17    0.20
+2VBKA       514  XRAY        1.250    0.12    0.14
+2VC8A        84  XRAY        1.310    0.20    0.23
+2VCHA       480  XRAY        1.450    0.18    0.20
+2VCLA       233  XRAY        1.550    0.17    0.19
+2VCNA       261  XRAY        1.200    0.21    0.23
+2VD8A       391  XRAY        1.470    0.17    0.20
+2VE8F        73  XRAY        1.400    0.15    0.19
+2VFOA       559  XRAY        1.500    0.12    0.14
+2VFRA       422  XRAY        1.100    0.14    0.17
+2VH3A       113  XRAY        1.160    0.22    0.24
+2VH7A        99  XRAY        1.450    0.21    0.23
+2VHAA       287  XRAY        1.000    0.14    0.17
+2VIFA       141  XRAY        1.450    0.14    0.20
+2VIMA       104  XRAY        1.380    0.19    0.25
+2VK2A       306  XRAY        1.200    0.18    0.19
+2VK8C       563  XRAY        1.420    0.18    0.19
+2VLAA       285  XRAY        1.300    0.14    0.17
+2VLQA        86  XRAY        1.600    0.17    0.20
+2VMHA       151  XRAY        1.500    0.15    0.18
+2VN6A       151  XRAY        1.490    0.18    0.21
+2VNGA       180  XRAY        1.400    0.19    0.23
+2VOKA       188  XRAY        1.300    0.21    0.24
+2VOVA       336  XRAY        1.350    0.19    0.21
+2VPAA       216  XRAY        1.200    0.14    0.18
+2VPNB       316  XRAY        1.550    0.16    0.20
+2VPTA       215  XRAY        1.400    0.15    0.18
+2VQ2A       225  XRAY        1.540    0.17    0.18
+2VQ8A       139  XRAY        1.350    0.18    0.22
+2VQPA       257  XRAY        1.600    0.18    0.22
+2VQRA       543  XRAY        1.420    0.16    0.18
+2VUVA       129  XRAY        1.300    0.14    0.16
+2VW8A       303  XRAY        1.450    0.17    0.19
+2VWSA       267  XRAY        1.390    0.17    0.19
+2VXNA       251  XRAY        0.820    0.09    0.10
+2VXTI       157  XRAY        1.490    0.16    0.20
+2VY8A       157  XRAY        1.200    0.19    0.21
+2VYOA       254  XRAY        1.500    0.20    0.21
+2VZCA       131  XRAY        1.050    0.14    0.16
+2VZPA       127  XRAY        1.050    0.13    0.15
+2W15A       202  XRAY        1.050    0.12    0.14
+2W1JB       212  XRAY        1.240    0.17    0.18
+2W1RA       123  XRAY        1.500    0.22    0.24
+2W1SA       192  XRAY        1.450    0.18    0.23
+2W1VB       276  XRAY        1.490    0.14    0.18
+2W31A       162  XRAY        1.500    0.17    0.21
+2W39A       298  XRAY        1.100    0.14    0.15
+2W3GB       153  XRAY        1.400    0.19    0.22
+2W3PB       556  XRAY        1.500    0.19    0.21
+2W3QA       243  XRAY        1.340    0.14    0.18
+2W3ZA       311  XRAY        1.450    0.17    0.18
+2W40D       503  XRAY        1.490    0.17    0.21
+2W50A       102  XRAY        1.600    0.21    0.24
+2W5AA       279  XRAY        1.550    0.17    0.19
+2W5QA       424  XRAY        1.200    0.17    0.18
+2W6AA        63  XRAY        1.400    0.16    0.20
+2W72D       146  XRAY        1.070    0.13    0.15
+2W7AB       100  XRAY        1.400    0.14    0.18
+2W7ZB       214  XRAY        1.600    0.19    0.22
+2W87B       139  XRAY        1.600    0.14    0.19
+2W8TA       427  XRAY        1.250    0.15    0.17
+2W8XB        72  XRAY        1.600    0.14    0.17
+2W91A       653  XRAY        1.400    0.13    0.16
+2W9HA       159  XRAY        1.480    0.17    0.21
+2WAGA       220  XRAY        1.400    0.19    0.21
+2WAWA       199  XRAY        1.600    0.17    0.20
+2WB9A       211  XRAY        1.590    0.18    0.22
+2WBFX       265  XRAY        1.600    0.15    0.18
+2WBQA       358  XRAY        1.100    0.14    0.18
+2WCJA       141  XRAY        1.400    0.18    0.23
+2WCWB       139  XRAY        1.580    0.16    0.19
+2WDCA       562  XRAY        1.500    0.17    0.19
+2WDSA       143  XRAY        1.350    0.18    0.20
+2WE5B       310  XRAY        1.390    0.20    0.21
+2WF7A       221  XRAY        1.050    0.15    0.18
+2WFIA       179  XRAY        0.750    0.11    0.12
+2WFWA       153  XRAY        1.600    0.21    0.25
+2WH6A       173  XRAY        1.500    0.20    0.20
+2WH7A       178  XRAY        1.600    0.21    0.26
+2WI8A       311  XRAY        1.550    0.18    0.21
+2WIYA       394  XRAY        1.490    0.15    0.18
+2WJ5A       101  XRAY        1.120    0.15    0.18
+2WK1A       282  XRAY        1.400    0.15    0.16
+2WKJD       303  XRAY        1.450    0.17    0.19
+2WKKB       150  XRAY        1.500    0.15    0.19
+2WLRA       423  XRAY        1.450    0.18    0.20
+2WLVA       144  XRAY        1.250    0.15    0.18
+2WM5A       435  XRAY        1.500    0.15    0.18
+2WMFA       581  XRAY        1.500    0.13    0.16
+2WN3B       254  XRAY        1.590    0.15    0.18
+2WNFA       298  XRAY        1.250    0.18    0.20
+2WNKA       238  XRAY        1.550    0.20    0.25
+2WNPF       217  XRAY        1.210    0.18    0.19
+2WNVB       136  XRAY        1.250    0.18    0.20
+2WNVD       134  XRAY        1.250    0.18    0.20
+2WNXA       170  XRAY        1.310    0.12    0.15
+2WOLA       562  XRAY        1.450    0.19    0.20
+2WOYA       356  XRAY        1.500    0.18    0.21
+2WQ4A       156  XRAY        1.420    0.13    0.17
+2WQFA       202  XRAY        1.350    0.13    0.15
+2WQKB       251  XRAY        1.500    0.16    0.19
+2WRAA       128  XRAY        1.100    0.14    0.17
+2WRYA       162  XRAY        1.580    0.19    0.23
+2WSBC       254  XRAY        1.250    0.14    0.18
+2WSDA       513  XRAY        1.600    0.18    0.19
+2WTGA       159  XRAY        1.500    0.17    0.20
+2WTMD       251  XRAY        1.600    0.16    0.19
+2WTPA       131  XRAY        1.500    0.16    0.19
+2WU9B       442  XRAY        1.500    0.15    0.18
+2WUHA       178  XRAY        1.600    0.20    0.23
+2WUJB        57  XRAY        1.400    0.19    0.22
+2WURA       238  XRAY        0.900    0.15    0.17
+2WVFB       148  XRAY        1.600    0.18    0.20
+2WW6C        27  XRAY        0.980    0.13    0.15
+2WWEA       127  XRAY        1.250    0.17    0.18
+2WWXB       217  XRAY        1.500    0.21    0.23
+2WY4A       140  XRAY        1.350    0.18    0.21
+2WZ8A       156  XRAY        1.500    0.13    0.17
+2WZ9A       153  XRAY        1.550    0.16    0.18
+2WZBA       416  XRAY        1.470    0.16    0.19
+2WZOA       146  XRAY        1.600    0.18    0.20
+2X1FA        96  XRAY        1.600    0.21    0.24
+2X2SA       153  XRAY        1.600    0.14    0.16
+2X32A       179  XRAY        1.550    0.16    0.19
+2X3MA       239  XRAY        1.450    0.18    0.20
+2X46A       144  XRAY        1.000    0.14    0.16
+2X49A       333  XRAY        1.500    0.19    0.23
+2X4KB        63  XRAY        1.100    0.19    0.20
+2X4LA       325  XRAY        1.500    0.18    0.21
+2X4WB        21  XRAY        1.500    0.19    0.22
+2X5NA       192  XRAY        1.300    0.12    0.17
+2X5OA       439  XRAY        1.460    0.19    0.22
+2X5PA       121  XRAY        1.600    0.14    0.17
+2X5XA       342  XRAY        1.200    0.14    0.18
+2X5YA       173  XRAY        1.050    0.13    0.15
+2X7MA       195  XRAY        1.500    0.18    0.20
+2X8SB       470  XRAY        1.500    0.15    0.17
+2X9GC       288  XRAY        1.100    0.12    0.15
+2X9OA       244  XRAY        1.550    0.18    0.23
+2X9ZA       262  XRAY        1.300    0.15    0.18
+2XDPA       123  XRAY        1.560    0.19    0.21
+2XDWA       710  XRAY        1.350    0.16    0.19
+2XEPB       458  XRAY        1.500    0.20    0.22
+2XETB        89  XRAY        1.600    0.17    0.21
+2XEUA        64  XRAY        1.500    0.17    0.20
+2XEVB       129  XRAY        1.570    0.20    0.23
+2XFDA       112  XRAY        1.190    0.12    0.15
+2XFNB       520  XRAY        1.600    0.17    0.19
+2XFRA       535  XRAY        0.970    0.11    0.13
+2XGUA       149  XRAY        1.502    0.20    0.22
+2XHFB       171  XRAY        1.300    0.15    0.18
+2XHGA       466  XRAY        1.500    0.16    0.18
+2XHIA       360  XRAY        1.550    0.23    0.27
+2XI8B        66  XRAY        1.210    0.14    0.17
+2XIOA       301  XRAY        1.190    0.17    0.19
+2XIRA       316  XRAY        1.500    0.22    0.24
+2XJ4A       286  XRAY        1.600    0.13    0.17
+2XJPA       258  XRAY        0.950    0.11    0.12
+2XKIA       110  XRAY        1.300    0.15    0.18
+2XMJB        64  XRAY        1.080    0.12    0.15
+2XN6A       350  XRAY        1.290    0.21    0.23
+2XN6B        35  XRAY        1.290    0.21    0.23
+2XNQA        97  XRAY        1.300    0.18    0.19
+2XODA       119  XRAY        0.960    0.12    0.15
+2XOLB       176  XRAY        1.350    0.15    0.18
+2XOMA       152  XRAY        0.950    0.10    0.12
+2XPWA       207  XRAY        1.440    0.18    0.20
+2XQQC        89  XRAY        1.310    0.12    0.16
+2XRHA       100  XRAY        1.500    0.18    0.21
+2XRWA       371  XRAY        1.330    0.17    0.19
+2XRYA       482  XRAY        1.500    0.18    0.21
+2XS2A       102  XRAY        1.350    0.16    0.19
+2XTPA       260  XRAY        1.500    0.18    0.20
+2XTSA       390  XRAY        1.330    0.11    0.11
+2XTSD       205  XRAY        1.330    0.11    0.11
+2XTTA        36  XRAY        0.930    0.12    0.14
+2XU3A       220  XRAY        0.900    0.14    0.15
+2XUVC        79  XRAY        1.500    0.18    0.20
+2XVMA       199  XRAY        1.480    0.17    0.23
+2XW6C       134  XRAY        1.080    0.13    0.16
+2XW9A       228  XRAY        1.200    0.14    0.18
+2XWLA       223  XRAY        1.490    0.19    0.21
+2XWSA       133  XRAY        1.600    0.19    0.21
+2XWVA       312  XRAY        1.050    0.13    0.15
+2XZ2A        66  XRAY        1.400    0.20    0.24
+2XZIB       386  XRAY        1.450    0.18    0.20
+2Y0OA       175  XRAY        1.229    0.15    0.18
+2Y24A       383  XRAY        1.390    0.12    0.17
+2Y27A       437  XRAY        1.600    0.17    0.19
+2Y3CA       294  XRAY        1.400    0.15    0.17
+2Y53A       534  XRAY        1.400    0.16    0.18
+2Y5PD        74  XRAY        1.300    0.16    0.20
+2Y6XA       113  XRAY        1.600    0.19    0.24
+2Y71A       146  XRAY        1.500    0.13    0.16
+2Y78A       133  XRAY        0.910    0.11    0.12
+2Y7EB       282  XRAY        1.280    0.14    0.17
+2Y8KA       491  XRAY        1.470    0.15    0.17
+2Y8YA       215  XRAY        1.440    0.18    0.20
+2Y9UA        69  XRAY        1.600    0.19    0.21
+2YBYA       124  XRAY        1.580    0.19    0.22
+2YC3A       228  XRAY        1.400    0.17    0.20
+2YCDA       230  XRAY        1.400    0.17    0.19
+2YD6A       212  XRAY        1.350    0.14    0.17
+2YEXA       276  XRAY        1.300    0.14    0.16
+2YFOA       720  XRAY        1.350    0.12    0.14
+2YH5A       127  XRAY        1.250    0.15    0.18
+2YH6C       112  XRAY        1.550    0.20    0.23
+2YHGA       437  XRAY        1.080    0.13    0.15
+2YIMB       360  XRAY        1.410    0.19    0.20
+2YKZA       127  XRAY        0.840    0.11    0.12
+2YLNA       283  XRAY        1.120    0.11    0.14
+2YMVA       330  XRAY        1.600    0.12    0.15
+2YN0A       271  XRAY        1.500    0.16    0.18
+2YNAA       306  XRAY        1.500    0.16    0.17
+2YOGB       210  XRAY        1.500    0.18    0.23
+2YV9B       291  XRAY        1.600    0.19    0.23
+2YVEB       185  XRAY        1.400    0.20    0.22
+2YVTA       260  XRAY        1.600    0.17    0.20
+2YWIB       196  XRAY        1.600    0.20    0.22
+2YWKA        95  XRAY        1.540    0.19    0.21
+2YWLB       180  XRAY        1.600    0.19    0.21
+2YXMA       100  XRAY        1.510    0.20    0.21
+2YXOA       267  XRAY        1.600    0.20    0.22
+2YYKA       481  XRAY        1.600    0.20    0.20
+2YZVA       303  XRAY        1.600    0.19    0.22
+2YZYA       200  XRAY        1.600    0.23    0.25
+2Z08A       137  XRAY        1.550    0.20    0.24
+2Z0JF       237  XRAY        1.500    0.19    0.21
+2Z26B       347  XRAY        1.290    0.13    0.15
+2Z3HA       130  XRAY        1.500    0.17    0.18
+2Z4UA       261  XRAY        1.100    0.14    0.15
+2Z51A       154  XRAY        1.350    0.14    0.17
+2Z5WA       136  XRAY        1.350    0.17    0.19
+2Z6OA       172  XRAY        1.600    0.20    0.22
+2Z6RA       265  XRAY        1.500    0.20    0.21
+2Z72A       342  XRAY        1.100    0.12    0.16
+2Z8XA       617  XRAY        1.480    0.18    0.19
+2Z98A       200  XRAY        1.400    0.19    0.22
+2ZA4D        90  XRAY        1.580    0.20    0.20
+2ZADD       345  XRAY        1.600    0.18    0.20
+2ZATB       260  XRAY        1.500    0.16    0.19
+2ZBLA       421  XRAY        1.600    0.15    0.18
+2ZBXA       412  XRAY        1.500    0.20    0.22
+2ZCMA       192  XRAY        1.330    0.19    0.22
+2ZCWA       202  XRAY        1.500    0.22    0.23
+2ZDPB       110  XRAY        1.500    0.18    0.20
+2ZEXB       147  XRAY        1.200    0.16    0.18
+2ZFDA       226  XRAY        1.200    0.18    0.19
+2ZFDB       123  XRAY        1.200    0.18    0.19
+2ZFIA       366  XRAY        1.550    0.20    0.22
+2ZHJA       322  XRAY        1.350    0.14    0.20
+2ZHNA       148  XRAY        1.300    0.18    0.19
+2ZIBA       133  XRAY        1.340    0.13    0.16
+2ZK9X       185  XRAY        1.150    0.10    0.14
+2ZL7A       295  XRAY        1.350    0.17    0.19
+2ZNRA       178  XRAY        1.200    0.15    0.17
+2ZOUA       149  XRAY        1.450    0.20    0.22
+2ZPMA        91  XRAY        0.980    0.15    0.18
+2ZPTX       295  XRAY        1.150    0.15    0.16
+2ZQ0A       738  XRAY        1.600    0.17    0.19
+2ZS0A       140  XRAY        1.600    0.17    0.20
+2ZS0B       142  XRAY        1.600    0.17    0.20
+2ZS0C       147  XRAY        1.600    0.17    0.20
+2ZS0D       145  XRAY        1.600    0.17    0.20
+2ZUXB       591  XRAY        1.320    0.17    0.18
+2ZW2A        92  XRAY        1.550    0.21    0.24
+2ZWSA       646  XRAY        1.400    0.18    0.21
+2ZXYA        87  XRAY        1.150    0.13    0.16
+2ZYOA       397  XRAY        1.550    0.19    0.22
+2ZZVA       361  XRAY        1.400    0.17    0.18
+3A02A        60  XRAY        1.000    0.17    0.18
+3A07A       118  XRAY        1.190    0.15    0.16
+3A09A       490  XRAY        1.400    0.13    0.21
+3A0SA        96  XRAY        1.470    0.21    0.23
+3A0YB       152  XRAY        1.570    0.20    0.22
+3A16C       373  XRAY        1.600    0.25    0.27
+3A1SB       258  XRAY        1.500    0.17    0.22
+3A2ZA       197  XRAY        1.500    0.18    0.20
+3A35A       190  XRAY        1.421    0.20    0.23
+3A4RB        79  XRAY        1.000    0.16    0.18
+3A57A       165  XRAY        1.500    0.13    0.17
+3A5FA       291  XRAY        1.190    0.11    0.14
+3A6RB       122  XRAY        1.200    0.17    0.19
+3A72A       355  XRAY        1.040    0.10    0.12
+3A8GA       207  XRAY        1.110    0.14    0.17
+3A8GB       212  XRAY        1.110    0.14    0.17
+3A99A       320  XRAY        1.600    0.19    0.21
+3A9FB        92  XRAY        1.300    0.14    0.15
+3A9JC        34  XRAY        1.180    0.17    0.19
+3A9SA       595  XRAY        1.600    0.17    0.19
+3A9ZA       432  XRAY        1.550    0.19    0.21
+3AALA       303  XRAY        1.600    0.20    0.22
+3AAMA       270  XRAY        1.580    0.20    0.22
+3ACHA       203  XRAY        1.400    0.16    0.20
+3ACXA       293  XRAY        1.310    0.16    0.18
+3AGNA       114  XRAY        0.960    0.12    0.13
+3AGTB       136  XRAY        1.400    0.20    0.23
+3AH9E        27  XRAY        1.080    0.17    0.19
+3AIAA       211  XRAY        1.400    0.19    0.22
+3AJ3A       274  XRAY        1.577    0.16    0.19
+3AJ4A       112  XRAY        1.000    0.11    0.13
+3AJ6B       286  XRAY        1.480    0.17    0.19
+3AJ7A       589  XRAY        1.300    0.17    0.19
+3AJDA       274  XRAY        1.270    0.17    0.18
+3AJXC       207  XRAY        1.600    0.19    0.21
+3AK2C       214  XRAY        1.350    0.19    0.20
+3AK8E       167  XRAY        1.250    0.18    0.21
+3AKBA       166  XRAY        1.500    0.21    0.23
+3AKEA       208  XRAY        1.500    0.22    0.24
+3AKSA       190  XRAY        0.970    0.19    0.19
+3ALFA       353  XRAY        1.200    0.18    0.19
+3ALJA       379  XRAY        1.480    0.17    0.21
+3AMNB       265  XRAY        1.470    0.17    0.20
+3AMRA       355  XRAY        1.250    0.14    0.18
+3AOFB       317  XRAY        1.288    0.17    0.19
+3AOWC       448  XRAY        1.560    0.18    0.22
+3ARXA       584  XRAY        1.160    0.16    0.18
+3ASLA        70  XRAY        1.410    0.16    0.20
+3AWUA       281  XRAY        1.160    0.14    0.17
+3AWUB       134  XRAY        1.160    0.14    0.17
+3AYJB       721  XRAY        1.100    0.11    0.13
+3AZDA        37  XRAY        0.980    0.17    0.17
+3B0FB        53  XRAY        1.400    0.17    0.20
+3B0GA       591  XRAY        1.250    0.16    0.17
+3B0TA       254  XRAY        1.300    0.18    0.20
+3B0XA       575  XRAY        1.360    0.17    0.20
+3B1NB       326  XRAY        1.550    0.17    0.20
+3B34A       891  XRAY        1.300    0.18    0.19
+3B4NB       344  XRAY        1.450    0.18    0.20
+3B4QB        94  XRAY        1.550    0.19    0.22
+3B4UB       294  XRAY        1.200    0.13    0.16
+3B5MC       205  XRAY        1.210    0.18    0.20
+3B5NC        70  XRAY        1.600    0.21    0.25
+3B5ND        64  XRAY        1.600    0.21    0.25
+3B5NI        61  XRAY        1.600    0.21    0.25
+3B5OA       244  XRAY        1.350    0.16    0.17
+3B64A       112  XRAY        1.030    0.14    0.16
+3B79A       129  XRAY        1.370    0.16    0.18
+3B9TB       484  XRAY        1.580    0.14    0.18
+3B9WA       407  XRAY        1.300    0.15    0.17
+3BA1A       333  XRAY        1.470    0.15    0.20
+3BA3A       145  XRAY        1.550    0.17    0.20
+3BB0A       609  XRAY        1.500    0.17    0.19
+3BB7A       321  XRAY        1.500    0.16    0.19
+3BC9A       599  XRAY        1.350    0.15    0.18
+3BCWB       123  XRAY        1.600    0.17    0.20
+3BD1B        79  XRAY        1.400    0.15    0.18
+3BDIA       207  XRAY        1.450    0.16    0.19
+3BEDA       142  XRAY        1.450    0.16    0.20
+3BEUB       224  XRAY        1.050    0.12    0.15
+3BEXA       249  XRAY        1.510    0.19    0.21
+3BF7A       255  XRAY        1.100    0.20    0.21
+3BFOB        91  XRAY        1.150    0.18    0.21
+3BGUA       116  XRAY        1.500    0.20    0.24
+3BHDB       234  XRAY        1.500    0.18    0.20
+3BHQB       211  XRAY        1.540    0.17    0.19
+3BHWA       209  XRAY        1.500    0.24    0.28
+3BJEB       349  XRAY        1.440    0.16    0.18
+3BKRA       126  XRAY        1.400    0.19    0.22
+3BKWB       243  XRAY        1.600    0.17    0.20
+3BLNA       143  XRAY        1.310    0.14    0.17
+3BM7A       115  XRAY        1.350    0.19    0.21
+3BMVA       683  XRAY        1.600    0.14    0.16
+3BMXB       642  XRAY        1.400    0.13    0.17
+3BMZB       199  XRAY        1.210    0.17    0.20
+3BNJA       485  XRAY        1.300    0.18    0.21
+3BO5A       290  XRAY        1.590    0.16    0.20
+3BO6A       220  XRAY        1.400    0.16    0.19
+3BOEA       210  XRAY        1.400    0.17    0.19
+3BOMC       143  XRAY        1.350    0.17    0.21
+3BONA       425  XRAY        1.200    0.13    0.16
+3BPKB       206  XRAY        1.560    0.15    0.19
+3BPTA       363  XRAY        1.500    0.15    0.20
+3BPVA       138  XRAY        1.400    0.24    0.26
+3BQPB        80  XRAY        1.300    0.18    0.23
+3BQXA       150  XRAY        1.400    0.24    0.25
+3BR8A        91  XRAY        1.330    0.19    0.23
+3BRCB       156  XRAY        1.600    0.19    0.24
+3BS4A       260  XRAY        1.600    0.18    0.21
+3BT5A       177  XRAY        1.350    0.16    0.19
+3BUUA       229  XRAY        1.200    0.16    0.19
+3BUXD       329  XRAY        1.350    0.23    0.24
+3BVFF       181  XRAY        1.500    0.17    0.18
+3BVXA      1045  XRAY        1.100    0.15    0.19
+3BWHA       245  XRAY        1.000    0.17    0.18
+3BWVB       180  XRAY        1.550    0.18    0.22
+3BWXA       285  XRAY        1.500    0.16    0.20
+3BWZA       181  XRAY        1.200    0.12    0.15
+3BY4A       212  XRAY        1.550    0.19    0.21
+3BY8A       142  XRAY        1.450    0.22    0.23
+3C2UC       538  XRAY        1.300    0.14    0.16
+3C3YB       237  XRAY        1.371    0.19    0.22
+3C5EA       570  XRAY        1.600    0.16    0.19
+3C6AA       232  XRAY        1.160    0.13    0.17
+3C70A       257  XRAY        1.050    0.10    1.00
+3C7MA       195  XRAY        1.550    0.17    0.19
+3C8CB       240  XRAY        1.500    0.20    0.23
+3C8LB       122  XRAY        1.220    0.16    0.18
+3C8WC       255  XRAY        1.600    0.20    0.23
+3C8YA       574  XRAY        1.390    0.14    0.19
+3C8ZB       414  XRAY        1.600    0.19    0.21
+3C9AA       223  XRAY        1.600    0.20    0.24
+3C9UA       342  XRAY        1.480    0.20    0.22
+3C9ZA       258  XRAY        1.350    0.16    0.20
+3CA7A        52  XRAY        1.500    0.20    0.24
+3CAOA       103  XRAY        1.600    0.20    0.23
+3CAYF        27  XRAY        1.200    0.14    0.17
+3CB0A       173  XRAY        1.600    0.20    0.23
+3CBWA       353  XRAY        1.269    0.15    0.17
+3CBZA       108  XRAY        1.380    0.14    0.17
+3CCDB        85  XRAY        1.000    0.19    0.20
+3CCGA       190  XRAY        1.500    0.18    0.22
+3CECA       104  XRAY        1.600    0.17    0.20
+3CH0A       272  XRAY        1.500    0.16    0.19
+3CHJA       337  XRAY        1.600    0.20    0.23
+3CHMA       169  XRAY        1.500    0.17    0.20
+3CHVA       284  XRAY        1.450    0.13    0.16
+3CI3A       194  XRAY        1.110    0.16    0.18
+3CI6B       171  XRAY        1.550    0.17    0.20
+3CIJB       295  XRAY        1.070    0.13    0.15
+3CIMA        99  XRAY        1.300    0.17    0.22
+3CJMA       282  XRAY        1.500    0.15    0.17
+3CJSA        59  XRAY        1.370    0.18    0.21
+3CJSB        72  XRAY        1.370    0.18    0.21
+3CJWA       244  XRAY        1.480    0.17    0.24
+3CKCA       527  XRAY        1.500    0.19    0.21
+3CKKA       235  XRAY        1.550    0.20    0.22
+3CKMA       327  XRAY        1.350    0.16    0.19
+3CL6B       308  XRAY        1.580    0.21    0.23
+3CLMA       352  XRAY        1.140    0.13    0.16
+3CM3A       176  XRAY        1.320    0.17    0.18
+3CMBD       283  XRAY        1.600    0.23    0.26
+3COVA       301  XRAY        1.500    0.17    0.20
+3CP5A       124  XRAY        1.240    0.13    0.17
+3CP7B       218  XRAY        1.390    0.18    0.20
+3CRNA       132  XRAY        1.580    0.18    0.22
+3CT5A       159  XRAY        1.370    0.20    0.23
+3CT6B       131  XRAY        1.100    0.15    0.18
+3CTGA       129  XRAY        1.500    0.20    0.20
+3CTPA       330  XRAY        1.410    0.18    0.21
+3CTZA       623  XRAY        1.600    0.16    0.20
+3CU4A        85  XRAY        1.300    0.17    0.18
+3CU9A       314  XRAY        1.060    0.15    0.18
+3CUZA       532  XRAY        1.040    0.15    0.17
+3CWNB       337  XRAY        1.400    0.15    0.17
+3CWRB       208  XRAY        1.500    0.15    0.19
+3CX2A       108  XRAY        1.300    0.16    0.21
+3CXNB       274  XRAY        1.550    0.19    0.21
+3CYPD       138  XRAY        1.600    0.19    0.23
+3CZ1B       119  XRAY        1.500    0.15    0.20
+3CZXB       182  XRAY        1.600    0.18    0.22
+3D02A       303  XRAY        1.300    0.16    0.17
+3D06A       200  XRAY        1.200    0.18    0.20
+3D0JA       140  XRAY        1.530    0.17    0.18
+3D1PA       139  XRAY        0.980    0.11    0.12
+3D22A       139  XRAY        1.600    0.19    0.20
+3D2QD        70  XRAY        1.500    0.20    0.22
+3D32B       119  XRAY        1.300    0.18    0.20
+3D3BA       141  XRAY        1.300    0.17    0.20
+3D3BJ        87  XRAY        1.300    0.17    0.20
+3D40A       286  XRAY        1.530    0.17    0.20
+3D4EA       179  XRAY        1.400    0.18    0.20
+3D59A       383  XRAY        1.500    0.14    0.19
+3D5PA       144  XRAY        1.450    0.16    0.17
+3D7JB       152  XRAY        1.450    0.21    0.22
+3D9AL       213  XRAY        1.200    0.19    0.20
+3D9NA       145  XRAY        1.600    0.17    0.20
+3D9XB       163  XRAY        1.130    0.16    0.18
+3DA8B       215  XRAY        1.300    0.17    0.19
+3DAQA       292  XRAY        1.450    0.13    0.16
+3DASA       347  XRAY        1.600    0.13    0.16
+3DB7A       127  XRAY        1.400    0.16    0.20
+3DEOA       183  XRAY        1.500    0.17    0.21
+3DFFA       273  XRAY        1.600    0.20    0.22
+3DFGA       162  XRAY        1.500    0.20    0.23
+3DG6A       367  XRAY        1.600    0.19    0.20
+3DHAA       254  XRAY        0.950    0.13    0.17
+3DI4B       286  XRAY        1.600    0.14    0.17
+3DJEB       438  XRAY        1.600    0.17    0.20
+3DK9A       478  XRAY        0.950    0.12    0.15
+3DKMA        89  XRAY        1.600    0.16    0.18
+3DKRA       251  XRAY        1.600    0.17    0.18
+3DLCA       219  XRAY        1.150    0.12    0.14
+3DMGA       381  XRAY        1.550    0.19    0.22
+3DNJA        85  XRAY        1.150    0.14    0.16
+3DO8A       148  XRAY        1.600    0.17    0.21
+3DOUA       191  XRAY        1.450    0.17    0.20
+3DQPA       219  XRAY        1.400    0.17    0.17
+3DQYA       106  XRAY        1.200    0.18    0.20
+3DR4D       391  XRAY        1.600    0.17    0.24
+3DRFA       590  XRAY        1.300    0.13    0.16
+3DS4B        86  XRAY        1.120    0.21    0.23
+3DSBB       157  XRAY        1.480    0.17    0.20
+3DSKA       495  XRAY        1.550    0.18    0.21
+3DSOA        74  XRAY        1.550    0.20    0.21
+3DUWA       223  XRAY        1.200    0.22    0.23
+3DWGC        93  XRAY        1.530    0.18    0.22
+3DXLA       303  XRAY        1.300    0.19    0.21
+3DXYA       218  XRAY        1.500    0.15    0.18
+3E0EA        97  XRAY        1.600    0.23    0.27
+3E0XB       245  XRAY        1.450    0.14    0.18
+3E10B       168  XRAY        1.400    0.13    0.17
+3E23A       211  XRAY        1.600    0.16    0.18
+3E2DA       502  XRAY        1.400    0.16    0.17
+3E2OA       294  XRAY        1.060    0.17    0.20
+3E2VA       401  XRAY        1.500    0.17    0.20
+3E3MC       355  XRAY        1.600    0.18    0.21
+3E3UA       197  XRAY        1.560    0.17    0.20
+3E48A       289  XRAY        1.600    0.19    0.20
+3E4GA       176  XRAY        0.960    0.14    0.16
+3E4VA       186  XRAY        1.400    0.12    0.15
+3E7RL        40  XRAY        1.000    0.20    0.22
+3E8MD       164  XRAY        1.100    0.13    0.14
+3E8OB       119  XRAY        1.400    0.13    0.16
+3E8TA       220  XRAY        1.300    0.14    0.18
+3E9TC       114  XRAY        1.600    0.19    0.22
+3EA6A       219  XRAY        0.920    0.10    0.12
+3EAZA       106  XRAY        1.310    0.20    0.23
+3EBTA       132  XRAY        1.300    0.14    0.16
+3EBVA       302  XRAY        1.500    0.16    0.17
+3EC6A       139  XRAY        1.600    0.19    0.23
+3EC9A       140  XRAY        1.600    0.17    0.20
+3EDHA       201  XRAY        1.250    0.14    0.17
+3EDNB       299  XRAY        1.500    0.18    0.22
+3EDOB       151  XRAY        1.200    0.14    0.16
+3EF8A       150  XRAY        1.500    0.16    0.19
+3EINA       209  XRAY        1.126    0.14    0.16
+3EJ9B        70  XRAY        1.500    0.21    0.25
+3EJ9C        76  XRAY        1.500    0.21    0.25
+3EJFA       176  XRAY        1.600    0.17    0.20
+3EJVA       179  XRAY        1.400    0.14    0.16
+3EKGA       404  XRAY        1.600    0.20    0.21
+3EKIA       403  XRAY        1.600    0.18    0.23
+3ELFA       349  XRAY        1.310    0.16    0.17
+3EN0A       291  XRAY        1.500    0.16    0.18
+3EO6B       106  XRAY        0.970    0.12    0.14
+3EOIB       124  XRAY        1.520    0.19    0.24
+3EOJA       366  XRAY        1.300    0.14    0.16
+3EQXB       373  XRAY        1.600    0.17    0.20
+3ER7A       131  XRAY        1.500    0.18    0.21
+3ERPB       353  XRAY        1.550    0.15    0.18
+3ESSA       230  XRAY        1.191    0.13    0.15
+3ETJA       355  XRAY        1.600    0.16    0.21
+3EURA       142  XRAY        1.300    0.14    0.17
+3EWYA       260  XRAY        1.100    0.13    0.15
+3EXVA       213  XRAY        1.450    0.19    0.23
+3EY6A       121  XRAY        1.050    0.14    0.16
+3EYEA       168  XRAY        1.450    0.19    0.22
+3EYIB        72  XRAY        1.450    0.16    0.19
+3EZGA       196  XRAY        1.150    0.12    0.14
+3F0DF       183  XRAY        1.200    0.19    0.21
+3F14A       112  XRAY        1.450    0.17    0.18
+3F1LB       252  XRAY        0.950    0.17    0.19
+3F1PB       121  XRAY        1.170    0.14    0.17
+3F2ZA       159  XRAY        1.300    0.16    0.17
+3F40A       114  XRAY        1.270    0.18    0.20
+3F43A       125  XRAY        1.590    0.18    0.21
+3F44A       220  XRAY        1.550    0.18    0.20
+3F4SA       226  XRAY        1.550    0.15    0.19
+3F5VB       222  XRAY        1.360    0.16    0.18
+3F6CA       134  XRAY        1.450    0.21    0.26
+3F6VA       151  XRAY        1.480    0.16    0.20
+3F6YA       262  XRAY        1.450    0.15    0.18
+3F7EB       131  XRAY        1.230    0.17    0.19
+3F7XA       151  XRAY        1.240    0.12    0.15
+3F8DA       323  XRAY        1.400    0.21    0.23
+3F8XD       148  XRAY        1.550    0.16    0.19
+3F9MA       470  XRAY        1.500    0.19    0.22
+3F9XD       166  XRAY        1.250    0.18    0.21
+3FBGB       346  XRAY        1.600    0.24    0.28
+3FCNA       164  XRAY        1.450    0.16    0.18
+3FDEA       212  XRAY        1.410    0.15    0.19
+3FDXA       143  XRAY        1.580    0.19    0.21
+3FEDA       707  XRAY        1.290    0.13    0.15
+3FEGA       379  XRAY        1.302    0.16    0.19
+3FG9C       156  XRAY        1.470    0.18    0.21
+3FGHA        67  XRAY        1.350    0.19    0.21
+3FGVA       106  XRAY        1.300    0.13    0.15
+3FGYA       135  XRAY        1.590    0.18    0.21
+3FH1A       129  XRAY        1.600    0.17    0.20
+3FIAA       121  XRAY        1.450    0.16    0.18
+3FILA        56  XRAY        0.880    0.12    0.15
+3FIQB       157  XRAY        1.599    0.14    0.18
+3FJUB        65  XRAY        1.600    0.16    0.20
+3FK8A       133  XRAY        1.300    0.15    0.18
+3FKEB       129  XRAY        1.400    0.20    0.24
+3FMYA        73  XRAY        1.400    0.16    0.18
+3FO3A       525  XRAY        1.400    0.13    0.14
+3FOJA       100  XRAY        1.600    0.19    0.23
+3FPCD       352  XRAY        1.400    0.12    0.15
+3FPWA       192  XRAY        1.600    0.16    0.19
+3FR7B       525  XRAY        1.550    0.20    0.23
+3FRHA       253  XRAY        1.200    0.14    0.16
+3FSAA       125  XRAY        0.980    0.12    0.14
+3FSOA       123  XRAY        1.405    0.18    0.21
+3FSSA       237  XRAY        1.432    0.18    0.21
+3FTDA       249  XRAY        1.440    0.16    0.20
+3FUTA       271  XRAY        1.520    0.21    0.24
+3FW9A       495  XRAY        1.489    0.17    0.20
+3FWKA       308  XRAY        1.200    0.16    0.18
+3FXAD       201  XRAY        1.600    0.14    0.16
+3FYMA       130  XRAY        1.000    0.11    0.14
+3FYNA       176  XRAY        1.449    0.18    0.21
+3FZ4A       120  XRAY        1.380    0.17    0.21
+3G02B       408  XRAY        1.500    0.18    0.20
+3G0KA       148  XRAY        1.300    0.12    0.14
+3G16A       156  XRAY        1.450    0.15    0.17
+3G1PB       258  XRAY        1.400    0.19    0.21
+3G21A        77  XRAY        0.900    0.12    0.14
+3G36C        55  XRAY        1.200    0.20    0.23
+3G46A       146  XRAY        0.910    0.13    0.15
+3G48A       112  XRAY        1.500    0.17    0.20
+3G4EB       297  XRAY        1.420    0.14    0.19
+3G5SA       443  XRAY        1.050    0.16    0.18
+3G5TA       299  XRAY        1.119    0.12    0.14
+3G7NB       258  XRAY        1.300    0.19    0.21
+3G7RB       221  XRAY        1.380    0.15    0.17
+3G89A       249  XRAY        1.500    0.18    0.21
+3G91A       265  XRAY        1.230    0.12    0.17
+3G9YA        33  XRAY        1.400    0.20    0.23
+3GA3A       133  XRAY        1.450    0.18    0.20
+3GA4A       178  XRAY        1.300    0.15    0.19
+3GA7A       326  XRAY        1.550    0.14    0.18
+3GAEA       253  XRAY        1.600    0.18    0.21
+3GBWA       164  XRAY        1.320    0.16    0.19
+3GD6A       391  XRAY        1.600    0.24    0.26
+3GE3A       500  XRAY        1.520    0.17    0.19
+3GE3B       327  XRAY        1.520    0.17    0.19
+3GE3C        84  XRAY        1.520    0.17    0.19
+3GE3E       103  XRAY        1.520    0.17    0.19
+3GFAA       198  XRAY        1.350    0.14    0.16
+3GG7A       254  XRAY        1.500    0.18    0.20
+3GHAA       202  XRAY        1.400    0.21    0.25
+3GHJA       141  XRAY        1.471    0.17    0.18
+3GIRA       393  XRAY        1.600    0.18    0.20
+3GIUB       215  XRAY        1.250    0.12    0.15
+3GIWA       277  XRAY        1.450    0.16    0.18
+3GJ0A       221  XRAY        1.480    0.18    0.20
+3GJUA       460  XRAY        1.550    0.14    0.17
+3GJYA       317  XRAY        1.470    0.16    0.19
+3GKJA       232  XRAY        1.600    0.18    0.20
+3GKRA       336  XRAY        1.600    0.17    0.22
+3GMGB       170  XRAY        1.500    0.18    0.21
+3GMXB       154  XRAY        1.050    0.13    0.15
+3GNEB       252  XRAY        1.200    0.13    0.18
+3GNLB       244  XRAY        1.500    0.20    0.22
+3GNZP       213  XRAY        1.350    0.16    0.18
+3GO5A       285  XRAY        1.400    0.15    0.17
+3GOCB       237  XRAY        1.600    0.18    0.19
+3GOEA        82  XRAY        0.970    0.14    0.17
+3GOHA       315  XRAY        1.550    0.17    0.20
+3GOXB       200  XRAY        1.500    0.17    0.19
+3GP2B        22  XRAY        1.460    0.16    0.19
+3GP6A       163  XRAY        1.400    0.17    0.21
+3GPIA       286  XRAY        1.440    0.19    0.23
+3GPKA       112  XRAY        1.550    0.21    0.23
+3GR3A       230  XRAY        1.450    0.15    0.17
+3GRDB       134  XRAY        1.250    0.14    0.17
+3GRUA       295  XRAY        1.600    0.18    0.21
+3GV3A        63  XRAY        1.600    0.21    0.25
+3GVEA       341  XRAY        1.250    0.15    0.16
+3GWAB       365  XRAY        1.600    0.19    0.21
+3GWIA       170  XRAY        1.600    0.19    0.22
+3GWKC        98  XRAY        1.300    0.15    0.19
+3GXHA       157  XRAY        1.400    0.16    0.18
+3GY9A       150  XRAY        1.520    0.16    0.18
+3GYBB       280  XRAY        1.600    0.22    0.23
+3GZAB       443  XRAY        1.600    0.14    0.17
+3GZBF       154  XRAY        1.440    0.15    0.17
+3GZRB       146  XRAY        1.400    0.14    0.15
+3GZXA       457  XRAY        1.580    0.21    0.22
+3GZXB       186  XRAY        1.580    0.21    0.22
+3H0NA       188  XRAY        1.450    0.14    0.16
+3H0OA       240  XRAY        1.400    0.18    0.20
+3H0UB       289  XRAY        1.500    0.16    0.18
+3H31A        74  XRAY        1.000    0.10    0.14
+3H3HA       122  XRAY        1.600    0.18    0.20
+3H3LB       241  XRAY        1.590    0.17    0.18
+3H4NA        72  XRAY        1.350    0.15    0.17
+3H4OA       191  XRAY        1.500    0.14    0.17
+3H4TA       404  XRAY        1.150    0.17    0.18
+3H4XA       339  XRAY        1.230    0.17    0.19
+3H5JA       171  XRAY        1.200    0.13    0.17
+3H6JA       438  XRAY        1.600    0.17    0.19
+3H74A       282  XRAY        1.300    0.19    0.20
+3H75A       350  XRAY        1.600    0.21    0.23
+3H79A       127  XRAY        1.500    0.18    0.22
+3H7CX       383  XRAY        1.500    0.15    0.17
+3H7HA       120  XRAY        1.550    0.19    0.22
+3H7HB       106  XRAY        1.550    0.19    0.22
+3H7IA       305  XRAY        1.502    0.18    0.21
+3H87B       156  XRAY        1.490    0.16    0.17
+3H87C        73  XRAY        1.490    0.16    0.17
+3H8GC       497  XRAY        1.500    0.15    0.17
+3H9CA       547  XRAY        1.400    0.17    0.19
+3H9MA       436  XRAY        1.570    0.17    0.19
+3HCNA       359  XRAY        1.600    0.21    0.24
+3HDXA       478  XRAY        1.500    0.14    0.16
+3HF5B       116  XRAY        1.400    0.18    0.21
+3HFOB        70  XRAY        1.300    0.15    0.20
+3HHPD       312  XRAY        1.450    0.19    0.21
+3HHTB       229  XRAY        1.160    0.13    0.14
+3HHYA       280  XRAY        1.550    0.21    0.24
+3HJ4B       384  XRAY        1.560    0.16    0.20
+3HKWC       581  XRAY        1.550    0.17    0.19
+3HLXD       258  XRAY        1.300    0.17    0.20
+3HLZA       269  XRAY        1.500    0.17    0.20
+3HM4B       156  XRAY        1.300    0.14    0.17
+3HMCA       192  XRAY        1.440    0.21    0.23
+3HMZA       199  XRAY        1.500    0.13    0.15
+3HNXA       110  XRAY        1.370    0.17    0.21
+3HNYM       159  XRAY        1.070    0.20    0.20
+3HO6A       267  XRAY        1.600    0.17    0.20
+3HO7B       232  XRAY        1.580    0.22    0.24
+3HOIA       193  XRAY        1.550    0.16    0.19
+3HP7A       291  XRAY        1.530    0.15    0.18
+3HPCX       161  XRAY        1.470    0.19    0.23
+3HPWC        36  XRAY        1.452    0.17    0.20
+3HR6A       436  XRAY        1.600    0.19    0.22
+3HS3B       277  XRAY        1.600    0.22    0.23
+3HT1A       145  XRAY        1.200    0.13    0.17
+3HTNA       149  XRAY        1.500    0.14    0.17
+3HU5A       204  XRAY        1.500    0.19    0.23
+3HUHC       152  XRAY        1.500    0.24    0.26
+3HUPA       130  XRAY        1.371    0.14    0.18
+3HV2B       153  XRAY        1.500    0.16    0.19
+3HV8A       268  XRAY        1.445    0.20    0.21
+3HWUA       147  XRAY        1.300    0.12    0.14
+3HX8B       129  XRAY        1.450    0.15    0.19
+3HYNA       189  XRAY        1.200    0.12    0.14
+3HZ8A       193  XRAY        1.450    0.20    0.23
+3HZAA       174  XRAY        1.200    0.12    0.16
+3HZPA       131  XRAY        1.400    0.17    0.18
+3I10A       278  XRAY        1.350    0.15    0.17
+3I2KA       587  XRAY        1.510    0.15    0.15
+3I2VA       127  XRAY        1.250    0.16    0.20
+3I3FB       141  XRAY        1.350    0.18    0.19
+3I45A       387  XRAY        1.360    0.16    0.17
+3I47A       268  XRAY        1.580    0.17    0.18
+3I4GA       528  XRAY        1.350    0.14    0.16
+3I4OA        79  XRAY        1.470    0.16    0.18
+3I6CB       123  XRAY        1.300    0.16    0.21
+3I7MA       140  XRAY        1.460    0.16    0.20
+3I94A       248  XRAY        1.040    0.12    0.15
+3IARA       367  XRAY        1.520    0.15    0.18
+3IB5A       348  XRAY        1.350    0.15    0.18
+3IB7A       330  XRAY        1.600    0.22    0.18
+3IE4B       107  XRAY        1.450    0.19    0.20
+3IE7A       320  XRAY        1.600    0.22    0.24
+3IEZA       114  XRAY        1.500    0.21    0.26
+3IFEA       434  XRAY        1.550    0.15    0.17
+3IFNP        40  XRAY        1.500    0.19    0.21
+3IGSB       232  XRAY        1.500    0.15    0.18
+3IHSA       106  XRAY        1.150    0.16    0.18
+3IISM       151  XRAY        1.400    0.15    0.19
+3IJLA       338  XRAY        1.500    0.19    0.20
+3IKWA       374  XRAY        1.300    0.19    0.21
+3IM9A       316  XRAY        1.460    0.16    0.18
+3IMKA       158  XRAY        1.450    0.15    0.18
+3IP0A       158  XRAY        0.890    0.13    0.13
+3IPCA       356  XRAY        1.300    0.16    0.19
+3IPJA        95  XRAY        1.200    0.14    0.17
+3IPNA        21  XRAY        1.210    0.19    0.26
+3IQLB        71  XRAY        1.400    0.13    0.15
+3IQTA       123  XRAY        1.400    0.14    0.18
+3IQUA       236  XRAY        1.050    0.13    0.15
+3IR4A       218  XRAY        1.200    0.12    0.14
+3IRPX       429  XRAY        1.500    0.17    0.19
+3IRVA       233  XRAY        1.600    0.16    0.19
+3IS3A       270  XRAY        1.480    0.18    0.19
+3ISXA       343  XRAY        1.400    0.15    0.18
+3IT3A       342  XRAY        1.500    0.17    0.19
+3ITFB       145  XRAY        1.450    0.17    0.19
+3ITQB       216  XRAY        1.400    0.20    0.21
+3IUOB       122  XRAY        1.600    0.19    0.22
+3IUWB        83  XRAY        1.580    0.19    0.22
+3IV0A       481  XRAY        1.350    0.15    0.17
+3IV4A       112  XRAY        1.500    0.15    0.19
+3IVVA       145  XRAY        1.250    0.18    0.20
+3IVYA       433  XRAY        1.352    0.16    0.20
+3IVZB       262  XRAY        1.570    0.13    0.18
+3IWFB       107  XRAY        1.400    0.18    0.20
+3IWLA        68  XRAY        1.600    0.18    0.21
+3IX3A       173  XRAY        1.400    0.17    0.21
+3IXLA       240  XRAY        1.450    0.17    0.19
+3JQ0A       493  XRAY        1.130    0.12    0.14
+3JQ1A       481  XRAY        1.550    0.17    0.21
+3JRVA       149  XRAY        1.600    0.14    0.19
+3JRVE        20  XRAY        1.600    0.14    0.19
+3JS8A       540  XRAY        1.540    0.18    0.20
+3JSYB       213  XRAY        1.600    0.23    0.23
+3JTMA       351  XRAY        1.300    0.15    0.18
+3JTZA        88  XRAY        1.300    0.21    0.24
+3JU4A       670  XRAY        0.980    0.12    0.13
+3JUDA       153  XRAY        0.980    0.15    0.18
+3JUMA       185  XRAY        1.450    0.14    0.18
+3JXOB        86  XRAY        1.550    0.16    0.19
+3JYOA       283  XRAY        1.000    0.17    0.19
+3JYZA       150  XRAY        1.550    0.18    0.21
+3JZYA       510  XRAY        1.560    0.22    0.23
+3K01A       412  XRAY        1.350    0.16    0.18
+3K05B       200  XRAY        1.330    0.18    0.20
+3K0BA       393  XRAY        1.500    0.17    0.20
+3K12F       122  XRAY        1.490    0.19    0.21
+3K1UA       330  XRAY        1.550    0.14    0.16
+3K1WA       341  XRAY        1.500    0.20    0.23
+3K1ZA       263  XRAY        1.550    0.17    0.21
+3K21A       191  XRAY        1.150    0.15    0.19
+3K2ZB       196  XRAY        1.370    0.20    0.23
+3K5JA       183  XRAY        1.400    0.14    0.16
+3K67B       159  XRAY        1.250    0.15    0.17
+3K6IA        99  XRAY        1.130    0.14    0.16
+3K6MC       481  XRAY        1.500    0.17    0.18
+3K6YA       237  XRAY        1.300    0.17    0.20
+3K7IB       187  XRAY        1.438    0.16    0.18
+3K7PA       179  XRAY        1.400    0.22    0.23
+3KANB       117  XRAY        1.130    0.11    0.13
+3KB5A       193  XRAY        1.500    0.22    0.24
+3KB9A       382  XRAY        1.598    0.16    0.19
+3KC2A       352  XRAY        1.550    0.14    0.17
+3KE7B       134  XRAY        1.450    0.15    0.18
+3KEOB       212  XRAY        1.500    0.18    0.23
+3KEVA       199  XRAY        1.300    0.16    0.18
+3KFFA       162  XRAY        0.960    0.14    0.16
+3KGKA       110  XRAY        1.400    0.19    0.22
+3KGYB       231  XRAY        1.500    0.15    0.17
+3KH1B       200  XRAY        1.370    0.13    0.16
+3KHFA        99  XRAY        1.200    0.16    0.17
+3KIZA       394  XRAY        1.500    0.16    0.19
+3KKFA       105  XRAY        1.300    0.14    0.17
+3KKGA       146  XRAY        1.400    0.18    0.20
+3KM5A       180  XRAY        1.400    0.18    0.21
+3KMAA       119  XRAY        1.600    0.25    0.26
+3KMHB       246  XRAY        1.580    0.19    0.21
+3KNBA       100  XRAY        1.400    0.17    0.20
+3KNBB       107  XRAY        1.400    0.17    0.20
+3KORA       119  XRAY        1.600    0.19    0.22
+3KPBB       122  XRAY        1.600    0.20    0.23
+3KPEA        51  XRAY        1.470    0.19    0.20
+3KPEB        39  XRAY        1.470    0.19    0.20
+3KRUB       343  XRAY        1.600    0.15    0.18
+3KTCB       333  XRAY        1.540    0.14    0.16
+3KTPB        22  XRAY        1.500    0.22    0.23
+3KTZB       251  XRAY        1.600    0.21    0.23
+3KU3B       174  XRAY        1.600    0.20    0.23
+3KUVB       139  XRAY        1.500    0.20    0.22
+3KWEA       213  XRAY        1.100    0.13    0.14
+3KWRA        97  XRAY        1.450    0.16    0.18
+3KWUA       148  XRAY        1.370    0.17    0.19
+3KXQB       275  XRAY        1.600    0.16    0.19
+3KYJA       144  XRAY        1.400    0.17    0.21
+3KYJB       145  XRAY        1.400    0.17    0.21
+3KYZA       125  XRAY        1.497    0.15    0.18
+3KZ5E        52  XRAY        1.580    0.20    0.23
+3KZDA        94  XRAY        1.300    0.20    0.22
+3L12A       313  XRAY        1.600    0.16    0.19
+3L1NA       194  XRAY        1.300    0.18    0.20
+3L1WD       257  XRAY        1.600    0.17    0.20
+3L32A        45  XRAY        1.500    0.20    0.23
+3L41A       220  XRAY        1.450    0.13    0.19
+3L46A       112  XRAY        1.482    0.18    0.20
+3L4AA       141  XRAY        1.500    0.18    0.21
+3L4EA       206  XRAY        1.500    0.17    0.22
+3L4NA       127  XRAY        1.500    0.18    0.20
+3L4RA       170  XRAY        1.450    0.16    0.17
+3L51A       161  XRAY        1.506    0.15    0.17
+3L51B       166  XRAY        1.506    0.15    0.17
+3L5LA       363  XRAY        1.030    0.13    0.15
+3L6BA       346  XRAY        1.500    0.16    0.18
+3L77A       235  XRAY        1.550    0.13    0.18
+3L81A       301  XRAY        1.600    0.21    0.25
+3L84A       632  XRAY        1.360    0.13    0.15
+3L8AA       421  XRAY        1.539    0.18    0.20
+3L8WA       296  XRAY        1.000    0.14    0.14
+3L9AX        88  XRAY        1.300    0.14    0.15
+3L9CA       259  XRAY        1.600    0.22    0.25
+3LAAA       200  XRAY        1.350    0.12    0.13
+3LAEA        81  XRAY        1.453    0.17    0.22
+3LAGA        98  XRAY        1.150    0.19    0.22
+3LAXA       109  XRAY        1.428    0.18    0.23
+3LB2B       137  XRAY        1.060    0.17    0.18
+3LD7A       101  XRAY        1.547    0.17    0.19
+3LDCA        82  XRAY        1.450    0.19    0.20
+3LEDA       392  XRAY        1.450    0.15    0.17
+3LF5A        88  XRAY        1.250    0.15    0.17
+3LFJB       187  XRAY        1.556    0.19    0.21
+3LFKB       129  XRAY        1.600    0.21    0.23
+3LFRB       136  XRAY        1.530    0.18    0.21
+3LFTB       295  XRAY        1.350    0.18    0.20
+3LG3B       435  XRAY        1.400    0.13    0.17
+3LGBB       194  XRAY        1.540    0.15    0.16
+3LHCA       100  XRAY        1.340    0.20    0.22
+3LHIA       232  XRAY        1.330    0.13    0.16
+3LHNA       126  XRAY        1.420    0.17    0.18
+3LHQB       220  XRAY        1.560    0.15    0.20
+3LHSA       296  XRAY        1.300    0.15    0.19
+3LJMC        31  XRAY        1.360    0.18    0.21
+3LJWB       120  XRAY        1.501    0.17    0.20
+3LK7A       451  XRAY        1.500    0.19    0.21
+3LKMA       307  XRAY        1.600    0.20    0.22
+3LLOA       143  XRAY        1.570    0.16    0.20
+3LLUA       196  XRAY        1.400    0.15    0.18
+3LM3A       449  XRAY        1.440    0.14    0.16
+3LMZA       257  XRAY        1.440    0.15    0.18
+3LNYA        96  XRAY        1.300    0.16    0.19
+3LO8A       311  XRAY        1.050    0.12    0.15
+3LOPA       364  XRAY        1.550    0.20    0.20
+3LQBA       199  XRAY        1.100    0.17    0.19
+3LQWA       163  XRAY        1.300    0.13    0.15
+3LRTB       286  XRAY        1.534    0.19    0.22
+3LS9A       456  XRAY        1.400    0.17    0.19
+3LSNA       304  XRAY        1.350    0.18    0.20
+3LT7F        64  XRAY        1.500    0.23    0.27
+3LTIA       296  XRAY        1.600    0.21    0.23
+3LW3B       145  XRAY        1.600    0.21    0.27
+3LWCA       119  XRAY        1.400    0.18    0.19
+3LWXA       199  XRAY        1.100    0.12    0.14
+3LX3A       180  XRAY        1.550    0.15    0.17
+3LY0A       364  XRAY        1.399    0.17    0.19
+3LYDB       161  XRAY        1.450    0.17    0.19
+3LYEA       307  XRAY        1.300    0.13    0.17
+3LYHB       126  XRAY        1.600    0.17    0.21
+3LYPB       215  XRAY        1.600    0.18    0.21
+3M07A       618  XRAY        1.400    0.15    0.17
+3M0FB       213  XRAY        1.600    0.21    0.22
+3M0MD       438  XRAY        1.450    0.18    0.20
+3M0ZA       249  XRAY        1.200    0.13    0.15
+3M1XA       148  XRAY        1.200    0.11    0.13
+3M3PA       250  XRAY        1.300    0.12    0.15
+3M5QA       357  XRAY        0.930    0.12    0.13
+3M66A       270  XRAY        1.600    0.17    0.20
+3M6WA       464  XRAY        1.300    0.18    0.19
+3M6ZB       380  XRAY        1.400    0.17    0.18
+3M73A       314  XRAY        1.150    0.14    0.15
+3M7AB       140  XRAY        1.220    0.12    0.15
+3M8JA       111  XRAY        1.400    0.20    0.22
+3M97X       140  XRAY        1.332    0.20    0.23
+3M9LA       205  XRAY        1.600    0.19    0.21
+3M9QA       101  XRAY        1.290    0.17    0.19
+3MABB        93  XRAY        1.420    0.17    0.21
+3MAOA       105  XRAY        1.420    0.14    0.17
+3MB5A       255  XRAY        1.600    0.18    0.20
+3MBKA       264  XRAY        1.350    0.16    0.19
+3MBRX       243  XRAY        1.440    0.18    0.21
+3MC3A       134  XRAY        1.490    0.12    0.14
+3MCWB       198  XRAY        1.060    0.13    0.15
+3MCXA       477  XRAY        1.490    0.14    0.16
+3MD1A        83  XRAY        1.600    0.20    0.22
+3MD7A       293  XRAY        1.270    0.11    0.13
+3MD9A       255  XRAY        1.500    0.15    0.18
+3MDMA       456  XRAY        1.600    0.18    0.23
+3MDQA       315  XRAY        1.500    0.15    0.18
+3MDUA       453  XRAY        1.400    0.18    0.19
+3ME7A       170  XRAY        1.500    0.18    0.22
+3MEAA       180  XRAY        1.260    0.18    0.20
+3MHWU       247  XRAY        1.450    0.21    0.23
+3MILA       240  XRAY        1.600    0.19    0.22
+3MJEA       496  XRAY        1.360    0.20    0.23
+3MJFA       431  XRAY        1.470    0.14    0.17
+3MK1A       484  XRAY        1.570    0.14    0.18
+3ML1A       802  XRAY        1.600    0.16    0.19
+3ML1B       135  XRAY        1.600    0.16    0.19
+3MMHB       167  XRAY        1.250    0.12    0.16
+3MN5S        38  XRAY        1.500    0.17    0.22
+3MNGA       173  XRAY        1.450    0.11    0.14
+3MOYA       263  XRAY        1.500    0.15    0.17
+3MOZB       314  XRAY        1.600    0.17    0.18
+3MPCB       103  XRAY        1.600    0.17    0.20
+3MQDA       428  XRAY        1.250    0.11    0.13
+3MQHD       192  XRAY        1.430    0.18    0.21
+3MQZA       215  XRAY        1.300    0.15    0.17
+3MR0A       142  XRAY        1.493    0.17    0.19
+3MSTA       244  XRAY        1.350    0.12    0.15
+3MT0A       290  XRAY        1.582    0.18    0.20
+3MU7A       273  XRAY        1.290    0.15    0.17
+3MVCA       161  XRAY        1.401    0.16    0.20
+3MVGB       275  XRAY        1.250    0.17    0.18
+3MVSA       210  XRAY        1.100    0.16    0.19
+3MWXA       326  XRAY        1.450    0.15    0.17
+3MWZA       115  XRAY        1.520    0.18    0.20
+3MXNA       157  XRAY        1.550    0.20    0.23
+3MXNB       150  XRAY        1.550    0.20    0.23
+3MXZA       116  XRAY        1.599    0.18    0.21
+3MYBC       286  XRAY        1.550    0.12    0.13
+3MYXA       238  XRAY        1.300    0.12    0.15
+3MZ2A       292  XRAY        1.550    0.17    0.20
+3MZFA       363  XRAY        1.500    0.19    0.21
+3N01A        89  XRAY        1.300    0.17    0.21
+3N08B       153  XRAY        1.250    0.15    0.17
+3N0RA       286  XRAY        1.251    0.15    0.17
+3N0UC       219  XRAY        1.500    0.15    0.19
+3N0XA       374  XRAY        1.500    0.15    0.17
+3N10A       179  XRAY        1.600    0.22    0.25
+3N17A       333  XRAY        1.200    0.18    0.19
+3N1FD       102  XRAY        1.600    0.15    0.19
+3N2WC       373  XRAY        1.450    0.13    0.15
+3N3MA       342  XRAY        1.470    0.16    0.19
+3N4IB       165  XRAY        1.560    0.17    0.18
+3N4JA       165  XRAY        1.470    0.14    0.19
+3N6YA       137  XRAY        1.500    0.18    0.21
+3N6ZA       363  XRAY        1.300    0.14    0.16
+3N79A       192  XRAY        1.500    0.19    0.21
+3NBCA       148  XRAY        1.010    0.16    0.17
+3NBMA       108  XRAY        1.300    0.13    0.17
+3NCLA       241  XRAY        1.190    0.13    0.16
+3ND1B       275  XRAY        1.500    0.20    0.22
+3NDHB       225  XRAY        1.300    0.17    0.18
+3NDOA       231  XRAY        1.250    0.12    0.14
+3NE8A       234  XRAY        1.239    0.16    0.17
+3NEDA       242  XRAY        0.950    0.14    0.16
+3NEPX       314  XRAY        1.551    0.17    0.19
+3NEQA        66  XRAY        1.250    0.15    0.17
+3NEUA       125  XRAY        1.580    0.20    0.22
+3NFKB       107  XRAY        1.430    0.19    0.20
+3NFTA       303  XRAY        1.510    0.16    0.20
+3NFWA       210  XRAY        1.600    0.19    0.22
+3NGGA        50  XRAY        1.330    0.18    0.21
+3NGPA        62  XRAY        1.084    0.17    0.18
+3NHIA       296  XRAY        1.430    0.17    0.19
+3NIRA        46  XRAY        0.480    0.13    1.00
+3NIYA       341  XRAY        1.580    0.16    0.20
+3NJ2B       174  XRAY        1.590    0.21    0.26
+3NJNC       119  XRAY        1.250    0.14    0.16
+3NKEC       200  XRAY        1.400    0.18    0.20
+3NNBA       382  XRAY        1.600    0.14    0.17
+3NO0A       276  XRAY        1.300    0.17    0.19
+3NO2A       276  XRAY        1.350    0.15    0.16
+3NO7B        80  XRAY        1.400    0.20    0.21
+3NOHA       139  XRAY        1.600    0.16    0.20
+3NOQA       231  XRAY        1.000    0.12    0.15
+3NPDA       118  XRAY        1.600    0.16    0.20
+3NPKA       291  XRAY        1.500    0.16    0.18
+3NR5A       164  XRAY        1.550    0.19    0.21
+3NRED       291  XRAY        1.590    0.16    0.19
+3NRFB       106  XRAY        1.500    0.19    0.22
+3NS6B       100  XRAY        1.250    0.14    0.17
+3NTVA       232  XRAY        1.550    0.18    0.20
+3NUAB       238  XRAY        1.400    0.14    0.16
+3NUFA       119  XRAY        1.380    0.17    0.19
+3NVSA       450  XRAY        1.021    0.12    0.14
+3NVWA       164  XRAY        1.600    0.19    0.21
+3NVWB       334  XRAY        1.600    0.19    0.21
+3NVWL       756  XRAY        1.600    0.19    0.21
+3NWPA       233  XRAY        1.400    0.17    0.19
+3NWRA       432  XRAY        1.498    0.17    0.19
+3NYCA       381  XRAY        1.060    0.14    0.16
+3NYQA       505  XRAY        1.430    0.20    0.22
+3NYTA       367  XRAY        1.301    0.19    0.22
+3NYYA       252  XRAY        1.600    0.15    0.17
+3NZBX       206  XRAY        1.450    0.24    0.29
+3NZLA        83  XRAY        1.199    0.15    0.18
+3NZNA       103  XRAY        1.100    0.15    0.19
+3O12A       221  XRAY        1.500    0.17    0.18
+3O22A       162  XRAY        1.400    0.19    0.22
+3O2RA       170  XRAY        1.251    0.14    0.17
+3O2TA       386  XRAY        1.400    0.16    0.19
+3O3YA        40  XRAY        1.350    0.14    0.17
+3O4PA       314  XRAY        0.850    0.10    0.12
+3O7BA       244  XRAY        1.450    0.20    0.21
+3O8MA       485  XRAY        1.420    0.19    0.22
+3O8QA       281  XRAY        1.450    0.15    0.20
+3O94D       211  XRAY        1.600    0.19    0.21
+3O9ZA       312  XRAY        1.449    0.20    0.23
+3OA3B       288  XRAY        1.600    0.17    0.19
+3OAJA       335  XRAY        1.400    0.18    0.23
+3OBLA       132  XRAY        1.200    0.14    0.17
+3OBQA       146  XRAY        1.400    0.21    0.22
+3OC7A       267  XRAY        1.500    0.17    0.18
+3OCJA       305  XRAY        1.390    0.19    0.21
+3OCUA       262  XRAY        1.350    0.14    0.15
+3ODTB       313  XRAY        1.350    0.14    0.18
+3ODVA        38  XRAY        0.950    0.19    0.20
+3OE3A        98  XRAY        1.510    0.21    0.24
+3OF5A       228  XRAY        1.520    0.17    0.20
+3OFGA        95  XRAY        1.367    0.15    0.17
+3OG2A      1003  XRAY        1.200    0.14    0.17
+3OGNA       124  XRAY        1.300    0.13    0.17
+3OHEB       137  XRAY        1.200    0.13    0.15
+3OLLA       240  XRAY        1.500    0.18    0.21
+3OM0A       393  XRAY        1.401    0.18    0.20
+3OMDA       145  XRAY        1.500    0.15    0.19
+3OMYA        52  XRAY        1.300    0.15    0.17
+3ON9A       163  XRAY        1.570    0.17    0.20
+3ONDB       488  XRAY        1.170    0.13    0.16
+3OO8A       415  XRAY        1.600    0.17    0.21
+3OOOB       132  XRAY        1.570    0.19    0.21
+3OOUA       108  XRAY        1.570    0.19    0.22
+3OOXA       312  XRAY        1.440    0.17    0.20
+3OQPA       211  XRAY        1.220    0.14    0.17
+3ORKA       311  XRAY        1.600    0.14    0.18
+3ORUA       234  XRAY        1.110    0.13    0.15
+3OTIB       398  XRAY        1.597    0.15    0.18
+3OU2A       218  XRAY        1.500    0.20    0.22
+3OUFA        97  XRAY        1.550    0.20    0.21
+3OUGH       114  XRAY        1.550    0.18    0.20
+3OV5A        85  XRAY        1.040    0.13    0.15
+3OV9A       245  XRAY        1.600    0.22    0.25
+3OX7P        23  XRAY        1.580    0.21    0.23
+3OXPA       150  XRAY        1.200    0.15    0.18
+3OYVA       361  XRAY        1.250    0.13    0.16
+3OZ2A       397  XRAY        1.600    0.15    0.17
+3OZYB       389  XRAY        1.299    0.15    0.17
+3P02A       317  XRAY        1.550    0.17    0.19
+3P0BA       540  XRAY        1.350    0.17    0.19
+3P0FA       297  XRAY        1.540    0.19    0.21
+3P0KA       266  XRAY        1.470    0.21    0.23
+3P1GA       165  XRAY        1.500    0.16    0.18
+3P3CA       274  XRAY        1.250    0.15    0.16
+3P3OA       416  XRAY        1.540    0.16    0.19
+3P4HA       118  XRAY        1.100    0.14    0.17
+3P6IA       142  XRAY        1.320    0.15    0.18
+3PA6C       107  XRAY        1.500    0.15    0.19
+3PB6X       330  XRAY        1.050    0.14    0.16
+3PD7A       107  XRAY        1.260    0.11    0.14
+3PE6A       303  XRAY        1.350    0.12    0.15
+3PE8A       256  XRAY        1.600    0.15    0.16
+3PESB        85  XRAY        1.300    0.18    0.20
+3PEYA       395  XRAY        1.401    0.16    0.18
+3PF6B        62  XRAY        1.600    0.14    0.17
+3PFBA       270  XRAY        1.580    0.22    0.30
+3PFEA       472  XRAY        1.500    0.14    0.16
+3PFGA       263  XRAY        1.349    0.18    0.21
+3PHHA       269  XRAY        1.420    0.20    0.23
+3PIDA       432  XRAY        1.400    0.17    0.19
+3PIUA       435  XRAY        1.350    0.15    0.17
+3PIWA       161  XRAY        1.492    0.14    0.19
+3PJPA       199  XRAY        1.600    0.20    0.24
+3PJYB       136  XRAY        1.550    0.16    0.19
+3PKVA       252  XRAY        1.340    0.17    0.18
+3PL8A       623  XRAY        1.350    0.16    0.19
+3PLUA        93  XRAY        1.400    0.19    0.23
+3PLWA       186  XRAY        1.400    0.16    0.17
+3PMCB       139  XRAY        1.490    0.18    0.21
+3PMEA       420  XRAY        1.560    0.18    0.21
+3PMOA       372  XRAY        1.300    0.17    0.18
+3PMSA       326  XRAY        1.570    0.15    0.18
+3PN3B       193  XRAY        1.300    0.16    0.17
+3PNAB       154  XRAY        1.503    0.16    0.18
+3PNZA       330  XRAY        1.598    0.18    0.20
+3PO8A       100  XRAY        1.500    0.19    0.24
+3POHA       451  XRAY        1.550    0.14    0.16
+3POJB       115  XRAY        1.451    0.13    0.15
+3POWA       265  XRAY        1.550    0.18    0.19
+3PP2B       124  XRAY        1.421    0.17    0.19
+3PP4P        25  XRAY        1.600    0.14    0.19
+3PP5A        73  XRAY        1.500    0.16    0.18
+3PP9C       187  XRAY        1.600    0.19    0.22
+3PPLA       427  XRAY        1.250    0.11    0.12
+3PQAD       486  XRAY        1.500    0.19    0.22
+3PQHB       127  XRAY        1.295    0.12    0.16
+3PSMA        47  XRAY        0.980    0.12    0.16
+3PT5A       337  XRAY        1.600    0.20    0.24
+3PU9B       242  XRAY        1.550    0.18    0.22
+3PUCA        99  XRAY        0.960    0.12    0.14
+3PVEB       189  XRAY        1.400    0.19    0.23
+3PVHA       153  XRAY        1.600    0.20    0.23
+3PVIB       157  XRAY        1.590    0.20    0.25
+3PX8X       258  XRAY        1.290    0.21    0.23
+3PZGA       383  XRAY        1.400    0.15    0.18
+3Q1CA       360  XRAY        1.596    0.16    0.19
+3Q1XA       313  XRAY        1.590    0.16    0.18
+3Q2BA       124  XRAY        1.600    0.19    0.22
+3Q2IA       354  XRAY        1.500    0.20    0.24
+3Q46A       178  XRAY        0.990    0.11    0.12
+3Q4AB       137  XRAY        1.542    0.17    0.21
+3Q4OA       196  XRAY        1.340    0.19    0.23
+3Q64A       162  XRAY        1.500    0.18    0.20
+3Q6BA       189  XRAY        1.500    0.15    0.19
+3Q7RB       121  XRAY        1.600    0.19    0.21
+3Q8JA        37  XRAY        0.870    0.09    1.00
+3QATA       318  XRAY        1.600    0.16    0.18
+3QB8B       197  XRAY        1.500    0.15    0.17
+3QC0A       275  XRAY        1.450    0.16    0.18
+3QC7A       179  XRAY        1.520    0.20    0.22
+3QFTA       458  XRAY        1.400    0.20    0.23
+3QGUB       449  XRAY        1.550    0.13    0.17
+3QHBB       179  XRAY        1.200    0.10    0.12
+3QHPB       166  XRAY        1.500    0.20    0.23
+3QJAA       272  XRAY        1.290    0.16    0.18
+3QK8D       272  XRAY        1.600    0.14    0.16
+3QL9A       129  XRAY        0.930    0.12    0.13
+3QM9A       146  XRAY        0.910    0.12    0.13
+3QNSA       353  XRAY        1.400    0.13    0.15
+3QOOA       138  XRAY        1.250    0.16    0.18
+3QP4A       182  XRAY        1.550    0.21    0.24
+3QPAA       197  XRAY        0.850    0.12    0.12
+3QR7B       115  XRAY        0.940    0.10    0.11
+3QSDA       254  XRAY        1.300    0.12    0.15
+3QU3C       137  XRAY        1.300    0.17    0.20
+3QU5A       243  XRAY        1.240    0.13    0.16
+3QVPA       583  XRAY        1.200    0.18    0.19
+3QWBD       334  XRAY        1.590    0.19    0.21
+3QX1A        84  XRAY        1.600    0.21    0.22
+3QXCA       242  XRAY        1.340    0.14    0.17
+3QXZB       265  XRAY        1.350    0.15    0.17
+3QY1A       223  XRAY        1.540    0.16    0.17
+3QZBA       143  XRAY        1.100    0.13    0.15
+3QZMA       127  XRAY        1.250    0.14    0.16
+3QZRA       187  XRAY        1.039    0.16    0.16
+3QZTA       115  XRAY        1.500    0.17    0.20
+3QZXA       195  XRAY        1.300    0.13    0.16
+3R0NA       128  XRAY        1.300    0.15    0.17
+3R0VA       262  XRAY        1.383    0.17    0.18
+3R2QA       202  XRAY        1.050    0.13    0.15
+3R3QA       162  XRAY        1.450    0.17    0.18
+3R3RA       187  XRAY        1.200    0.14    0.16
+3R3SD       294  XRAY        1.250    0.13    0.15
+3R41A       306  XRAY        1.050    0.14    0.17
+3R4ZA       374  XRAY        1.550    0.17    0.18
+3R5GA       198  XRAY        1.500    0.19    0.23
+3R5TA       305  XRAY        1.450    0.18    0.21
+3R62B       129  XRAY        1.520    0.18    0.21
+3R68A        95  XRAY        1.300    0.13    0.16
+3R6DA       221  XRAY        1.250    0.15    0.18
+3R72A       122  XRAY        1.150    0.15    0.17
+3R87A       135  XRAY        1.050    0.15    0.17
+3R8JB       212  XRAY        1.600    0.18    0.20
+3R9FB       188  XRAY        1.200    0.18    0.20
+3RD5A       291  XRAY        1.500    0.13    0.15
+3RFEB       130  XRAY        1.245    0.20    0.22
+3RGAA       283  XRAY        1.590    0.17    0.19
+3RHBA       113  XRAY        1.200    0.15    0.18
+3RHGA       365  XRAY        1.530    0.12    0.16
+3RIQA       543  XRAY        1.500    0.13    0.17
+3RJTB       216  XRAY        1.500    0.13    0.15
+3RJUA       351  XRAY        1.500    0.14    0.17
+3RKGA       261  XRAY        1.280    0.17    0.20
+3RL5A       296  XRAY        1.260    0.15    0.17
+3RLGA       302  XRAY        1.600    0.17    0.20
+3RM3A       270  XRAY        1.200    0.14    0.16
+3RNJA        67  XRAY        1.500    0.20    0.22
+3RNQA       117  XRAY        1.600    0.18    0.21
+3RNQB       201  XRAY        1.600    0.18    0.21
+3RO3A       164  XRAY        1.100    0.12    0.15
+3RO3B        22  XRAY        1.100    0.12    0.15
+3RO8A       341  XRAY        1.340    0.14    0.18
+3ROBB       139  XRAY        1.480    0.17    0.19
+3ROFA       158  XRAY        1.030    0.15    0.17
+3RPCB       264  XRAY        1.490    0.16    0.18
+3RPDB       357  XRAY        1.500    0.17    0.19
+3RPEA       218  XRAY        1.100    0.10    0.12
+3RPZA       279  XRAY        1.510    0.14    0.15
+3RQ9B        85  XRAY        1.000    0.15    0.18
+3RQTA       486  XRAY        1.500    0.14    0.17
+3RR6A       265  XRAY        1.580    0.17    0.18
+3RRIB       135  XRAY        1.500    0.14    0.16
+3RT2A       183  XRAY        1.500    0.17    0.21
+3RTLB       121  XRAY        1.453    0.18    0.22
+3RWNB       161  XRAY        1.000    0.13    0.14
+3RX9A       155  XRAY        1.350    0.14    0.16
+3RY0A        65  XRAY        1.400    0.22    0.25
+3RY4A       170  XRAY        1.500    0.20    0.23
+3RZNA       209  XRAY        1.100    0.14    0.16
+3S0AA       119  XRAY        1.150    0.16    0.18
+3S2JA       400  XRAY        1.297    0.17    0.18
+3S2RB        83  XRAY        1.140    0.19    0.20
+3S44A       399  XRAY        1.450    0.19    0.21
+3S4EA       144  XRAY        1.260    0.15    0.18
+3S57A       204  XRAY        1.600    0.22    0.20
+3S5MA      1193  XRAY        1.550    0.19    0.21
+3S6EB       114  XRAY        0.950    0.12    0.13
+3S6FA       145  XRAY        1.190    0.14    0.15
+3S83A       259  XRAY        1.340    0.17    0.20
+3S8MA       422  XRAY        1.600    0.19    0.20
+3S8SA       110  XRAY        1.300    0.17    0.20
+3S9XA       159  XRAY        1.350    0.14    0.17
+3SBMA       281  XRAY        1.350    0.16    0.17
+3SC7X       516  XRAY        1.500    0.19    0.21
+3SCYA       361  XRAY        1.500    0.17    0.18
+3SD2A       101  XRAY        1.400    0.16    0.20
+3SEBA       238  XRAY        1.480    0.18    1.00
+3SEEA       222  XRAY        1.250    0.13    0.15
+3SG0A       386  XRAY        1.201    0.15    0.16
+3SGGA       536  XRAY        1.250    0.15    0.18
+3SH4A       195  XRAY        1.500    0.18    0.21
+3SHGA       205  XRAY        1.500    0.18    0.21
+3SHGB        61  XRAY        1.500    0.18    0.21
+3SIGA       277  XRAY        1.280    0.15    0.16
+3SILA       379  XRAY        1.050    0.12    0.15
+3SJMB        64  XRAY        1.350    0.17    0.21
+3SK2B       132  XRAY        1.010    0.13    0.15
+3SK7A       116  XRAY        1.500    0.16    0.20
+3SKXA       280  XRAY        1.590    0.20    0.23
+3SLZB       132  XRAY        1.400    0.18    0.20
+3SMJA       193  XRAY        1.500    0.18    0.21
+3SMVA       240  XRAY        1.380    0.12    0.16
+3SNFA       104  XRAY        1.100    0.16    0.18
+3SNOA       315  XRAY        1.600    0.23    0.25
+3SO6A       137  XRAY        1.370    0.15    0.21
+3SOEA       113  XRAY        1.600    0.19    0.22
+3SOJA       115  XRAY        1.000    0.16    0.18
+3SOVA       318  XRAY        1.270    0.15    0.18
+3SP7A       172  XRAY        1.400    0.17    0.18
+3SQZA       425  XRAY        1.200    0.14    0.15
+3SRIA       381  XRAY        1.600    0.18    0.20
+3SRIB        29  XRAY        1.600    0.18    0.20
+3SS7X       442  XRAY        1.550    0.16    0.19
+3SU6A       203  XRAY        1.100    0.15    0.17
+3SUKA       125  XRAY        1.340    0.17    0.20
+3SUUA       525  XRAY        1.600    0.14    0.17
+3SWOD       399  XRAY        1.450    0.13    0.15
+3SX2F       278  XRAY        1.500    0.14    0.16
+3SXMB       140  XRAY        1.550    0.17    0.19
+3SXXA       692  XRAY        1.270    0.11    0.14
+3SY1A       245  XRAY        1.465    0.17    0.19
+3SZ3A       341  XRAY        1.500    0.16    0.18
+3SZAB       469  XRAY        1.480    0.17    0.19
+3SZHF       122  XRAY        1.070    0.16    0.18
+3SZVA       401  XRAY        1.450    0.18    0.20
+3SZYA       427  XRAY        1.350    0.20    0.21
+3T0OA       238  XRAY        1.590    0.15    0.19
+3T2CA       407  XRAY        1.300    0.11    0.13
+3T3LA       129  XRAY        1.150    0.17    0.18
+3T47B        81  XRAY        1.301    0.16    0.19
+3T49B        73  XRAY        1.450    0.14    0.17
+3T4LB       270  XRAY        1.530    0.18    0.20
+3T7HB       291  XRAY        1.600    0.19    0.21
+3T7LA        90  XRAY        1.090    0.17    0.15
+3T7VA       350  XRAY        1.500    0.13    0.17
+3T8JA       311  XRAY        1.600    0.16    0.17
+3T90A       149  XRAY        1.500    0.17    0.20
+3T92A       121  XRAY        1.500    0.18    0.23
+3T9WA       299  XRAY        1.500    0.17    0.20
+3TA6B       267  XRAY        1.410    0.13    0.15
+3TBNA        87  XRAY        1.150    0.11    0.12
+3TBOA        60  XRAY        1.500    0.20    0.22
+3TC2C       187  XRAY        1.600    0.17    0.22
+3TC3B       310  XRAY        1.500    0.18    0.21
+3TC8B       309  XRAY        1.060    0.11    0.13
+3TD3F       123  XRAY        1.590    0.18    0.22
+3TDNB       247  XRAY        1.400    0.16    0.19
+3TDUD        77  XRAY        1.500    0.21    0.23
+3TEUA        98  XRAY        1.002    0.11    0.14
+3TEWA       715  XRAY        1.450    0.19    0.22
+3TFJB       369  XRAY        1.600    0.13    0.18
+3TG0D       449  XRAY        1.200    0.15    0.17
+3TG2A       223  XRAY        1.101    0.13    0.14
+3TG7A       951  XRAY        1.570    0.19    0.22
+3TJ4B       372  XRAY        1.500    0.15    0.17
+3TJ8B       170  XRAY        1.591    0.19    0.21
+3TJMA       283  XRAY        1.480    0.19    0.22
+3TJRA       301  XRAY        1.600    0.17    0.19
+3TM8A       328  XRAY        1.280    0.17    0.20
+3TN4B       360  XRAY        1.500    0.18    0.20
+3TNLD       315  XRAY        1.450    0.15    0.18
+3TNYA       303  XRAY        1.550    0.17    0.19
+3TOSJ       257  XRAY        1.550    0.15    0.17
+3TOWA       152  XRAY        1.340    0.17    0.19
+3TPDA       440  XRAY        1.500    0.22    0.25
+3TQ2A        36  XRAY        1.100    0.21    0.18
+3TQ5A       152  XRAY        1.400    0.18    0.19
+3TQEA       316  XRAY        1.500    0.15    0.17
+3TQLA       227  XRAY        1.594    0.16    0.21
+3TRDA       208  XRAY        1.500    0.17    0.20
+3TS3B       208  XRAY        1.490    0.19    0.20
+3TT9A       233  XRAY        1.550    0.16    0.19
+3TU8A       210  XRAY        1.040    0.13    0.16
+3TUTA       358  XRAY        1.580    0.20    0.25
+3TVJA        86  XRAY        1.280    0.16    0.20
+3TVJB       242  XRAY        1.280    0.16    0.20
+3TVTA       292  XRAY        1.600    0.22    0.24
+3TVTB        50  XRAY        1.600    0.22    0.24
+3TWYA       137  XRAY        1.500    0.20    0.22
+3TY4B       366  XRAY        1.550    0.19    0.21
+3TYSA        88  XRAY        1.121    0.14    0.16
+3U23A        65  XRAY        1.110    0.15    0.17
+3U26A       234  XRAY        1.590    0.20    0.25
+3U2UA       263  XRAY        1.450    0.17    0.19
+3U3GB       140  XRAY        1.400    0.17    0.19
+3U3LC       233  XRAY        1.570    0.19    0.21
+3U3ZA       199  XRAY        1.500    0.13    0.17
+3U5SA       126  XRAY        1.500    0.21    0.24
+3U62A       253  XRAY        1.450    0.20    0.20
+3U65B       328  XRAY        1.400    0.18    0.20
+3U6GB       126  XRAY        1.350    0.16    0.21
+3U6PA       273  XRAY        1.600    0.19    0.20
+3U7QB       523  XRAY        1.000    0.13    0.15
+3U7QC       492  XRAY        1.000    0.13    0.15
+3U7RA       190  XRAY        1.400    0.16    0.17
+3U7ZA       101  XRAY        1.300    0.14    0.19
+3U97A       114  XRAY        1.102    0.14    0.16
+3U99A       148  XRAY        1.146    0.14    0.15
+3U9RB       555  XRAY        1.500    0.17    0.18
+3U9WA       608  XRAY        1.250    0.13    0.16
+3UB6A       181  XRAY        1.380    0.12    0.15
+3UBDA       304  XRAY        1.530    0.20    0.22
+3UC7E        22  XRAY        1.100    0.15    0.19
+3UE2A       118  XRAY        1.230    0.14    0.16
+3UF7A       237  XRAY        1.200    0.14    0.16
+3UFEA       111  XRAY        1.500    0.16    0.20
+3UFFB        65  XRAY        1.300    0.15    0.18
+3UGCA       295  XRAY        1.340    0.18    0.19
+3UHMA       299  XRAY        1.260    0.18    0.20
+3UI4A       101  XRAY        0.800    0.10    0.10
+3UIDA       168  XRAY        1.571    0.19    0.21
+3UJCA       266  XRAY        1.190    0.15    0.17
+3UJIP        23  XRAY        1.600    0.16    0.19
+3UK0A       362  XRAY        1.490    0.14    0.19
+3ULJB        90  XRAY        1.060    0.12    0.14
+3ULTA       133  XRAY        1.400    0.17    0.19
+3UNVA       547  XRAY        1.540    0.21    0.25
+3UP3A       243  XRAY        1.250    0.17    0.18
+3UPLB       446  XRAY        1.500    0.15    0.18
+3UPVA       126  XRAY        1.600    0.19    0.25
+3UR8B       323  XRAY        1.260    0.14    0.18
+3URRA       153  XRAY        1.397    0.17    0.20
+3UUEA       279  XRAY        1.450    0.16    0.19
+3UV9A       186  XRAY        1.549    0.15    0.20
+3UW3B       377  XRAY        1.550    0.15    0.17
+3UXJB       290  XRAY        1.401    0.13    0.17
+3V0DB       339  XRAY        1.100    0.14    0.16
+3V1AA        48  XRAY        0.980    0.10    0.11
+3V30A       172  XRAY        1.570    0.17    0.20
+3V46A       170  XRAY        1.549    0.17    0.21
+3V4GA       180  XRAY        1.600    0.18    0.20
+3V4KA       203  XRAY        1.380    0.18    0.21
+3V5CC       392  XRAY        1.530    0.19    0.22
+3V68A       252  XRAY        1.560    0.20    0.23
+3V75A       301  XRAY        1.400    0.15    0.17
+3V7NA       487  XRAY        1.400    0.16    0.18
+3V7QA       101  XRAY        1.550    0.20    0.23
+3V9OA       143  XRAY        1.451    0.20    0.20
+3VA4A       132  XRAY        1.540    0.16    0.20
+3VC5A       441  XRAY        1.500    0.14    0.18
+3VCAA       412  XRAY        1.590    0.17    0.19
+3VCXA       164  XRAY        1.390    0.15    0.19
+3VE9A       215  XRAY        1.450    0.19    0.21
+3VEJB        41  XRAY        1.230    0.18    0.20
+3VENA       576  XRAY        1.570    0.15    0.18
+3VG7A       132  XRAY        1.440    0.17    0.22
+3VGIA       319  XRAY        1.070    0.13    0.16
+3VGLA       321  XRAY        1.550    0.18    0.20
+3VI6A       125  XRAY        1.590    0.19    0.22
+3VIIA       487  XRAY        0.970    0.13    0.14
+3VJ9A       343  XRAY        1.520    0.16    0.21
+3VK5A       286  XRAY        1.390    0.17    0.19
+3VL1B       420  XRAY        1.600    0.16    0.23
+3VL9A       229  XRAY        1.200    0.13    0.16
+3VLAA       413  XRAY        0.950    0.13    0.15
+3VMKA       375  XRAY        1.480    0.20    0.23
+3VMNA       643  XRAY        1.600    0.15    0.18
+3VMVA       326  XRAY        1.540    0.17    0.19
+3VN0C        51  XRAY        1.370    0.18    0.22
+3VN3B       223  XRAY        0.950    0.11    0.13
+3VORA       182  XRAY        0.900    0.12    0.13
+3VQJA       219  XRAY        1.200    0.14    0.17
+3VRCA       131  XRAY        1.000    0.13    0.15
+3VRDA       174  XRAY        1.500    0.16    0.20
+3VRDB       401  XRAY        1.500    0.16    0.20
+3VSVB       638  XRAY        1.480    0.15    0.17
+3VTOQ       115  XRAY        1.440    0.16    0.20
+3VUBA       101  XRAY        1.400    0.19    0.22
+3VUPB       351  XRAY        1.050    0.14    0.16
+3VURA       204  XRAY        1.365    0.16    0.18
+3VV1B       160  XRAY        1.500    0.15    0.18
+3VVIE        21  XRAY        1.250    0.15    0.20
+3VVVA       123  XRAY        1.350    0.16    0.19
+3VWCA       149  XRAY        1.500    0.20    0.23
+3VWNX       392  XRAY        1.200    0.13    0.15
+3VX0A       478  XRAY        1.500    0.19    0.20
+3VYPB       269  XRAY        1.400    0.17    0.20
+3VZ9B       106  XRAY        1.030    0.19    0.21
+3VZ9D        73  XRAY        1.030    0.19    0.21
+3VZXA       228  XRAY        1.540    0.18    0.23
+3W06A       272  XRAY        1.150    0.13    0.16
+3W07A       252  XRAY        1.030    0.12    0.14
+3W0KB       330  XRAY        1.600    0.18    0.19
+3W0OA       349  XRAY        1.500    0.18    0.21
+3W0TD       187  XRAY        1.351    0.18    0.20
+3W19C        40  XRAY        1.278    0.16    0.17
+3W19D        29  XRAY        1.278    0.16    0.17
+3W42A       199  XRAY        1.060    0.13    0.15
+3W56A       131  XRAY        1.600    0.21    0.25
+3W5SB       371  XRAY        1.490    0.15    0.18
+3W61A       108  XRAY        1.590    0.18    0.21
+3W6WB       620  XRAY        1.394    0.18    0.20
+3W7TA       760  XRAY        1.500    0.16    0.18
+3W7YA        21  XRAY        0.920    0.16    0.18
+3W7YB        30  XRAY        0.920    0.16    0.18
+3WA2X       621  XRAY        1.080    0.13    0.15
+3WARA       340  XRAY        1.040    0.14    0.17
+3WASB       390  XRAY        1.500    0.16    0.18
+3WCQA        97  XRAY        0.970    0.15    0.17
+3WDCA       153  XRAY        1.180    0.12    0.16
+3WDNA       125  XRAY        0.860    0.11    0.14
+3WDQA       355  XRAY        1.300    0.14    0.16
+3WEOA       913  XRAY        1.450    0.12    0.15
+3WG3B       178  XRAY        1.350    0.14    0.16
+3WGXA       113  XRAY        0.920    0.14    0.16
+3WGXD        20  XRAY        0.920    0.14    0.16
+3WH1A       206  XRAY        1.000    0.15    0.15
+3WH2A       147  XRAY        1.300    0.13    0.16
+3WIWA       402  XRAY        1.350    0.13    0.16
+3WJ1A       305  XRAY        1.500    0.16    0.18
+3WJPA       338  XRAY        1.533    0.17    0.18
+3WJTA       178  XRAY        1.550    0.21    0.24
+3WKGA       412  XRAY        1.470    0.17    0.19
+3WKQA       323  XRAY        1.150    0.12    0.14
+3WLIA       609  XRAY        1.450    0.15    0.16
+3WMQA        94  XRAY        1.600    0.21    0.22
+3WMTB       522  XRAY        1.500    0.14    0.17
+3WMVB       153  XRAY        1.050    0.14    0.15
+3WN7M        35  XRAY        1.570    0.19    0.22
+3WN8B        24  XRAY        1.450    0.14    0.21
+3WNDA       370  XRAY        1.550    0.18    0.21
+3WP4A       228  XRAY        1.270    0.14    0.17
+3WPCB       802  XRAY        1.600    0.19    0.22
+3WPUB       542  XRAY        1.600    0.16    0.19
+3WQBA       600  XRAY        1.410    0.19    0.21
+3WQBB       148  XRAY        1.410    0.19    0.21
+3WQCA       390  XRAY        1.500    0.12    0.15
+3WS7A       306  XRAY        1.180    0.17    0.19
+3WUCA       137  XRAY        1.600    0.18    0.22
+3WUPA        38  XRAY        1.600    0.17    0.23
+3WURA       171  XRAY        1.450    0.17    0.20
+3WUZA       120  XRAY        1.300    0.15    0.18
+3WV7C       218  XRAY        1.600    0.17    0.20
+3WVAB       170  XRAY        1.400    0.15    0.19
+3WVSA       401  XRAY        1.400    0.17    0.19
+3WWCA       364  XRAY        1.490    0.15    0.17
+3WWLA        54  XRAY        1.200    0.15    0.15
+3WWXA       349  XRAY        1.490    0.15    0.16
+3WX7A       402  XRAY        1.349    0.17    0.20
+3WY2A       538  XRAY        1.471    0.16    0.18
+3WYDB       228  XRAY        1.530    0.19    0.23
+3WYEA       256  XRAY        1.580    0.18    0.20
+3WZ3A       144  XRAY        1.500    0.18    0.21
+3X0IA       170  XRAY        0.910    0.14    1.00
+3X0TA       119  XRAY        1.170    0.13    0.17
+3X2MA       180  XRAY        0.640    0.12    0.13
+3X34A        94  XRAY        0.760    0.11    0.13
+3ZBDB       113  XRAY        1.490    0.18    0.21
+3ZBOB       241  XRAY        1.580    0.17    0.20
+3ZDBA       251  XRAY        1.470    0.20    0.23
+3ZFPA       148  XRAY        1.250    0.16    0.21
+3ZHIA        83  XRAY        1.600    0.14    0.18
+3ZHNA       159  XRAY        1.400    0.16    0.20
+3ZHOA       197  XRAY        1.200    0.15    0.17
+3ZITB        78  XRAY        1.180    0.15    0.20
+3ZIYA       468  XRAY        1.010    0.11    0.12
+3ZJAA       140  XRAY        1.480    0.19    0.23
+3ZMRB       475  XRAY        1.430    0.12    0.16
+3ZN4A       173  XRAY        1.260    0.16    0.18
+3ZN6A       291  XRAY        1.530    0.17    0.20
+3ZNVA       275  XRAY        1.300    0.13    0.15
+3ZOJA       279  XRAY        0.880    0.10    0.11
+3ZOQB        56  XRAY        1.450    0.14    0.18
+3ZPYA       248  XRAY        1.430    0.16    0.20
+3ZQXA       146  XRAY        1.040    0.17    0.17
+3ZR8X        65  XRAY        0.900    0.13    0.15
+3ZRXB       115  XRAY        1.250    0.15    0.20
+3ZSJA       138  XRAY        0.860    0.13    0.14
+3ZSUA       130  XRAY        1.600    0.16    0.19
+3ZTVA       579  XRAY        1.300    0.20    0.23
+3ZUCA       153  XRAY        1.001    0.12    0.14
+3ZUZA       365  XRAY        1.500    0.17    0.19
+3ZVSC       160  XRAY        1.396    0.14    0.16
+3ZXCB        77  XRAY        1.400    0.16    0.19
+3ZXFA       138  XRAY        1.380    0.18    0.23
+3ZXKA       542  XRAY        1.440    0.17    0.21
+3ZXYA       282  XRAY        1.580    0.16    0.17
+3ZY2A       362  XRAY        1.540    0.21    0.24
+3ZY7B       122  XRAY        1.090    0.16    0.18
+3ZYPA       218  XRAY        1.500    0.19    0.22
+3ZYQA       226  XRAY        1.480    0.17    0.21
+3ZZOA        95  XRAY        1.150    0.13    0.15
+3ZZPA        77  XRAY        0.960    0.11    0.14
+3ZZSG        65  XRAY        1.490    0.15    0.18
+3ZZYA       130  XRAY        1.400    0.22    0.23
+4A02A       166  XRAY        0.950    0.10    0.12
+4A14A       344  XRAY        1.600    0.18    0.21
+4A1UB        20  XRAY        1.540    0.17    0.20
+4A29A       258  XRAY        1.100    0.12    0.14
+4A2VA       131  XRAY        1.440    0.17    0.19
+4A37A       388  XRAY        1.600    0.20    0.21
+4A3PA       217  XRAY        1.400    0.16    0.22
+4A3ZA       161  XRAY        1.550    0.13    0.17
+4A42A       149  XRAY        1.550    0.20    0.24
+4A4JA        69  XRAY        1.250    0.14    0.18
+4A4YA       146  XRAY        1.570    0.18    0.20
+4A56A        93  XRAY        1.240    0.17    0.19
+4A6HD       120  XRAY        1.449    0.19    0.23
+4A6QA       143  XRAY        1.500    0.19    0.21
+4A6RA       459  XRAY        1.349    0.14    0.16
+4A7UA       153  XRAY        0.980    0.14    0.15
+4A8TA       339  XRAY        1.590    0.16    0.18
+4A9VA       592  XRAY        1.100    0.12    0.12
+4AAAA       331  XRAY        1.530    0.18    0.21
+4AAZB        47  XRAY        1.400    0.12    0.14
+4ABLA       183  XRAY        1.150    0.16    0.19
+4AC1X       283  XRAY        1.300    0.18    0.20
+4ACJA       167  XRAY        0.970    0.12    0.14
+4AE7A       220  XRAY        1.450    0.14    0.17
+4AE8D       211  XRAY        1.594    0.19    0.22
+4AF8A       367  XRAY        1.400    0.15    0.18
+4AFFA       116  XRAY        1.050    0.13    0.14
+4AFMA       134  XRAY        1.250    0.16    0.17
+4AG1A       226  XRAY        1.400    0.14    0.17
+4AG7B       165  XRAY        1.550    0.18    0.21
+4AGIA       315  XRAY        1.600    0.15    0.18
+4AK2A       288  XRAY        1.350    0.16    0.19
+4AK8D       155  XRAY        1.400    0.18    0.22
+4AL0A       152  XRAY        1.160    0.12    0.13
+4ALZA       198  XRAY        1.400    0.19    0.23
+4AMMA       401  XRAY        1.400    0.18    0.20
+4ANNA       215  XRAY        1.050    0.14    0.18
+4AO6A       259  XRAY        1.600    0.19    0.22
+4AO9A       454  XRAY        1.500    0.17    0.18
+4AOHA       124  XRAY        1.041    0.17    0.19
+4AQOA        92  XRAY        0.990    0.12    0.15
+4ARUA       413  XRAY        1.450    0.16    0.19
+4ASLA       259  XRAY        1.240    0.12    0.15
+4AT0A       510  XRAY        1.600    0.16    0.17
+4ATEA       266  XRAY        1.100    0.12    0.15
+4AU1A       229  XRAY        1.450    0.16    0.18
+4AUMB       719  XRAY        1.400    0.12    0.14
+4AVRA        95  XRAY        1.080    0.15    0.18
+4AVSE       204  XRAY        1.399    0.14    0.17
+4AW7A       591  XRAY        1.330    0.14    0.15
+4AWEA       387  XRAY        1.400    0.16    0.20
+4AXIA       125  XRAY        1.510    0.14    0.18
+4AXOB       151  XRAY        1.000    0.14    0.15
+4AXYA        20  XRAY        1.240    0.15    0.17
+4AY0A       218  XRAY        1.520    0.17    0.19
+4AYOA       447  XRAY        0.850    0.10    0.10
+4AZ6A       435  XRAY        1.360    0.12    0.14
+4B0HC       144  XRAY        1.180    0.12    0.16
+4B0ZA       229  XRAY        1.585    0.19    0.23
+4B15A       266  XRAY        1.490    0.15    0.17
+4B1MB       185  XRAY        1.100    0.16    0.18
+4B1YB       376  XRAY        1.290    0.15    0.17
+4B1YM        32  XRAY        1.290    0.15    0.17
+4B21A       232  XRAY        1.450    0.21    0.22
+4B4DA       262  XRAY        1.500    0.21    0.23
+4B4HA       420  XRAY        1.500    0.20    0.23
+4B4UB       303  XRAY        1.450    0.12    0.15
+4B5NA       355  XRAY        1.100    0.13    0.14
+4B5OA       200  XRAY        1.050    0.13    0.16
+4B62A       157  XRAY        1.450    0.14    0.17
+4B6GA       283  XRAY        1.400    0.14    0.15
+4B89A       249  XRAY        1.500    0.19    0.21
+4B8XB       147  XRAY        1.250    0.15    0.17
+4B9GB       161  XRAY        1.040    0.16    0.17
+4B9IA       149  XRAY        1.500    0.21    0.23
+4B9PA       166  XRAY        1.182    0.12    0.15
+4BB9A       633  XRAY        1.470    0.16    0.18
+4BBOB       118  XRAY        1.600    0.15    0.18
+4BEGA       178  XRAY        1.420    0.15    0.20
+4BEUA       392  XRAY        1.150    0.16    0.17
+4BFHA        30  XRAY        1.250    0.16    0.16
+4BFOA       106  XRAY        1.175    0.16    0.17
+4BGBA       325  XRAY        1.340    0.16    0.18
+4BGCA       102  XRAY        1.200    0.17    0.20
+4BGUB       303  XRAY        1.487    0.16    0.18
+4BH5A       142  XRAY        1.570    0.17    0.21
+4BJ0A       176  XRAY        1.000    0.12    0.13
+4BJIA       215  XRAY        1.450    0.15    0.17
+4BJZA       424  XRAY        1.510    0.17    0.20
+4BK7A       159  XRAY        1.140    0.14    0.17
+4BMHA       262  XRAY        1.500    0.15    0.17
+4BMNC       253  XRAY        1.500    0.16    0.19
+4BN4A       284  XRAY        1.300    0.14    0.18
+4BNDA       253  XRAY        1.500    0.16    0.18
+4BOQA       183  XRAY        1.470    0.17    0.20
+4BOUA       160  XRAY        1.550    0.18    0.23
+4BPFA        86  XRAY        1.010    0.13    0.16
+4BPSA       344  XRAY        1.081    0.13    0.15
+4BPYA       175  XRAY        1.400    0.13    0.18
+4BPZA       256  XRAY        1.130    0.14    0.17
+4BQNA       312  XRAY        1.380    0.12    0.15
+4BQYA       252  XRAY        1.530    0.21    0.23
+4BRCB       368  XRAY        1.300    0.14    0.19
+4BT7A       257  XRAY        1.100    0.17    0.18
+4BU0A       186  XRAY        1.500    0.17    0.19
+4BVXA       215  XRAY        1.600    0.22    0.25
+4BVXB       171  XRAY        1.600    0.22    0.25
+4BY8A        21  XRAY        0.940    0.17    0.22
+4BYZA       194  XRAY        1.550    0.15    0.20
+4BZ4C       231  XRAY        1.600    0.16    0.19
+4C08A       382  XRAY        1.338    0.14    0.16
+4C1AD        36  XRAY        1.550    0.19    0.21
+4C24A       217  XRAY        1.500    0.14    0.16
+4C2VB       285  XRAY        1.490    0.17    0.20
+4C2VD        44  XRAY        1.490    0.17    0.20
+4C5KB       276  XRAY        1.400    0.13    0.17
+4C6AA       154  XRAY        1.250    0.16    0.17
+4C6FA       393  XRAY        1.261    0.12    0.14
+4C72A       439  XRAY        1.500    0.14    0.16
+4C81A       184  XRAY        1.560    0.14    0.17
+4CA1B       195  XRAY        1.580    0.14    0.19
+4CAYA       111  XRAY        1.480    0.17    0.20
+4CAYB        97  XRAY        1.480    0.17    0.20
+4CAYC        30  XRAY        1.480    0.17    0.20
+4CBPB       268  XRAY        1.600    0.16    0.19
+4CBUG       127  XRAY        1.300    0.12    0.15
+4CC2A        67  XRAY        1.550    0.17    0.22
+4CD5A       419  XRAY        1.100    0.15    0.17
+4CD8A       320  XRAY        1.470    0.17    0.21
+4CDJB       164  XRAY        1.500    0.16    0.18
+4CDPA       354  XRAY        1.450    0.14    0.17
+4CE8C       114  XRAY        0.900    0.13    0.14
+4CFIA       258  XRAY        1.300    0.14    0.17
+4CFQQ        45  XRAY        1.370    0.16    0.19
+4CGSB       173  XRAY        1.300    0.17    0.22
+4CHIA       332  XRAY        1.270    0.10    0.13
+4CI7B       470  XRAY        1.400    0.14    0.17
+4CI9A       455  XRAY        1.580    0.17    0.19
+4CICB       153  XRAY        1.600    0.20    0.22
+4CILA       287  XRAY        1.500    0.18    0.22
+4CJ0A       625  XRAY        1.100    0.11    0.12
+4CJ0B        81  XRAY        1.100    0.11    0.12
+4CK4B       162  XRAY        1.120    0.14    0.17
+4CNDB       267  XRAY        1.500    0.20    0.23
+4CNGB       255  XRAY        1.100    0.16    0.18
+4CNNA       252  XRAY        1.000    0.13    0.15
+4CO8A       135  XRAY        1.050    0.12    0.13
+4COGC       215  XRAY        1.600    0.15    0.18
+4CP6A       445  XRAY        1.340    0.17    0.19
+4CRGA       238  XRAY        1.250    0.18    0.20
+4CS4A       274  XRAY        1.349    0.15    0.18
+4CSRA        94  XRAY        1.500    0.15    0.18
+4CSRB        94  XRAY        1.500    0.15    0.18
+4CUAB       183  XRAY        1.540    0.16    0.19
+4CV7A       113  XRAY        1.400    0.17    0.20
+4CVRA       159  XRAY        1.100    0.14    0.17
+4CW4A       639  XRAY        1.349    0.15    0.18
+4CXPA       269  XRAY        1.220    0.12    0.13
+4CZ5D        33  XRAY        1.020    0.16    0.18
+4CZGA       348  XRAY        1.500    0.17    0.22
+4D0PA       387  XRAY        1.600    0.18    0.19
+4D0QA       169  XRAY        1.200    0.13    0.16
+4D6GA       599  XRAY        1.240    0.12    0.13
+4D74A       170  XRAY        1.570    0.17    0.18
+4D7CB       285  XRAY        1.450    0.17    0.21
+4D7JA       363  XRAY        1.550    0.17    0.20
+4D8BA       261  XRAY        1.058    0.14    0.16
+4DB5A       125  XRAY        1.522    0.16    0.18
+4DD5A       396  XRAY        1.250    0.12    0.14
+4DDPA       210  XRAY        1.547    0.18    0.20
+4DF0B       202  XRAY        1.500    0.21    0.24
+4DGFA       135  XRAY        1.600    0.21    0.24
+4DI9A       303  XRAY        1.350    0.16    0.18
+4DJAA       518  XRAY        1.450    0.14    0.18
+4DJCB        35  XRAY        1.350    0.15    0.18
+4DK2A       297  XRAY        1.470    0.18    0.21
+4DM5D       103  XRAY        1.500    0.18    0.21
+4DM7A       301  XRAY        1.360    0.21    0.22
+4DMID       176  XRAY        1.500    0.16    0.18
+4DMVA       556  XRAY        1.500    0.19    0.21
+4DN2B       208  XRAY        1.500    0.15    0.19
+4DN7A       429  XRAY        1.600    0.17    0.23
+4DNDA       130  XRAY        1.400    0.16    0.20
+4DNXB       397  XRAY        1.600    0.18    0.20
+4DO4A       400  XRAY        1.400    0.14    0.18
+4DPBX        99  XRAY        1.000    0.12    0.14
+4DPZX       137  XRAY        1.250    0.15    0.18
+4DQ6B       391  XRAY        1.500    0.15    0.19
+4DQ9B       170  XRAY        1.590    0.20    0.25
+4DQAA       355  XRAY        1.500    0.16    0.18
+4DQJB       173  XRAY        1.230    0.15    0.17
+4DR8D       192  XRAY        1.550    0.16    0.19
+4DRIB        98  XRAY        1.450    0.18    0.21
+4DT4A       169  XRAY        1.350    0.16    0.20
+4DT5A       143  XRAY        1.150    0.14    0.16
+4DUIA       169  XRAY        1.160    0.12    0.15
+4DVCA       184  XRAY        1.200    0.12    0.14
+4DWDA       393  XRAY        1.500    0.14    0.17
+4DWOA       279  XRAY        1.500    0.18    0.20
+4DWRA       487  XRAY        1.480    0.14    0.18
+4DXKA       400  XRAY        1.250    0.15    0.17
+4DYQB       140  XRAY        1.502    0.18    0.20
+4DZHA       472  XRAY        1.552    0.21    0.23
+4DZIA       423  XRAY        1.600    0.17    0.20
+4E15B       303  XRAY        1.500    0.17    0.20
+4E19A       199  XRAY        1.410    0.17    0.21
+4E29A       248  XRAY        1.600    0.22    0.24
+4E2BA       382  XRAY        1.269    0.15    0.17
+4E2UA       168  XRAY        1.582    0.17    0.20
+4E2XA       416  XRAY        1.400    0.21    0.24
+4E3XA       563  XRAY        1.240    0.16    0.18
+4E3YB       245  XRAY        0.950    0.13    0.14
+4E40A       252  XRAY        1.600    0.21    0.22
+4E4RA       331  XRAY        1.440    0.13    0.18
+4E4TB       419  XRAY        1.550    0.18    0.20
+4E4UA       412  XRAY        1.350    0.13    0.15
+4E69B       328  XRAY        1.600    0.17    0.20
+4E6FA       181  XRAY        1.490    0.16    0.18
+4E6UA       265  XRAY        1.410    0.18    0.19
+4E74A       117  XRAY        1.580    0.20    0.22
+4E9OX       269  XRAY        1.420    0.17    0.19
+4E9SA       489  XRAY        1.060    0.13    1.00
+4E9XC       339  XRAY        1.140    0.14    1.00
+4EA9A       220  XRAY        0.900    0.14    0.15
+4EADA       440  XRAY        1.500    0.15    0.19
+4EAEB       190  XRAY        1.320    0.16    0.18
+4EBGA       101  XRAY        1.200    0.14    0.17
+4EBJB       272  XRAY        1.600    0.17    0.19
+4ECFA       264  XRAY        1.550    0.16    0.20
+4EE6A       304  XRAY        1.330    0.19    0.21
+4EE9A       321  XRAY        1.381    0.16    0.18
+4EEKA       259  XRAY        1.600    0.19    0.23
+4EETB       115  XRAY        1.200    0.20    0.21
+4EEWB        88  XRAY        1.300    0.19    0.20
+4EF0A       123  XRAY        1.500    0.18    0.19
+4EFIA       354  XRAY        1.350    0.16    0.17
+4EFPB       239  XRAY        1.330    0.18    0.23
+4EGUA       119  XRAY        0.950    0.14    0.15
+4EHUB       276  XRAY        1.600    0.17    0.20
+4EICA        93  XRAY        0.840    0.11    0.13
+4EIHA       116  XRAY        1.200    0.16    0.18
+4EISA       225  XRAY        1.370    0.12    0.15
+4EIVB       297  XRAY        1.370    0.15    0.18
+4EKFA       204  XRAY        0.980    0.14    0.17
+4EMNB        81  XRAY        1.170    0.15    0.19
+4EMTB       188  XRAY        1.500    0.19    0.21
+4EO7A       144  XRAY        1.449    0.17    0.21
+4EP4B       166  XRAY        1.280    0.15    0.19
+4EQ9A       246  XRAY        1.400    0.17    0.19
+4EQAC       153  XRAY        1.600    0.17    0.21
+4EQBB       330  XRAY        1.500    0.16    0.19
+4EQPA       143  XRAY        1.350    0.17    0.19
+4EQSB       437  XRAY        1.500    0.18    0.20
+4ERCA       150  XRAY        1.150    0.13    0.14
+4ERRA        90  XRAY        1.550    0.17    0.21
+4ERYA       312  XRAY        1.300    0.19    0.21
+4ES1A       100  XRAY        1.100    0.16    0.16
+4ES8B       320  XRAY        1.580    0.15    0.18
+4ESMA       302  XRAY        1.350    0.15    0.18
+4ESRB        69  XRAY        1.530    0.12    0.14
+4ESUA       210  XRAY        1.590    0.20    0.23
+4ESWA       342  XRAY        1.600    0.16    0.19
+4ETNA       184  XRAY        1.100    0.16    0.17
+4EU9A       514  XRAY        1.479    0.16    0.18
+4EUNA       200  XRAY        1.600    0.19    0.22
+4EUOA       320  XRAY        1.280    0.17    0.18
+4EVQB       375  XRAY        1.400    0.14    0.17
+4EVUB        72  XRAY        1.450    0.13    0.17
+4EVZA       258  XRAY        1.462    0.15    0.18
+4EWEA       290  XRAY        1.560    0.14    0.17
+4EX6A       237  XRAY        1.250    0.12    0.15
+4EXKA       487  XRAY        1.280    0.16    0.18
+4EYSA       346  XRAY        1.580    0.18    0.20
+4EYZB       246  XRAY        1.383    0.13    0.15
+4EZGA       197  XRAY        1.500    0.17    0.19
+4EZIA       377  XRAY        1.150    0.14    0.16
+4F01A       241  XRAY        1.400    0.16    0.21
+4F06A       371  XRAY        1.300    0.12    0.14
+4F0BB       224  XRAY        1.450    0.14    0.17
+4F0JA       315  XRAY        1.500    0.16    0.19
+4F0WA       188  XRAY        1.240    0.18    0.19
+4F1VA       381  XRAY        0.880    0.13    0.14
+4F2EA        98  XRAY        1.449    0.18    0.20
+4F2FA       100  XRAY        1.500    0.22    0.24
+4F2LA        61  XRAY        1.500    0.18    0.21
+4F3JA       148  XRAY        1.337    0.14    0.17
+4F54A       197  XRAY        1.600    0.17    0.20
+4F66B       480  XRAY        1.479    0.16    0.18
+4F87C        72  XRAY        1.400    0.19    0.20
+4F8XA       335  XRAY        1.470    0.15    0.17
+4F98A        69  XRAY        1.260    0.14    0.17
+4FAYB       258  XRAY        1.560    0.17    0.20
+4FB2A       398  XRAY        1.370    0.14    0.17
+4FBJA       261  XRAY        1.600    0.17    0.24
+4FCHB       221  XRAY        1.300    0.17    0.18
+4FFLA       363  XRAY        1.500    0.17    0.20
+4FGLD       233  XRAY        1.200    0.16    0.17
+4FH0A       102  XRAY        1.400    0.14    0.18
+4FK9A       337  XRAY        1.060    0.12    0.13
+4FKLA       299  XRAY        1.260    0.15    0.18
+4FN7C       231  XRAY        1.250    0.15    0.18
+4FNVA       702  XRAY        1.600    0.18    0.20
+4FOJA       264  XRAY        1.550    0.18    0.23
+4FP5G        98  XRAY        1.400    0.20    0.21
+4FR9A       144  XRAY        1.200    0.15    0.17
+4FS7A       394  XRAY        1.190    0.13    0.16
+4FTFA       112  XRAY        1.480    0.16    0.18
+4FZLB       247  XRAY        1.460    0.15    0.20
+4FZPA        82  XRAY        1.290    0.18    0.19
+4G0XA       147  XRAY        1.350    0.16    0.18
+4G1QA       557  XRAY        1.510    0.15    0.19
+4G2EA       157  XRAY        1.400    0.12    0.15
+4G3BB        26  XRAY        1.190    0.18    0.19
+4G3NA       327  XRAY        1.400    0.19    0.21
+4G3OA        58  XRAY        1.600    0.16    0.19
+4G41B       236  XRAY        1.450    0.16    0.20
+4G4GA       433  XRAY        1.550    0.21    0.25
+4G4KB       103  XRAY        1.520    0.18    0.21
+4G54A       258  XRAY        1.550    0.18    0.20
+4G6TA       128  XRAY        1.560    0.21    0.23
+4G6TB        82  XRAY        1.560    0.21    0.23
+4G78A       152  XRAY        0.920    0.12    0.15
+4G7XA       105  XRAY        1.440    0.21    0.22
+4G7XB       138  XRAY        1.440    0.21    0.22
+4G9EB       279  XRAY        1.088    0.15    0.15
+4G9SA       187  XRAY        0.950    0.13    0.14
+4G9SB       111  XRAY        0.950    0.13    0.14
+4GA2A       150  XRAY        0.950    0.18    0.20
+4GAIA       153  XRAY        1.490    0.19    0.22
+4GB5A       159  XRAY        1.550    0.15    0.18
+4GB7A       422  XRAY        1.600    0.14    0.20
+4GBUA       400  XRAY        1.179    0.10    0.12
+4GC3A       284  XRAY        1.320    0.15    0.16
+4GCIB       211  XRAY        1.500    0.18    0.21
+4GCOA       126  XRAY        1.600    0.18    0.22
+4GE6B       314  XRAY        1.400    0.20    0.21
+4GEIA       150  XRAY        1.500    0.18    0.20
+4GEKA       261  XRAY        1.500    0.17    0.20
+4GGCA       318  XRAY        1.350    0.13    0.15
+4GGFT       114  XRAY        1.600    0.18    0.20
+4GGFU        93  XRAY        1.600    0.18    0.20
+4GHNA       393  XRAY        1.500    0.14    0.17
+4GJZA       235  XRAY        1.048    0.15    0.16
+4GMQA       103  XRAY        1.300    0.15    0.19
+4GMUA       612  XRAY        1.200    0.17    0.20
+4GNEA       107  XRAY        1.470    0.15    0.18
+4GNRA       353  XRAY        1.000    0.13    0.15
+4GOFA        52  XRAY        1.350    0.18    0.20
+4GOSA       125  XRAY        1.590    0.17    0.19
+4GQ4A       489  XRAY        1.270    0.15    0.18
+4GQMA       118  XRAY        1.250    0.16    0.17
+4GRZA       288  XRAY        1.373    0.17    0.19
+4GS3A       107  XRAY        1.090    0.15    1.00
+4GT8A       139  XRAY        1.510    0.18    0.20
+4GT9A       232  XRAY        1.390    0.15    0.16
+4GUCB       120  XRAY        1.400    0.15    0.19
+4GVFB       349  XRAY        1.350    0.17    0.19
+4GVOB       243  XRAY        1.448    0.11    0.15
+4GVQA       316  XRAY        1.300    0.14    0.16
+4GVXD       258  XRAY        1.499    0.15    0.18
+4GWBA       168  XRAY        1.200    0.16    0.18
+4GWGA       484  XRAY        1.391    0.17    0.19
+4GXWA       380  XRAY        1.300    0.16    0.18
+4GYMB       149  XRAY        1.560    0.16    0.19
+4GZCA       180  XRAY        1.300    0.21    0.23
+4H14A       290  XRAY        1.550    0.16    0.18
+4H15B       261  XRAY        1.450    0.15    0.17
+4H17B       197  XRAY        1.600    0.14    0.16
+4H27A       364  XRAY        1.300    0.15    0.17
+4H2GA       546  XRAY        1.550    0.13    0.18
+4H3UB       158  XRAY        1.150    0.13    0.14
+4H4DB       323  XRAY        1.350    0.19    0.21
+4H4NA        67  XRAY        1.100    0.15    0.18
+4H5IA       365  XRAY        1.360    0.18    0.20
+4H6CI       195  XRAY        1.350    0.14    0.17
+4H6QC       312  XRAY        1.359    0.15    0.18
+4H7PA       345  XRAY        1.300    0.15    0.18
+4H7RA        33  XRAY        1.330    0.20    0.23
+4H7UA       602  XRAY        1.600    0.17    0.20
+4H7WA       193  XRAY        1.100    0.13    0.15
+4H87A       130  XRAY        1.550    0.18    0.20
+4H89A       173  XRAY        1.370    0.12    0.16
+4H8EA       256  XRAY        1.300    0.17    0.19
+4HA4A       489  XRAY        1.370    0.13    0.16
+4HBQA       206  XRAY        1.400    0.14    0.18
+4HBZA       186  XRAY        1.550    0.14    0.16
+4HC5A       133  XRAY        1.450    0.14    0.18
+4HC9A       115  XRAY        1.600    0.18    0.22
+4HCJA       177  XRAY        1.120    0.12    0.13
+4HCSA        81  XRAY        1.280    0.18    0.21
+4HDDA        79  XRAY        1.350    0.16    0.18
+4HDEA       170  XRAY        1.317    0.16    0.18
+4HDRC       348  XRAY        1.450    0.19    0.22
+4HDRD       350  XRAY        1.450    0.19    0.22
+4HDTA       353  XRAY        1.600    0.16    0.19
+4HE6A        89  XRAY        1.100    0.12    0.16
+4HFQB       203  XRAY        1.390    0.17    0.20
+4HFSB       212  XRAY        1.550    0.19    0.22
+4HG2A       257  XRAY        1.600    0.15    0.18
+4HGUA        40  XRAY        0.980    0.11    0.12
+4HHRA       652  XRAY        1.510    0.15    0.18
+4HI7B       228  XRAY        1.250    0.20    0.23
+4HI8A       179  XRAY        1.203    0.14    0.17
+4HI8B        72  XRAY        1.203    0.14    0.17
+4HJBD        33  XRAY        1.250    0.14    0.19
+4HJIB       175  XRAY        1.600    0.22    0.25
+4HKGA        88  XRAY        1.300    0.15    0.17
+4HLSB       132  XRAY        1.450    0.15    0.18
+4HLYA       132  XRAY        1.480    0.20    0.23
+4HMSB       225  XRAY        1.330    0.12    0.15
+4HNLA       421  XRAY        1.480    0.12    0.16
+4HNOA       288  XRAY        0.919    0.13    0.14
+4HOJA       210  XRAY        1.400    0.18    0.21
+4HPNA       378  XRAY        1.600    0.14    0.16
+4HQ1A       475  XRAY        1.550    0.17    0.19
+4HQSA       190  XRAY        1.480    0.18    0.20
+4HQZA       187  XRAY        1.220    0.16    0.18
+4HROB        90  XRAY        1.150    0.17    0.17
+4HS1A        85  XRAY        0.870    0.13    0.14
+4HS2A       110  XRAY        1.530    0.13    0.15
+4HSTA       229  XRAY        1.571    0.12    0.16
+4HSTB       543  XRAY        1.571    0.12    0.16
+4HTFA       285  XRAY        1.600    0.18    0.20
+4HTGA       320  XRAY        1.450    0.15    0.22
+4HVKA       382  XRAY        1.430    0.11    0.15
+4HVYA       162  XRAY        1.460    0.17    0.21
+4HWMA       130  XRAY        1.380    0.15    0.18
+4HWVB       503  XRAY        1.370    0.13    0.15
+4HY4B       115  XRAY        1.249    0.15    0.17
+4HZ2A       230  XRAY        1.500    0.14    0.20
+4HZRB       277  XRAY        1.310    0.20    0.21
+4I0WA        96  XRAY        1.600    0.16    0.18
+4I0WD       477  XRAY        1.600    0.16    0.18
+4I1FA       325  XRAY        1.580    0.21    0.24
+4I1KB       146  XRAY        1.600    0.12    0.17
+4I2UA       114  XRAY        1.300    0.14    0.17
+4I3GB       829  XRAY        1.400    0.17    0.20
+4I4EA       281  XRAY        1.550    0.17    0.19
+4I4OB       146  XRAY        1.120    0.15    0.16
+4I62A       269  XRAY        1.050    0.17    0.18
+4I66A       209  XRAY        1.300    0.16    0.20
+4I6RA        82  XRAY        1.380    0.15    0.18
+4I6XA       131  XRAY        1.500    0.19    0.24
+4I6YA       428  XRAY        1.450    0.17    0.19
+4I71A       330  XRAY        1.280    0.13    0.15
+4I7WB       308  XRAY        1.300    0.17    0.19
+4I84B       307  XRAY        1.500    0.16    0.21
+4I8HA       223  XRAY        0.750    0.10    0.11
+4I8IA       271  XRAY        1.500    0.15    0.18
+4I93A       300  XRAY        1.500    0.18    0.21
+4IAUA       163  XRAY        0.990    0.11    0.13
+4IC4A       397  XRAY        1.500    0.22    0.23
+4ICIA       171  XRAY        1.400    0.12    0.15
+4ICVA        85  XRAY        1.450    0.16    0.19
+4ID0B       214  XRAY        1.100    0.16    0.17
+4ID9B       347  XRAY        1.600    0.18    0.21
+4IDCA       332  XRAY        1.400    0.14    0.16
+4IEDA       254  XRAY        1.500    0.15    0.18
+4IEJA        93  XRAY        1.450    0.20    0.23
+4IFAA       339  XRAY        1.500    0.15    0.18
+4IGIA       203  XRAY        1.200    0.12    0.15
+4IHEB       419  XRAY        1.500    0.17    0.18
+4IHMA       326  XRAY        1.290    0.14    0.15
+4IHZA       165  XRAY        1.500    0.17    0.21
+4IIKA       319  XRAY        1.600    0.12    0.17
+4IILA       346  XRAY        1.300    0.12    0.15
+4IIYA       371  XRAY        1.200    0.16    0.17
+4IJ5B       211  XRAY        1.500    0.18    0.20
+4IKDA       172  XRAY        1.600    0.19    0.24
+4IL7A       166  XRAY        1.400    0.14    0.17
+4IN0A       148  XRAY        1.327    0.13    0.18
+4IN9A       166  XRAY        1.550    0.15    0.17
+4INEB       454  XRAY        1.450    0.17    0.19
+4INKA       205  XRAY        1.560    0.18    0.21
+4INWA       140  XRAY        1.140    0.16    0.18
+4IO2B       248  XRAY        1.370    0.14    0.17
+4IPUA       137  XRAY        1.351    0.18    0.20
+4IQBA       315  XRAY        1.130    0.12    0.14
+4IQYA       240  XRAY        1.550    0.16    0.19
+4IRXB       296  XRAY        1.451    0.17    0.19
+4ITBB       456  XRAY        1.400    0.17    0.19
+4ITCA       173  XRAY        1.550    0.15    0.18
+4IUMA       142  XRAY        1.450    0.16    0.18
+4IUSA       261  XRAY        1.300    0.13    0.16
+4IX3B       350  XRAY        1.350    0.14    0.17
+4IX7B       115  XRAY        1.581    0.19    0.22
+4IYAA       292  XRAY        1.550    0.17    0.19
+4IYJA       212  XRAY        1.370    0.14    0.17
+4IZBB       275  XRAY        1.504    0.14    0.16
+4IZXA       140  XRAY        1.100    0.11    0.13
+4J0DA       491  XRAY        1.600    0.14    0.17
+4J0EA       320  XRAY        1.600    0.23    0.27
+4J1OA       391  XRAY        1.600    0.16    0.18
+4J20A        88  XRAY        1.300    0.15    0.17
+4J27B       450  XRAY        1.590    0.16    0.18
+4J3VA       905  XRAY        1.450    0.14    0.17
+4J42B        93  XRAY        1.280    0.16    0.17
+4J4ZA       167  XRAY        1.260    0.17    0.18
+4J5RB       146  XRAY        1.250    0.12    0.15
+4J6OA       264  XRAY        1.600    0.17    0.21
+4J73A       301  XRAY        1.439    0.18    0.20
+4J7AD       374  XRAY        1.492    0.15    0.17
+4J7NA       378  XRAY        1.500    0.18    0.20
+4J7QA       333  XRAY        1.550    0.22    0.24
+4J8CA        46  XRAY        1.100    0.14    0.16
+4J8SA       203  XRAY        1.550    0.17    0.19
+4J9TA       363  XRAY        1.400    0.14    0.17
+4J9YB       102  XRAY        1.510    0.18    0.22
+4JB3A       228  XRAY        1.500    0.15    0.17
+4JB7A       256  XRAY        1.420    0.13    0.14
+4JBBA       234  XRAY        1.480    0.11    0.13
+4JBDA       330  XRAY        1.300    0.16    0.18
+4JCCA       286  XRAY        1.133    0.15    0.17
+4JDUA       215  XRAY        1.470    0.18    0.20
+4JE1A       175  XRAY        1.400    0.15    0.17
+4JEDA       237  XRAY        1.100    0.12    0.13
+4JEJA       244  XRAY        1.520    0.18    0.20
+4JEMB       170  XRAY        1.553    0.19    0.22
+4JERA       193  XRAY        1.100    0.14    0.15
+4JF1B       422  XRAY        1.280    0.17    0.18
+4JF8A       179  XRAY        1.350    0.15    0.17
+4JG2A       208  XRAY        1.300    0.13    0.16
+4JGIA       211  XRAY        1.500    0.15    0.19
+4JGLA       169  XRAY        1.250    0.14    0.15
+4JGUB        95  XRAY        1.420    0.15    0.19
+4JHTA       206  XRAY        1.180    0.16    0.17
+4JIUA       105  XRAY        1.150    0.15    0.19
+4JJAA       371  XRAY        1.300    0.12    0.15
+4JK8B       222  XRAY        1.150    0.14    0.16
+4JM1A        84  XRAY        1.400    0.13    0.17
+4JMPA       269  XRAY        1.300    0.17    0.19
+4JN7A       395  XRAY        1.150    0.14    0.14
+4JNUD        40  XRAY        1.445    0.19    0.22
+4JOKA        87  XRAY        1.090    0.18    0.19
+4JP6A       122  XRAY        1.000    0.15    0.18
+4JQFA       179  XRAY        1.600    0.20    0.22
+4JTMA        81  XRAY        1.430    0.19    0.22
+4JVUA       117  XRAY        1.300    0.14    0.17
+4JWXA       280  XRAY        1.500    0.16    0.20
+4JXRA       186  XRAY        1.150    0.12    0.14
+4JZ5A       223  XRAY        1.100    0.14    0.14
+4JZZA       376  XRAY        1.490    0.17    0.19
+4JZZR        28  XRAY        1.490    0.17    0.19
+4K0NA       243  XRAY        1.250    0.15    0.17
+4K12A        64  XRAY        1.079    0.15    0.17
+4K12B        84  XRAY        1.079    0.15    0.17
+4K3LB       366  XRAY        1.500    0.22    0.26
+4K7BA       124  XRAY        1.550    0.19    0.20
+4K7ZA       467  XRAY        1.500    0.18    0.21
+4K82A       217  XRAY        1.600    0.19    0.24
+4K8GA       422  XRAY        1.250    0.14    0.15
+4KALA       352  XRAY        1.500    0.16    0.19
+4KAVA       335  XRAY        1.433    0.12    0.16
+4KBXA       388  XRAY        1.599    0.17    0.20
+4KDWA       123  XRAY        1.350    0.13    0.17
+4KDXA       229  XRAY        1.350    0.15    0.17
+4KEFA       143  XRAY        1.098    0.13    0.14
+4KEMA       390  XRAY        1.300    0.17    0.19
+4KG7A       381  XRAY        1.500    0.15    0.18
+4KGDB       603  XRAY        1.060    0.13    0.15
+4KH7A       230  XRAY        1.500    0.17    0.19
+4KH8A       318  XRAY        1.600    0.14    0.17
+4KL0A       379  XRAY        1.598    0.20    0.23
+4KLIA       335  XRAY        1.597    0.19    0.22
+4KLXA       179  XRAY        1.230    0.18    0.24
+4KM6A       208  XRAY        1.550    0.17    0.20
+4KMGA        88  XRAY        1.400    0.12    0.18
+4KMRB       280  XRAY        1.450    0.13    0.18
+4KN8A       267  XRAY        1.502    0.19    0.21
+4KNKB       225  XRAY        1.124    0.12    0.14
+4KQDB       121  XRAY        1.550    0.16    0.18
+4KQIA       356  XRAY        1.400    0.17    0.20
+4KQPA       232  XRAY        0.950    0.12    0.12
+4KRUA       229  XRAY        1.370    0.17    0.19
+4KS7A       292  XRAY        1.400    0.20    0.22
+4KT3A       177  XRAY        1.436    0.15    0.17
+4KT3B       137  XRAY        1.436    0.15    0.17
+4KU0B        96  XRAY        1.150    0.14    0.17
+4KU0D        96  XRAY        1.150    0.14    0.17
+4KV7A       381  XRAY        1.200    0.15    0.16
+4KXVA       637  XRAY        0.970    0.10    0.11
+4L05A       154  XRAY        1.098    0.11    0.12
+4L2HA       477  XRAY        1.460    0.14    0.18
+4L2IA       346  XRAY        1.450    0.15    0.21
+4L2IB       263  XRAY        1.450    0.15    0.21
+4L4EA       415  XRAY        1.261    0.19    0.21
+4L57A       195  XRAY        1.080    0.14    0.18
+4L5EA        46  XRAY        1.340    0.18    0.21
+4L6DD       335  XRAY        1.449    0.15    0.17
+4L7GA       409  XRAY        1.380    0.16    0.19
+4L8AA       162  XRAY        1.200    0.13    0.16
+4L8PA       187  XRAY        1.600    0.15    0.18
+4L9OB       349  XRAY        1.600    0.17    0.20
+4L9PA       367  XRAY        1.450    0.13    0.15
+4L9PB       519  XRAY        1.450    0.13    0.15
+4LA2B       198  XRAY        1.600    0.20    0.22
+4LC3A       391  XRAY        1.600    0.11    0.15
+4LD1A       184  XRAY        1.440    0.15    0.18
+4LDVA       362  XRAY        1.450    0.21    0.24
+4LEBA       300  XRAY        1.400    0.14    0.18
+4LERA       469  XRAY        1.420    0.14    0.17
+4LF0A       348  XRAY        1.100    0.13    0.14
+4LGJA       271  XRAY        1.550    0.17    0.19
+4LGTD       255  XRAY        1.300    0.17    0.20
+4LGYA      1305  XRAY        1.480    0.14    0.17
+4LHSA       343  XRAY        1.400    0.13    0.16
+4LIXA       727  XRAY        1.548    0.17    0.20
+4LIZA       142  XRAY        1.499    0.16    0.19
+4LJIB       141  XRAY        1.508    0.22    0.25
+4LJOA       223  XRAY        1.564    0.18    0.21
+4LKSA       167  XRAY        1.500    0.18    0.20
+4LKUD        29  XRAY        1.450    0.17    0.23
+4LLDA       111  XRAY        1.190    0.18    0.17
+4LLDB       129  XRAY        1.190    0.18    0.17
+4LMYB       163  XRAY        1.600    0.22    0.24
+4LOWB        89  XRAY        1.300    0.20    0.20
+4LPLA       182  XRAY        1.350    0.19    0.21
+4LPQA       207  XRAY        1.370    0.12    0.15
+4LR2A       401  XRAY        1.500    0.16    0.20
+4LRQD       155  XRAY        1.450    0.15    0.16
+4LRTC       355  XRAY        1.500    0.15    0.17
+4LRTD       323  XRAY        1.500    0.15    0.17
+4LRUA       239  XRAY        1.600    0.16    0.18
+4LTTA        93  XRAY        1.280    0.18    0.21
+4LUAA       167  XRAY        1.600    0.18    0.21
+4LUKA       189  XRAY        1.410    0.15    0.21
+4LUPC       106  XRAY        1.200    0.15    0.17
+4LVUB       279  XRAY        1.250    0.12    0.14
+4LWLA       217  XRAY        1.600    0.20    0.22
+4LWUA        85  XRAY        1.140    0.22    0.23
+4LX2A       392  XRAY        1.500    0.17    0.20
+4LX2B        26  XRAY        1.500    0.17    0.20
+4LX3A       108  XRAY        1.500    0.17    0.19
+4LX3B        36  XRAY        1.500    0.17    0.19
+4LXQB       274  XRAY        1.400    0.16    0.18
+4LYPA       449  XRAY        1.280    0.12    0.15
+4LZXB        40  XRAY        1.500    0.15    0.19
+4M02A       204  XRAY        1.590    0.17    0.20
+4M0WA       327  XRAY        1.400    0.16    0.18
+4M1GA        97  XRAY        1.600    0.20    0.23
+4M1QB       339  XRAY        1.600    0.18    0.20
+4M1UA       297  XRAY        1.560    0.17    0.19
+4M1XD        99  XRAY        1.300    0.12    0.14
+4M2MA       406  XRAY        1.580    0.18    0.20
+4M51A       427  XRAY        1.080    0.12    0.14
+4M5EA       410  XRAY        1.490    0.18    0.20
+4M5RA       241  XRAY        1.400    0.16    0.18
+4M7TA       270  XRAY        1.560    0.17    0.18
+4M82A       399  XRAY        1.592    0.15    0.18
+4M8AA        72  XRAY        1.502    0.17    0.20
+4M91A       161  XRAY        1.100    0.14    0.16
+4M9KA       247  XRAY        1.460    0.20    0.23
+4M9VF        64  XRAY        0.969    0.13    0.14
+4MAIA       216  XRAY        1.400    0.13    0.15
+4MAKB        94  XRAY        1.100    0.14    0.17
+4MAMB       373  XRAY        1.474    0.16    0.18
+4MAQB       240  XRAY        1.400    0.13    0.17
+4MAXC       123  XRAY        1.444    0.17    0.19
+4MBYF       278  XRAY        1.480    0.17    0.19
+4MC3A       346  XRAY        1.500    0.14    0.19
+4MCOB       345  XRAY        1.600    0.15    0.18
+4ME2A       257  XRAY        1.600    0.21    0.24
+4MF5A       256  XRAY        1.110    0.11    0.13
+4MFIA       436  XRAY        1.500    0.14    0.16
+4MIJA       337  XRAY        1.100    0.14    0.15
+4MIYA       339  XRAY        1.420    0.19    0.21
+4MJDB       113  XRAY        1.280    0.14    0.17
+4MJEA        99  XRAY        1.200    0.18    0.20
+4MKXA       355  XRAY        1.600    0.20    0.23
+4MLLA       251  XRAY        1.370    0.17    0.20
+4MMGA        95  XRAY        1.500    0.17    0.19
+4MNCA       332  XRAY        1.050    0.13    0.14
+4MNOA       115  XRAY        1.350    0.16    0.19
+4MQ3A       132  XRAY        1.080    0.14    0.18
+4MQBA       208  XRAY        1.550    0.14    0.20
+4MTMA       164  XRAY        1.368    0.10    0.13
+4MTUA       144  XRAY        0.970    0.15    0.16
+4MUPA       312  XRAY        1.600    0.15    0.18
+4MUQA       255  XRAY        1.364    0.16    0.18
+4MUVA       142  XRAY        1.250    0.14    0.17
+4MUZA       229  XRAY        1.390    0.16    0.19
+4MX6A       346  XRAY        1.100    0.13    0.15
+4MXTA       190  XRAY        1.400    0.14    0.17
+4MYDC       252  XRAY        1.374    0.13    0.17
+4MYKA       316  XRAY        1.518    0.15    0.16
+4MYZB        79  XRAY        1.500    0.18    0.20
+4MZCA       111  XRAY        0.949    0.10    0.11
+4MZDA       488  XRAY        1.100    0.15    0.17
+4MZJA       145  XRAY        1.474    0.18    0.22
+4N02A       357  XRAY        1.400    0.14    0.16
+4N03A       405  XRAY        1.150    0.12    0.15
+4N0KB       108  XRAY        1.050    0.16    0.18
+4N13A       265  XRAY        1.300    0.14    0.16
+4N1IA       334  XRAY        1.000    0.12    0.14
+4N2KA       690  XRAY        1.570    0.18    0.21
+4N2PD       143  XRAY        1.435    0.14    0.18
+4N30A       221  XRAY        1.300    0.20    0.22
+4N3TA       159  XRAY        1.400    0.15    0.19
+4N4UA       326  XRAY        1.570    0.18    0.21
+4N5MA       270  XRAY        1.340    0.17    0.19
+4N5UA       117  XRAY        1.456    0.16    0.20
+4N67A       227  XRAY        1.550    0.17    0.19
+4N6KA       351  XRAY        1.200    0.14    0.16
+4N7FB        38  XRAY        1.102    0.18    0.20
+4N8CY        23  XRAY        1.600    0.20    0.24
+4N8GD       352  XRAY        1.502    0.16    0.18
+4NAZA       145  XRAY        1.150    0.14    0.16
+4NBPA       132  XRAY        1.315    0.15    0.18
+4NBRA       273  XRAY        1.350    0.10    0.13
+4NBUC       250  XRAY        1.340    0.16    0.16
+4NDOA       276  XRAY        1.350    0.16    0.18
+4NDSB        94  XRAY        0.997    0.11    0.12
+4NECB       264  XRAY        1.500    0.15    0.19
+4NESA       374  XRAY        1.420    0.20    0.22
+4NF1G       150  XRAY        1.399    0.18    0.20
+4NFNA       309  XRAY        1.420    0.19    0.21
+4NG0B        97  XRAY        1.501    0.16    0.19
+4NI6A       150  XRAY        1.100    0.18    0.21
+4NKPD       148  XRAY        1.240    0.13    0.15
+4NL9A        71  XRAY        1.500    0.18    0.20
+4NL9C        71  XRAY        1.500    0.18    0.20
+4NLMA       363  XRAY        1.180    0.15    0.18
+4NMUB       147  XRAY        1.350    0.14    0.18
+4NMWA       259  XRAY        1.496    0.14    0.18
+4NN2B       129  XRAY        1.472    0.16    0.18
+4NN3A       357  XRAY        1.400    0.15    0.19
+4NNLA       103  XRAY        1.500    0.18    0.20
+4NNOA       291  XRAY        1.174    0.15    0.16
+4NOAA       112  XRAY        1.250    0.16    0.17
+4NOBA       126  XRAY        1.510    0.16    0.19
+4NOGA       442  XRAY        1.200    0.14    0.17
+4NOHB       169  XRAY        1.502    0.16    0.20
+4NOVA       345  XRAY        1.330    0.18    0.19
+4NPDA        58  XRAY        0.900    0.11    0.13
+4NSMA        87  XRAY        1.600    0.20    0.24
+4NSVA       275  XRAY        0.900    0.14    0.16
+4NTDA       340  XRAY        1.600    0.15    0.16
+4NTKA       121  XRAY        1.600    0.19    0.22
+4NUTA       129  XRAY        1.550    0.20    0.23
+4NUTB        57  XRAY        1.550    0.20    0.23
+4NX1B       326  XRAY        1.600    0.15    0.18
+4NXYA       194  XRAY        1.449    0.18    0.22
+4NYHC       182  XRAY        1.200    0.14    0.17
+4NYQA       164  XRAY        1.200    0.15    0.19
+4NZJA       477  XRAY        1.570    0.15    0.17
+4NZKA       353  XRAY        1.490    0.13    0.16
+4O06A       106  XRAY        1.150    0.17    0.19
+4O0AA       123  XRAY        1.200    0.16    0.18
+4O0CA       309  XRAY        1.500    0.15    0.20
+4O0KA       329  XRAY        1.500    0.16    0.18
+4O1RA       142  XRAY        1.400    0.16    0.19
+4O5FA       280  XRAY        1.550    0.16    0.18
+4O6UA       184  XRAY        0.890    0.12    0.13
+4O7HA       222  XRAY        1.600    0.18    0.20
+4OA3A       146  XRAY        1.390    0.18    0.20
+4OANB       333  XRAY        1.350    0.14    0.16
+4OCVA       379  XRAY        1.472    0.19    0.20
+4OD6A        90  XRAY        1.199    0.18    0.21
+4ODKA       158  XRAY        1.401    0.14    0.17
+4OE9A       121  XRAY        1.550    0.14    0.17
+4OELA       370  XRAY        1.400    0.18    0.20
+4OFAA       192  XRAY        1.550    0.14    0.18
+4OGDB       465  XRAY        1.600    0.17    0.20
+4OGGC       388  XRAY        1.600    0.18    0.21
+4OH7A       320  XRAY        1.500    0.16    0.18
+4OHJA       229  XRAY        1.280    0.14    0.18
+4OHNA       257  XRAY        1.370    0.14    0.15
+4OI3A        89  XRAY        1.300    0.15    0.17
+4OJXA       369  XRAY        1.310    0.17    0.18
+4OKIA       216  XRAY        1.500    0.18    0.22
+4OLTB       248  XRAY        1.590    0.16    0.23
+4OM8B       309  XRAY        1.550    0.16    0.19
+4OMBA       347  XRAY        1.500    0.19    0.22
+4ONMA       153  XRAY        1.350    0.16    0.19
+4ONRA       166  XRAY        1.600    0.17    0.20
+4OO4B       105  XRAY        0.970    0.14    0.17
+4OPCA       453  XRAY        1.400    0.15    0.18
+4OQ9N       159  XRAY        1.450    0.22    0.25
+4OQPA       264  XRAY        1.600    0.16    0.19
+4OQVA       377  XRAY        1.230    0.14    0.16
+4OTKA       318  XRAY        1.600    0.15    0.17
+4OU0A        73  XRAY        1.400    0.20    0.24
+4OUJB       307  XRAY        1.460    0.16    0.18
+4OUSA       143  XRAY        1.050    0.15    0.16
+4OXXA       162  XRAY        1.210    0.14    0.16
+4OY3A       231  XRAY        1.200    0.13    0.14
+4OY5A        30  XRAY        0.890    0.07    0.08
+4OY7G       196  XRAY        1.500    0.20    0.22
+4P0TB       176  XRAY        1.493    0.13    0.16
+4P0ZA       149  XRAY        1.350    0.17    0.20
+4P32B       249  XRAY        1.550    0.20    0.22
+4P3AB        79  XRAY        1.400    0.15    0.17
+4P3HA       193  XRAY        1.450    0.17    0.20
+4P3VA        90  XRAY        1.250    0.16    0.17
+4P40A       425  XRAY        1.200    0.14    0.16
+4P47A       345  XRAY        1.300    0.17    0.19
+4P5EB       152  XRAY        1.350    0.16    0.18
+4P5NB        77  XRAY        1.490    0.14    0.18
+4P5PA       225  XRAY        1.540    0.15    0.19
+4P7OA       367  XRAY        1.480    0.22    0.25
+4P7XA       292  XRAY        1.300    0.14    0.16
+4P82A       183  XRAY        1.300    0.18    0.21
+4P8BA       342  XRAY        1.300    0.15    0.17
+4P9IA       174  XRAY        1.340    0.14    0.16
+4PAKA       326  XRAY        1.200    0.15    0.16
+4PBHA       334  XRAY        1.200    0.14    0.15
+4PC9A       322  XRAY        1.300    0.14    0.15
+4PCAB       226  XRAY        1.500    0.15    0.17
+4PDNA       190  XRAY        1.448    0.15    0.17
+4PDYA       351  XRAY        1.350    0.13    0.17
+4PE0A        92  XRAY        1.080    0.19    0.21
+4PE3A       345  XRAY        1.350    0.17    0.20
+4PF3A       275  XRAY        1.100    0.15    0.18
+4PF4A       278  XRAY        1.130    0.12    0.15
+4PF8A       325  XRAY        1.500    0.15    0.17
+4PFYB       544  XRAY        1.500    0.16    0.19
+4PH2B       134  XRAY        1.440    0.16    0.19
+4PH8A       156  XRAY        1.550    0.16    0.23
+4PHJB       173  XRAY        1.600    0.17    0.20
+4PHRA       277  XRAY        1.340    0.15    0.19
+4PI8A       228  XRAY        1.390    0.15    0.17
+4PIOA       323  XRAY        1.506    0.15    0.18
+4PITD       149  XRAY        1.550    0.17    0.19
+4PJ2B       135  XRAY        1.240    0.15    0.17
+4PJ2D       122  XRAY        1.240    0.15    0.17
+4PKLA       119  XRAY        1.251    0.17    0.18
+4PLZA       322  XRAY        1.050    0.13    0.15
+4PMOA       234  XRAY        1.330    0.15    0.17
+4PMXA       306  XRAY        1.304    0.13    0.17
+4PNEB       302  XRAY        1.500    0.20    0.22
+4PNOA        72  XRAY        0.970    0.14    0.16
+4POWB       265  XRAY        1.550    0.17    0.19
+4PP4A       276  XRAY        1.450    0.17    0.18
+4PQ9A       257  XRAY        1.200    0.12    0.14
+4PQDA       105  XRAY        1.332    0.17    0.19
+4PQHA       236  XRAY        1.400    0.15    0.19
+4PQQA       156  XRAY        1.550    0.16    0.18
+4PS6A       130  XRAY        1.250    0.12    0.16
+4PSCA       254  XRAY        1.150    0.15    0.17
+4PSFB       138  XRAY        1.578    0.18    0.19
+4PSRB       585  XRAY        1.380    0.14    0.17
+4PSSA       159  XRAY        0.849    0.15    0.17
+4PUXA       160  XRAY        1.430    0.12    0.15
+4PVAA       342  XRAY        1.230    0.14    0.16
+4PVKA       500  XRAY        1.300    0.14    0.16
+4PW0A       283  XRAY        1.480    0.10    0.13
+4PWOA       250  XRAY        1.520    0.17    0.19
+4PWWA        89  XRAY        1.471    0.18    0.22
+4PXEA       430  XRAY        1.449    0.16    0.18
+4PXYA       250  XRAY        1.500    0.14    0.16
+4PYRA       305  XRAY        1.450    0.19    0.23
+4PZ0A       324  XRAY        1.250    0.13    0.15
+4PZ3A       153  XRAY        1.083    0.17    0.18
+4PZJA        70  XRAY        1.600    0.19    0.21
+4Q27A       136  XRAY        1.200    0.15    0.18
+4Q29A       128  XRAY        1.349    0.13    0.15
+4Q2LA        70  XRAY        1.071    0.18    0.20
+4Q2QA       102  XRAY        1.450    0.16    0.21
+4Q2SA       143  XRAY        1.350    0.19    0.21
+4Q34A       323  XRAY        1.600    0.16    0.19
+4Q3KA       260  XRAY        1.570    0.15    0.19
+4Q4GX       472  XRAY        0.970    0.13    0.17
+4Q4W1       305  XRAY        1.400    0.15    1.00
+4Q4W2       271  XRAY        1.400    0.15    1.00
+4Q4W3       240  XRAY        1.400    0.15    1.00
+4Q4W4        69  XRAY        1.400    0.15    1.00
+4Q53A       110  XRAY        1.270    0.15    0.18
+4Q68A       240  XRAY        1.070    0.11    0.14
+4Q6JB       252  XRAY        1.369    0.14    0.17
+4Q6TA       351  XRAY        1.400    0.14    0.17
+4Q7EA       129  XRAY        1.441    0.14    0.18
+4Q7OA       146  XRAY        1.450    0.15    0.19
+4Q7QA       266  XRAY        1.451    0.15    0.19
+4Q98A       369  XRAY        1.300    0.12    0.16
+4Q9BA       103  XRAY        1.500    0.18    0.22
+4QA8A       229  XRAY        1.100    0.17    0.19
+4QA9A       388  XRAY        1.560    0.12    0.15
+4QASB       201  XRAY        1.250    0.17    0.19
+4QB6A       164  XRAY        1.350    0.17    0.18
+4QBOA        92  XRAY        1.300    0.17    0.18
+4QC6A       179  XRAY        1.300    0.15    0.17
+4QDJA       238  XRAY        1.600    0.14    0.18
+4QEKA       301  XRAY        1.299    0.13    0.14
+4QF3B        58  XRAY        1.600    0.19    0.22
+4QGOA       225  XRAY        1.500    0.15    0.18
+4QHQA       241  XRAY        1.400    0.17    0.20
+4QHWA       401  XRAY        1.350    0.11    0.13
+4QI3B       208  XRAY        1.400    0.18    0.23
+4QI8A       214  XRAY        1.100    0.13    0.15
+4QITA       357  XRAY        1.400    0.18    0.20
+4QKDA       200  XRAY        1.350    0.15    0.16
+4QLPA       176  XRAY        1.100    0.13    0.14
+4QLPB       199  XRAY        1.100    0.13    0.14
+4QM6B       171  XRAY        1.500    0.15    0.17
+4QNSC       106  XRAY        1.497    0.16    0.19
+4QOSA       265  XRAY        1.420    0.17    0.19
+4QP5B       140  XRAY        1.260    0.13    0.17
+4QPNA       227  XRAY        1.250    0.12    0.17
+4QPTA       215  XRAY        1.351    0.17    0.20
+4QPWA       142  XRAY        1.140    0.16    0.18
+4QQHA       137  XRAY        1.200    0.15    0.17
+4QQSA       315  XRAY        1.100    0.12    0.14
+4QRNA       373  XRAY        1.070    0.14    0.15
+4QT3A       134  XRAY        1.400    0.15    0.19
+4QTCA       357  XRAY        1.400    0.15    0.16
+4QUCA        68  XRAY        1.502    0.21    0.25
+4QUSA       149  XRAY        1.280    0.11    0.14
+4QWOB       157  XRAY        1.520    0.14    0.17
+4QXBB        68  XRAY        1.600    0.17    0.21
+4QXBC       329  XRAY        1.600    0.17    0.21
+4QXLA       120  XRAY        1.512    0.20    0.23
+4QY7A        93  XRAY        1.550    0.19    0.22
+4QYTD       194  XRAY        1.050    0.11    0.13
+4R03A       109  XRAY        1.500    0.17    0.19
+4R16B       418  XRAY        1.550    0.22    0.25
+4R1JA       197  XRAY        1.400    0.18    0.20
+4R1SA       337  XRAY        1.600    0.17    0.19
+4R1VA       291  XRAY        1.200    0.15    0.18
+4R2XB       252  XRAY        0.930    0.15    0.16
+4R38C       140  XRAY        1.600    0.20    0.22
+4R3FA       204  XRAY        1.300    0.12    0.14
+4R3NB       366  XRAY        1.350    0.13    0.16
+4R52A       174  XRAY        1.530    0.20    0.21
+4R5RB        68  XRAY        0.960    0.15    0.17
+4R6HA       428  XRAY        1.500    0.17    0.20
+4R6RE       133  XRAY        1.380    0.18    0.21
+4R6YA       318  XRAY        1.220    0.12    0.15
+4R75A       321  XRAY        1.278    0.17    0.19
+4R78A       309  XRAY        1.450    0.19    0.21
+4R81A       206  XRAY        1.500    0.17    0.21
+4R8HA       222  XRAY        1.460    0.19    0.21
+4R8XB       322  XRAY        1.401    0.17    0.21
+4R9FA       447  XRAY        1.400    0.18    0.21
+4R9PA       242  XRAY        1.592    0.18    0.20
+4RAXA       252  XRAY        1.450    0.15    0.18
+4RAYA       145  XRAY        1.550    0.18    0.21
+4RBXA        32  XRAY        1.100    0.19    0.19
+4RCJA       191  XRAY        1.600    0.17    0.21
+4RD4A       415  XRAY        1.300    0.17    0.20
+4RD7A       127  XRAY        1.571    0.16    0.19
+4RDBA       305  XRAY        1.450    0.12    0.16
+4REIA       151  XRAY        1.490    0.20    0.22
+4REKA       499  XRAY        0.740    0.11    0.12
+4REOA       229  XRAY        1.350    0.17    0.21
+4REXA        49  XRAY        1.600    0.18    0.19
+4RFUC       125  XRAY        1.200    0.17    0.18
+4RGDA        70  XRAY        1.200    0.12    0.15
+4RGYA       271  XRAY        1.400    0.18    0.18
+4RI5A       306  XRAY        1.260    0.16    0.17
+4RJ2A       237  XRAY        0.990    0.18    0.19
+4RJWA       429  XRAY        1.520    0.15    0.17
+4RJZA       407  XRAY        1.170    0.13    0.17
+4RK4A       283  XRAY        1.320    0.13    0.15
+4RKFA       190  XRAY        1.500    0.16    0.19
+4RL3B       272  XRAY        1.570    0.15    0.17
+4RLCA       175  XRAY        1.600    0.19    0.23
+4RLEA       117  XRAY        1.300    0.13    0.15
+4RLZB       316  XRAY        1.190    0.14    0.16
+4RP3A        98  XRAY        1.360    0.15    0.21
+4RPMA       406  XRAY        1.400    0.19    0.20
+4RPTB       144  XRAY        1.350    0.19    0.21
+4RQAA       186  XRAY        1.480    0.15    0.19
+4RQRA       109  XRAY        1.080    0.17    0.20
+4RRIA       136  XRAY        1.500    0.20    0.26
+4RS2B       188  XRAY        1.550    0.17    0.20
+4RT5A       114  XRAY        1.500    0.15    0.18
+4RTHA       186  XRAY        1.600    0.17    0.19
+4RU1F       304  XRAY        1.500    0.19    0.23
+4RU3A       221  XRAY        1.172    0.14    0.15
+4RU5B       605  XRAY        1.520    0.08    0.12
+4RUQB       238  XRAY        1.350    0.17    0.18
+4RUWA       440  XRAY        1.281    0.14    0.15
+4RV5B       395  XRAY        1.040    0.11    0.13
+4RVQA       139  XRAY        1.135    0.12    0.15
+4RWCA        24  XRAY        1.050    0.14    0.16
+4RWUA        92  XRAY        1.250    0.12    0.15
+4RXTA       299  XRAY        1.350    0.16    0.20
+4RXUA       367  XRAY        1.400    0.13    0.18
+4RXVA       229  XRAY        1.099    0.12    0.14
+4RY1B       411  XRAY        1.400    0.14    0.18
+4RY9B       302  XRAY        1.400    0.12    0.15
+4RYAA       424  XRAY        1.500    0.13    0.17
+4RYOA       181  XRAY        1.600    0.19    0.22
+4RZ9A       179  XRAY        1.280    0.13    0.15
+4S12C       298  XRAY        1.550    0.14    0.17
+4S1HA       287  XRAY        1.600    0.19    0.22
+4S1PA       191  XRAY        1.450    0.12    0.16
+4S28A       576  XRAY        1.250    0.12    0.14
+4S2XA       161  XRAY        1.500    0.19    0.22
+4S36A        90  XRAY        1.460    0.15    0.19
+4S39A       406  XRAY        1.300    0.11    0.13
+4S3JA       433  XRAY        1.600    0.16    0.18
+4TKBA       133  XRAY        0.860    0.11    0.12
+4TKCA       120  XRAY        1.290    0.16    0.21
+4TKXL       452  XRAY        1.600    0.12    0.14
+4TM7A       256  XRAY        1.390    0.15    0.18
+4TMXA       345  XRAY        1.500    0.16    0.18
+4TPNA       406  XRAY        1.180    0.16    0.17
+4TPVA       182  XRAY        1.600    0.15    0.19
+4TQRA       342  XRAY        1.580    0.18    0.20
+4TQXA       206  XRAY        1.370    0.15    0.18
+4TR6B       380  XRAY        1.500    0.18    0.20
+4TROA       269  XRAY        1.400    0.12    0.15
+4TSDB       195  XRAY        1.530    0.16    0.18
+4TTNA        29  XRAY        1.251    0.21    0.23
+4TTWA       161  XRAY        1.200    0.16    0.19
+4TVSB       231  XRAY        1.600    0.18    0.23
+4TVVA       314  XRAY        1.400    0.14    0.17
+4TXRA       163  XRAY        1.000    0.16    0.18
+4TXRB        25  XRAY        1.000    0.16    0.18
+4TXRC        58  XRAY        1.000    0.16    0.18
+4TXWA       173  XRAY        1.400    0.15    0.17
+4TYZB       110  XRAY        1.600    0.16    0.19
+4TZ1A       549  XRAY        1.500    0.10    0.12
+4TZHB       190  XRAY        1.390    0.17    0.19
+4U0OB       296  XRAY        1.600    0.20    0.24
+4U3YB       332  XRAY        1.450    0.18    0.21
+4U5HE        90  XRAY        1.580    0.20    0.21
+4U5RA       152  XRAY        1.550    0.16    0.17
+4U7AA       826  XRAY        1.600    0.16    0.17
+4U89A       259  XRAY        1.400    0.14    0.17
+4U8FB       220  XRAY        1.550    0.20    0.21
+4U98A       454  XRAY        1.150    0.15    0.16
+4U9HL       533  XRAY        0.890    0.10    0.11
+4U9HS       265  XRAY        0.890    0.10    0.11
+4U9OA       360  XRAY        1.600    0.18    0.20
+4U9UA       281  XRAY        1.550    0.16    0.20
+4UA6A       263  XRAY        0.790    0.11    0.12
+4UA8A       400  XRAY        1.540    0.14    0.16
+4UABA       347  XRAY        1.400    0.18    0.21
+4UASA       230  XRAY        1.200    0.14    0.17
+4UAVA       246  XRAY        1.300    0.14    0.17
+4UDGD       347  XRAY        1.600    0.15    0.18
+4UDQB       531  XRAY        1.600    0.17    0.22
+4UDXX       636  XRAY        1.030    0.13    0.16
+4UE0B       122  XRAY        1.170    0.12    0.15
+4UE8A       184  XRAY        1.100    0.15    0.16
+4UE8B        38  XRAY        1.100    0.15    0.16
+4UFQB       217  XRAY        1.450    0.15    0.17
+4UG1B        76  XRAY        1.600    0.18    0.21
+4UHCA       282  XRAY        1.030    0.11    0.13
+4UHOA       468  XRAY        1.240    0.11    0.12
+4UHQA       136  XRAY        1.500    0.17    0.19
+4UHTB       102  XRAY        1.150    0.13    0.16
+4UIQA       177  XRAY        1.550    0.16    0.20
+4UJ7A       219  XRAY        1.540    0.19    0.22
+4ULVB       128  XRAY        1.290    0.15    0.19
+4UMIA       208  XRAY        1.330    0.12    0.14
+4UN2B        48  XRAY        1.510    0.16    0.20
+4UNUA       111  XRAY        0.950    0.11    0.13
+4UOBA       278  XRAY        1.310    0.14    0.16
+4UP0A        99  XRAY        1.280    0.14    0.17
+4UP3B       314  XRAY        1.440    0.13    0.18
+4UPIA       576  XRAY        1.250    0.14    0.16
+4UQWB       163  XRAY        1.500    0.16    0.18
+4UQXA       264  XRAY        1.200    0.15    0.16
+4UQZB       172  XRAY        1.599    0.19    0.22
+4URFA       248  XRAY        1.100    0.11    0.13
+4USAA       907  XRAY        1.130    0.10    0.12
+4UTUB       229  XRAY        1.450    0.14    0.17
+4UU3B       168  XRAY        1.150    0.12    0.13
+4UU5A        90  XRAY        1.230    0.17    0.18
+4UULB       341  XRAY        1.280    0.13    0.15
+4UWWA       132  XRAY        1.440    0.21    0.23
+4UYBA       401  XRAY        1.500    0.14    0.18
+4UYPC       151  XRAY        1.490    0.16    0.18
+4UYRA       211  XRAY        0.890    0.13    0.13
+4UZ1A       383  XRAY        1.400    0.14    0.18
+4UZGA       292  XRAY        1.060    0.13    0.14
+4V0KB       169  XRAY        1.438    0.16    0.18
+4V0WD        44  XRAY        1.550    0.17    0.20
+4V12A       343  XRAY        1.500    0.16    0.18
+4V15B       379  XRAY        1.500    0.15    0.18
+4V1GA        86  XRAY        1.550    0.16    0.18
+4V1JA       142  XRAY        1.430    0.14    0.18
+4V1KA       138  XRAY        1.600    0.12    0.15
+4V1SB       396  XRAY        1.500    0.15    0.18
+4V29A       177  XRAY        1.600    0.20    0.22
+4V33A       360  XRAY        1.480    0.16    0.17
+4V3IA       257  XRAY        1.499    0.18    0.19
+4V3LC        79  XRAY        1.530    0.18    0.19
+4V4MT       196  XRAY        1.450    0.18    0.21
+4W5ZA       345  XRAY        1.320    0.11    0.15
+4W64A       171  XRAY        1.550    0.17    0.20
+4W6YA       151  XRAY        1.570    0.20    0.23
+4W78C       178  XRAY        1.541    0.18    0.20
+4W78H       127  XRAY        1.541    0.18    0.20
+4W79A       202  XRAY        1.500    0.14    0.17
+4W7LB       449  XRAY        1.050    0.13    0.15
+4W7WA       332  XRAY        1.050    0.14    0.16
+4W88A       340  XRAY        1.580    0.13    0.16
+4W8BA       386  XRAY        1.150    0.10    0.12
+4W8HA       129  XRAY        1.140    0.14    0.17
+4W8PA       301  XRAY        1.500    0.22    0.24
+4W8PB        21  XRAY        1.500    0.22    0.24
+4W8QA       242  XRAY        1.428    0.14    0.16
+4W9ZA       139  XRAY        1.300    0.11    0.13
+4WBJB       164  XRAY        1.300    0.11    0.14
+4WBTC       376  XRAY        1.600    0.15    0.16
+4WBYA       410  XRAY        1.500    0.16    0.18
+4WCGB        98  XRAY        1.500    0.18    0.21
+4WCKA       439  XRAY        1.400    0.14    0.16
+4WCXA       480  XRAY        1.590    0.18    0.21
+4WDCA       179  XRAY        1.290    0.12    0.15
+4WE2A       277  XRAY        1.500    0.18    0.21
+4WECC       278  XRAY        1.550    0.17    0.20
+4WEEA       144  XRAY        0.891    0.15    0.16
+4WEPB       297  XRAY        1.500    0.17    0.19
+4WESB       458  XRAY        1.080    0.11    0.13
+4WF5B       189  XRAY        1.450    0.16    0.20
+4WFOA       858  XRAY        1.140    0.11    0.13
+4WFVA       156  XRAY        1.400    0.20    0.21
+4WH9A       183  XRAY        1.500    0.13    0.15
+4WHSC       200  XRAY        1.350    0.14    0.17
+4WHSD       238  XRAY        1.350    0.14    0.17
+4WILA       105  XRAY        1.360    0.16    0.17
+4WIQA       264  XRAY        1.590    0.15    0.16
+4WJIA       293  XRAY        1.400    0.12    0.16
+4WJOB        29  XRAY        1.460    0.16    0.18
+4WJTA       167  XRAY        1.210    0.11    0.14
+4WK7A       235  XRAY        1.240    0.20    0.21
+4WKAA       377  XRAY        0.950    0.11    0.12
+4WLHA       422  XRAY        1.280    0.17    0.19
+4WN5A       115  XRAY        1.150    0.12    0.14
+4WNDB        53  XRAY        1.500    0.16    0.18
+4WNOA       287  XRAY        1.560    0.18    0.21
+4WOHA       166  XRAY        1.340    0.14    0.17
+4WP9A       177  XRAY        1.382    0.23    0.26
+4WPGA       289  XRAY        1.100    0.13    0.15
+4WPKA       238  XRAY        0.980    0.14    0.15
+4WPYA        94  XRAY        1.500    0.23    0.25
+4WQDA       252  XRAY        1.220    0.15    0.18
+4WQKA       178  XRAY        1.482    0.16    0.20
+4WR4A       244  XRAY        1.600    0.19    0.22
+4WRIA       192  XRAY        1.400    0.17    0.20
+4WSFA       122  XRAY        1.501    0.14    0.18
+4WTPA       298  XRAY        1.300    0.18    0.19
+4WTXA        99  XRAY        1.500    0.20    0.22
+4WU0A       361  XRAY        1.600    0.14    0.16
+4WUIA       207  XRAY        1.090    0.13    0.14
+4WUTA       313  XRAY        1.500    0.18    0.21
+4WUVA       307  XRAY        1.551    0.14    0.17
+4WWFA       118  XRAY        1.100    0.12    0.14
+4WWHB       362  XRAY        1.200    0.14    0.15
+4WY4A        64  XRAY        1.400    0.14    0.18
+4WY4B        58  XRAY        1.400    0.14    0.18
+4WY4C        78  XRAY        1.400    0.14    0.18
+4WY4D        65  XRAY        1.400    0.14    0.18
+4WY9A       297  XRAY        1.400    0.12    0.15
+4WYDA       457  XRAY        1.350    0.13    0.16
+4WZXA        95  XRAY        1.386    0.15    0.18
+4WZXE        23  XRAY        1.386    0.15    0.18
+4X00B       283  XRAY        1.380    0.14    0.17
+4X1ZB       332  XRAY        1.360    0.11    0.13
+4X2RA       250  XRAY        1.050    0.12    0.14
+4X2UA       889  XRAY        1.500    0.16    0.19
+4X33A        63  XRAY        1.450    0.15    0.18
+4X33B       333  XRAY        1.450    0.15    0.18
+4X54A       276  XRAY        1.450    0.16    0.17
+4X5PA       160  XRAY        0.997    0.12    0.14
+4X7GA       251  XRAY        1.220    0.18    0.20
+4X84B       231  XRAY        1.250    0.14    0.16
+4X8EB       447  XRAY        1.600    0.14    0.16
+4X9CB        71  XRAY        1.400    0.17    0.19
+4X9JA        89  XRAY        1.412    0.17    0.20
+4X9RA       237  XRAY        1.398    0.15    0.18
+4X9TA       317  XRAY        1.240    0.17    0.19
+4X9XA       299  XRAY        1.199    0.12    0.14
+4X9ZA        50  XRAY        1.500    0.18    0.22
+4XA7A       255  XRAY        1.560    0.20    0.22
+4XBAB       200  XRAY        1.500    0.16    0.19
+4XCBC       261  XRAY        1.600    0.22    0.25
+4XCVA       320  XRAY        1.400    0.15    0.18
+4XDUA       340  XRAY        1.350    0.17    0.19
+4XDXA        70  XRAY        0.950    0.12    0.14
+4XEDA        99  XRAY        1.230    0.14    0.17
+4XEMA       475  XRAY        1.278    0.16    0.18
+4XEZA       200  XRAY        1.247    0.12    0.16
+4XFEA       341  XRAY        1.400    0.16    0.19
+4XFJA       408  XRAY        1.550    0.14    0.18
+4XFKA       399  XRAY        1.300    0.14    0.16
+4XFMA       464  XRAY        1.550    0.17    0.19
+4XFWB       226  XRAY        1.517    0.17    0.20
+4XHVA        94  XRAY        1.230    0.14    0.16
+4XHYA       188  XRAY        1.530    0.16    0.20
+4XIJA       275  XRAY        1.450    0.14    0.18
+4XINA       126  XRAY        1.500    0.16    0.20
+4XJ5A       389  XRAY        1.552    0.18    0.19
+4XJWA       658  XRAY        1.530    0.19    0.21
+4XLZB       267  XRAY        1.510    0.15    0.17
+4XMRB       254  XRAY        1.300    0.14    0.17
+4XOSB       152  XRAY        1.559    0.16    0.19
+4XOTA       597  XRAY        1.060    0.11    0.13
+4XPXA       130  XRAY        1.030    0.16    0.17
+4XPZA       372  XRAY        1.450    0.15    0.18
+4XQ7A       359  XRAY        1.600    0.17    0.19
+4XQAB       194  XRAY        1.407    0.14    0.17
+4XQCA       475  XRAY        1.270    0.15    0.18
+4XRMB        64  XRAY        1.600    0.18    0.21
+4XSLB       300  XRAY        1.600    0.18    0.20
+4XTBA       123  XRAY        1.500    0.14    0.18
+4XTLA       288  XRAY        1.450    0.19    0.22
+4XTVB       270  XRAY        1.450    0.19    0.21
+4XUWB        92  XRAY        1.100    0.14    0.18
+4XXFA       258  XRAY        1.340    0.17    0.19
+4XXLA       125  XRAY        1.470    0.19    0.23
+4XXUB       257  XRAY        1.430    0.16    0.18
+4XXXA       275  XRAY        1.500    0.20    0.22
+4XZFA       122  XRAY        1.380    0.17    0.21
+4Y1BA       425  XRAY        1.500    0.18    0.20
+4Y1WA       239  XRAY        1.400    0.16    0.18
+4Y2FA       149  XRAY        1.396    0.18    0.20
+4Y2MA        65  XRAY        1.400    0.18    0.20
+4Y6WA       229  XRAY        1.587    0.18    0.20
+4Y7LA       240  XRAY        1.510    0.19    0.20
+4Y88A       108  XRAY        1.450    0.15    0.18
+4Y9IA       114  XRAY        1.498    0.16    0.20
+4Y9MA       263  XRAY        1.600    0.18    0.23
+4Y9VA       625  XRAY        0.900    0.10    0.11
+4Y9WA       334  XRAY        0.830    0.12    0.12
+4YAAA       306  XRAY        1.050    0.13    0.14
+4YAGA       289  XRAY        1.500    0.13    0.15
+4YAPA       265  XRAY        1.111    0.17    0.18
+4YCBB       183  XRAY        1.350    0.14    0.15
+4YDRB       304  XRAY        1.600    0.20    0.23
+4YE7A       110  XRAY        1.400    0.18    0.21
+4YECA       126  XRAY        1.120    0.16    0.19
+4YECB       236  XRAY        1.120    0.16    0.19
+4YEPA       185  XRAY        1.190    0.13    0.16
+4YFUA       580  XRAY        1.500    0.20    0.23
+4YG0A       164  XRAY        1.285    0.17    0.20
+4YGBD       104  XRAY        1.600    0.18    0.20
+4YI8A       201  XRAY        1.200    0.12    0.14
+4YJRA       281  XRAY        1.320    0.16    0.18
+4YKIB       256  XRAY        1.210    0.14    0.16
+4YL4A       124  XRAY        1.100    0.15    0.19
+4YL8A       303  XRAY        1.500    0.16    0.19
+4YL8B        43  XRAY        1.500    0.16    0.19
+4YLAA       382  XRAY        1.400    0.18    0.20
+4YLLA       361  XRAY        1.400    0.15    0.17
+4YLQT       219  XRAY        1.400    0.14    0.17
+4YMEA       158  XRAY        1.400    0.18    0.20
+4YMYA       174  XRAY        1.000    0.12    0.14
+4YNHB        60  XRAY        1.000    0.13    0.15
+4YNUA       571  XRAY        1.570    0.14    0.16
+4YNXA        66  XRAY        1.500    0.17    0.25
+4YORA       229  XRAY        1.520    0.16    0.18
+4YPOB       333  XRAY        1.001    0.15    0.16
+4YQDA       266  XRAY        1.450    0.16    0.19
+4YQYB       270  XRAY        1.381    0.17    0.19
+4YSIA       143  XRAY        1.020    0.15    0.16
+4YSLA       294  XRAY        1.462    0.18    0.20
+4YTBA       432  XRAY        1.400    0.15    0.15
+4YTDA       101  XRAY        1.500    0.18    0.21
+4YTKA       130  XRAY        1.090    0.18    0.20
+4YTWC        81  XRAY        1.400    0.22    0.24
+4YTWD       184  XRAY        1.400    0.22    0.24
+4YUCA       335  XRAY        1.310    0.17    0.19
+4YUDA        92  XRAY        1.280    0.15    0.19
+4YVOA       165  XRAY        1.450    0.14    0.17
+4YWAD       121  XRAY        1.192    0.19    0.20
+4YWKA       206  XRAY        1.550    0.22    0.25
+4YX1A        70  XRAY        1.350    0.17    0.20
+4YYCA       525  XRAY        1.560    0.14    0.17
+4YZ0A       204  XRAY        1.150    0.12    0.15
+4YZGA       302  XRAY        1.600    0.18    0.20
+4YZNA       287  XRAY        1.550    0.19    0.22
+4YZRA       405  XRAY        1.350    0.18    0.21
+4YZZA       367  XRAY        1.300    0.14    0.16
+4Z04A       131  XRAY        1.450    0.14    0.16
+4Z0GA       413  XRAY        1.250    0.12    0.15
+4Z0TA       254  XRAY        1.500    0.15    0.18
+4Z0WB        23  XRAY        1.100    0.11    0.12
+4Z0YB       350  XRAY        1.600    0.16    0.19
+4Z2OA       134  XRAY        1.170    0.14    0.17
+4Z39B       121  XRAY        1.300    0.13    0.16
+4Z3GA       198  XRAY        1.450    0.17    0.19
+4Z47A       204  XRAY        1.450    0.14    0.20
+4Z4DA       859  XRAY        1.600    0.16    0.19
+4Z4JA       402  XRAY        1.542    0.16    0.19
+4Z67A       309  XRAY        1.500    0.14    0.17
+4Z6MB       365  XRAY        1.350    0.11    0.14
+4Z7EB       293  XRAY        1.500    0.15    0.20
+4Z7XA       238  XRAY        1.550    0.13    0.18
+4Z80B       508  XRAY        1.530    0.15    0.17
+4Z80C        37  XRAY        1.530    0.15    0.17
+4Z9HA       196  XRAY        1.452    0.17    0.20
+4ZA2D       253  XRAY        1.550    0.20    0.23
+4ZA9A       508  XRAY        1.010    0.13    0.14
+4ZAVA       209  XRAY        1.400    0.10    0.13
+4ZBDB       222  XRAY        1.120    0.12    0.14
+4ZBGA       172  XRAY        1.250    0.14    0.16
+4ZBHA       146  XRAY        1.500    0.16    0.20
+4ZBLA       240  XRAY        1.570    0.15    0.17
+4ZBOD       265  XRAY        1.400    0.15    0.17
+4ZC3A        68  XRAY        1.400    0.20    0.21
+4ZCEB        50  XRAY        1.550    0.17    0.19
+4ZCNA        87  XRAY        1.300    0.15    0.18
+4ZD6F       227  XRAY        1.600    0.18    0.21
+4ZEYA        84  XRAY        1.500    0.21    0.25
+4ZFVB       447  XRAY        1.500    0.16    0.17
+4ZGFA       141  XRAY        1.000    0.12    0.14
+4ZGWA       287  XRAY        1.470    0.17    0.19
+4ZH5B       426  XRAY        1.350    0.12    0.15
+4ZHBA       114  XRAY        1.300    0.13    0.16
+4ZHWA       168  XRAY        1.391    0.18    0.19
+4ZILB       220  XRAY        1.507    0.13    0.18
+4ZJHA       208  XRAY        1.600    0.18    0.22
+4ZJUA       275  XRAY        1.200    0.12    0.14
+4ZL8A       192  XRAY        1.395    0.15    0.16
+4ZLDA       155  XRAY        1.600    0.16    0.18
+4ZLFA       796  XRAY        1.600    0.16    0.18
+4ZMKA        71  XRAY        1.500    0.16    0.20
+4ZMYA       214  XRAY        1.500    0.14    0.19
+4ZO2B       294  XRAY        1.090    0.13    0.16
+4ZOTA       168  XRAY        1.400    0.12    0.17
+4ZOXA       381  XRAY        1.600    0.15    0.18
+4ZOXB        28  XRAY        1.600    0.15    0.18
+4ZOYA       491  XRAY        1.500    0.18    0.20
+4ZPCA       462  XRAY        1.590    0.21    0.23
+4ZQXA       237  XRAY        1.460    0.11    0.15
+4ZR8B       365  XRAY        1.500    0.13    0.16
+4ZRXA       586  XRAY        1.590    0.15    0.17
+4ZS9B       413  XRAY        1.370    0.13    0.17
+4ZURB       341  XRAY        1.130    0.12    0.14
+4ZV0A       163  XRAY        1.401    0.15    0.16
+4ZV0B        94  XRAY        1.401    0.15    0.16
+4ZV5B        91  XRAY        1.570    0.23    0.26
+4ZVCA       126  XRAY        1.500    0.15    0.19
+4ZVFA       172  XRAY        1.150    0.14    0.17
+4ZW9A       518  XRAY        1.502    0.18    0.20
+4ZWVA       372  XRAY        1.503    0.15    0.17
+4ZX2A       333  XRAY        1.230    0.16    0.17
+4ZY9B       137  XRAY        1.200    0.21    0.25
+4ZZ1A       210  XRAY        1.351    0.14    0.16
+4ZZNA       350  XRAY        1.330    0.17    0.20
+5A0DD       186  XRAY        1.600    0.18    0.21
+5A0LB       210  XRAY        1.350    0.13    0.15
+5A0NA       220  XRAY        1.300    0.12    0.15
+5A0RA       198  XRAY        1.251    0.14    0.16
+5A0YA       550  XRAY        1.100    0.11    0.13
+5A0YE       443  XRAY        1.100    0.11    0.13
+5A0YF       249  XRAY        1.100    0.11    0.13
+5A10A       356  XRAY        1.423    0.16    0.18
+5A12D       242  XRAY        1.400    0.12    0.15
+5A1IA       395  XRAY        1.090    0.10    0.12
+5A1QB        71  XRAY        1.600    0.18    0.22
+5A35A       120  XRAY        1.500    0.15    0.17
+5A3AA       303  XRAY        1.540    0.15    0.20
+5A57A      1117  XRAY        1.460    0.14    0.16
+5A61A       435  XRAY        1.500    0.15    0.17
+5A62A       277  XRAY        1.500    0.14    0.16
+5A67A       212  XRAY        1.300    0.14    0.17
+5A6MA       409  XRAY        1.170    0.12    0.14
+5A71A       317  XRAY        0.910    0.11    0.13
+5A7GA       532  XRAY        1.480    0.13    0.17
+5A7VA       388  XRAY        1.350    0.13    0.15
+5A8CA       326  XRAY        0.970    0.10    0.12
+5A8JA       373  XRAY        1.460    0.17    0.20
+5A95B       365  XRAY        1.350    0.13    0.16
+5A99A       248  XRAY        1.511    0.17    0.23
+5A9TA       290  XRAY        1.500    0.18    0.21
+5AB8A       125  XRAY        1.530    0.14    0.21
+5ACHA       235  XRAY        1.280    0.12    0.15
+5ACSB       250  XRAY        1.459    0.13    0.17
+5AD1A       290  XRAY        1.320    0.14    0.18
+5AE0A       221  XRAY        1.040    0.13    0.16
+5AEZA       486  XRAY        1.470    0.14    0.15
+5AFWA       174  XRAY        1.600    0.21    0.23
+5AFYH       258  XRAY        1.120    0.12    0.14
+5AFYL        29  XRAY        1.120    0.12    0.14
+5AGDB       362  XRAY        1.200    0.12    0.14
+5AGIA       261  XRAY        1.470    0.20    0.22
+5AGRA       232  XRAY        1.300    0.17    0.20
+5AH1A       461  XRAY        1.200    0.13    0.15
+5AHKA       588  XRAY        1.550    0.15    0.17
+5AIGB       125  XRAY        1.160    0.11    0.13
+5AILB       186  XRAY        1.550    0.17    0.21
+5AIMA       100  XRAY        1.401    0.18    0.20
+5AJGA       329  XRAY        1.110    0.15    0.17
+5AJOA       571  XRAY        1.480    0.16    0.18
+5AKRA       378  XRAY        0.870    0.11    0.13
+5AL6A        49  XRAY        0.800    0.11    0.12
+5AMBA       629  XRAY        1.550    0.16    0.18
+5AMHA       125  XRAY        1.200    0.13    0.16
+5AN5J        27  XRAY        1.200    0.15    0.16
+5ANPB       277  XRAY        1.400    0.18    0.19
+5AO9A       286  XRAY        1.580    0.15    0.17
+5AOGA       307  XRAY        1.270    0.14    0.16
+5AOTA       106  XRAY        1.020    0.17    0.17
+5AOVA       336  XRAY        1.400    0.13    0.14
+5AOZA       169  XRAY        1.140    0.12    0.14
+5APGB       185  XRAY        1.600    0.19    0.20
+5AQ0A        82  XRAY        0.950    0.15    0.17
+5AULA       109  XRAY        1.100    0.14    0.16
+5AVDA       240  XRAY        0.860    0.13    0.14
+5AWOA       610  XRAY        1.440    0.16    0.19
+5AX0A       244  XRAY        1.521    0.18    0.20
+5AXOA       262  XRAY        1.390    0.14    0.16
+5AZBA       300  XRAY        1.600    0.18    0.22
+5AZWA        96  XRAY        1.500    0.22    0.23
+5AZXB       103  XRAY        1.580    0.23    0.25
+5B08A       104  XRAY        1.325    0.20    0.21
+5B1AD       147  XRAY        1.500    0.15    0.17
+5B1AE       109  XRAY        1.500    0.15    0.17
+5B1AG        85  XRAY        1.500    0.15    0.17
+5B1AI        73  XRAY        1.500    0.15    0.17
+5B1AJ        59  XRAY        1.500    0.15    0.17
+5B1AK        56  XRAY        1.500    0.15    0.17
+5B1AM        46  XRAY        1.500    0.15    0.17
+5B1AN       514  XRAY        1.500    0.15    0.17
+5B1AP       261  XRAY        1.500    0.15    0.17
+5B1AS        98  XRAY        1.500    0.15    0.17
+5B1AU        85  XRAY        1.500    0.15    0.17
+5B1AY        47  XRAY        1.500    0.15    0.17
+5B1RA       127  XRAY        1.200    0.13    0.15
+5B1SA       304  XRAY        1.580    0.19    0.23
+5B2NA       279  XRAY        1.581    0.18    0.20
+5B4BB       248  XRAY        1.600    0.16    0.19
+5B4TA       260  XRAY        1.190    0.16    0.17
+5B4ZA       345  XRAY        1.300    0.15    0.17
+5B5IA        74  XRAY        1.599    0.19    0.21
+5B5LA       207  XRAY        1.400    0.12    0.17
+5B5ZA       282  XRAY        1.600    0.18    0.21
+5B6CA       174  XRAY        1.550    0.16    0.20
+5B78B        25  XRAY        1.400    0.17    0.19
+5B7EA       526  XRAY        1.420    0.16    0.18
+5B7FA       492  XRAY        1.450    0.15    0.18
+5B7GA       249  XRAY        1.399    0.15    0.16
+5B7HA       219  XRAY        1.492    0.16    0.19
+5B7YB       290  XRAY        1.320    0.17    0.19
+5B89B       419  XRAY        1.500    0.17    0.19
+5B8DA       107  XRAY        1.050    0.13    0.15
+5BJXA       366  XRAY        1.600    0.16    0.18
+5BK6B       262  XRAY        1.590    0.15    0.17
+5BMNA       468  XRAY        1.270    0.17    0.19
+5BMTA       239  XRAY        1.500    0.17    0.19
+5BOBC       226  XRAY        1.500    0.16    0.19
+5BOVC       304  XRAY        1.600    0.15    0.17
+5BOWA       151  XRAY        1.310    0.14    0.16
+5BP3A       305  XRAY        1.450    0.15    0.18
+5BP9A       281  XRAY        1.500    0.13    0.18
+5BPKA       379  XRAY        1.490    0.14    0.18
+5BR4B       391  XRAY        0.910    0.13    0.15
+5BS1A       123  XRAY        1.600    0.18    0.21
+5BSRA       542  XRAY        1.500    0.19    0.21
+5BT9C       269  XRAY        1.500    0.17    0.19
+5BTWB       146  XRAY        1.200    0.16    0.18
+5BTYA       138  XRAY        1.150    0.17    0.19
+5BV8A       249  XRAY        1.590    0.16    0.18
+5BWIA       446  XRAY        1.600    0.17    0.19
+5BXRB       644  XRAY        1.600    0.18    0.21
+5BY5A       146  XRAY        1.200    0.12    0.15
+5BY8A       231  XRAY        1.515    0.15    0.19
+5BY8B        85  XRAY        1.515    0.15    0.19
+5BYKA       259  XRAY        1.280    0.15    0.17
+5C04B       153  XRAY        1.450    0.17    0.20
+5C0PA       298  XRAY        1.532    0.15    0.16
+5C12A       278  XRAY        1.517    0.16    0.18
+5C17A       209  XRAY        1.240    0.14    0.16
+5C2UA       143  XRAY        1.550    0.18    0.20
+5C30A       201  XRAY        1.550    0.15    0.17
+5C33B       198  XRAY        1.210    0.14    0.17
+5C3FB        24  XRAY        1.430    0.16    0.18
+5C40B       330  XRAY        1.500    0.13    0.18
+5C4MA       193  XRAY        1.300    0.17    0.20
+5C5GA       254  XRAY        1.248    0.15    0.17
+5C5TB       228  XRAY        1.598    0.18    0.21
+5C5ZB       137  XRAY        1.450    0.19    0.20
+5C68A       126  XRAY        1.462    0.19    0.21
+5C6SA       130  XRAY        1.300    0.19    0.22
+5C79B       150  XRAY        1.600    0.20    0.23
+5C7HA       281  XRAY        1.300    0.12    0.14
+5C7QB       182  XRAY        1.520    0.19    0.21
+5C8ZB       284  XRAY        1.600    0.15    0.17
+5C98A       382  XRAY        1.450    0.17    0.18
+5C9OA       381  XRAY        1.500    0.13    0.15
+5CD2A       372  XRAY        1.550    0.14    0.18
+5CDKA       183  XRAY        1.500    0.14    0.17
+5CDVA       349  XRAY        1.450    0.18    0.20
+5CECA       446  XRAY        1.360    0.14    0.17
+5CECB       230  XRAY        1.360    0.14    0.17
+5CEGB       117  XRAY        1.590    0.17    0.20
+5CEGC        93  XRAY        1.590    0.17    0.20
+5CFJA       152  XRAY        1.250    0.17    0.19
+5CG5A       355  XRAY        1.402    0.20    0.22
+5CGOA        23  XRAY        1.500    0.17    0.24
+5CGQA       268  XRAY        1.180    0.14    0.16
+5CGQB       397  XRAY        1.180    0.14    0.16
+5CIVA       184  XRAY        1.384    0.18    0.20
+5CIYA       327  XRAY        1.594    0.17    0.19
+5CKLA       188  XRAY        0.990    0.11    0.12
+5CL8A       241  XRAY        1.380    0.13    0.16
+5CM7A       313  XRAY        1.550    0.14    0.17
+5CMLB       263  XRAY        1.560    0.15    0.18
+5COFA       173  XRAY        1.350    0.12    0.14
+5COWA       247  XRAY        1.600    0.17    0.19
+5COYA        65  XRAY        1.443    0.16    0.19
+5COZA       358  XRAY        1.450    0.16    0.18
+5CPHB       212  XRAY        1.200    0.17    0.19
+5CR4B       230  XRAY        1.400    0.17    0.20
+5CRWA       247  XRAY        1.600    0.18    0.22
+5CTAA       180  XRAY        1.240    0.11    0.14
+5CTMA       233  XRAY        1.000    0.13    0.14
+5CTVA       188  XRAY        1.050    0.14    0.15
+5CUOB       202  XRAY        1.544    0.19    0.22
+5CVWA       153  XRAY        1.250    0.14    0.17
+5CWBA       211  XRAY        1.550    0.19    0.22
+5CWGA       210  XRAY        1.200    0.14    0.17
+5CWHA       172  XRAY        1.300    0.16    0.18
+5CWLA       183  XRAY        1.500    0.18    0.21
+5CXXB       275  XRAY        1.550    0.14    0.16
+5CYVA       146  XRAY        1.520    0.16    0.20
+5CZWA       238  XRAY        1.600    0.20    0.25
+5D1MB       133  XRAY        1.581    0.19    0.22
+5D2KA       269  XRAY        1.571    0.15    0.17
+5D4NC       108  XRAY        1.600    0.21    0.23
+5D4VB       268  XRAY        1.600    0.17    0.21
+5D5YB        50  XRAY        1.030    0.17    0.20
+5D66A       198  XRAY        1.000    0.14    0.17
+5D6EA       371  XRAY        1.490    0.11    0.16
+5D78A        81  XRAY        1.251    0.14    0.18
+5D7UB        58  XRAY        1.500    0.16    0.21
+5D7WA       469  XRAY        1.100    0.18    0.19
+5D84A       326  XRAY        1.450    0.13    0.17
+5D8VA        83  XRAY        0.480    0.07    0.08
+5D94A       130  XRAY        1.530    0.18    0.21
+5D9OB       353  XRAY        1.550    0.15    0.18
+5DAEA        65  XRAY        1.400    0.18    0.23
+5DAGA       208  XRAY        1.600    0.19    0.21
+5DBLA       132  XRAY        1.600    0.18    0.21
+5DCLB       243  XRAY        1.410    0.20    0.22
+5DCUB       371  XRAY        1.400    0.16    0.18
+5DE3A       169  XRAY        1.417    0.21    0.23
+5DFYA       215  XRAY        1.600    0.16    0.18
+5DGJA       188  XRAY        1.000    0.14    0.15
+5DHDA       100  XRAY        1.270    0.20    0.20
+5DICA       117  XRAY        1.185    0.13    0.17
+5DJHA       288  XRAY        1.451    0.15    0.17
+5DKAB       232  XRAY        1.550    0.21    0.24
+5DKXA       951  XRAY        1.400    0.15    0.17
+5DLDA       413  XRAY        1.450    0.14    0.16
+5DLED       113  XRAY        1.550    0.16    0.19
+5DLOA       133  XRAY        1.401    0.13    0.16
+5DLTA       827  XRAY        1.600    0.17    0.20
+5DM2A       265  XRAY        1.500    0.21    0.24
+5DMAA        56  XRAY        1.530    0.20    0.22
+5DMDB       151  XRAY        1.450    0.21    0.24
+5DNLC       176  XRAY        1.530    0.14    0.15
+5DP2A       342  XRAY        0.960    0.12    0.13
+5DU9A       450  XRAY        1.600    0.17    0.19
+5DUFA       263  XRAY        1.500    0.17    0.18
+5DUTA       233  XRAY        1.500    0.17    0.19
+5DVIA       419  XRAY        1.250    0.12    0.15
+5DVXB       260  XRAY        1.598    0.17    0.19
+5DWAB       278  XRAY        1.500    0.15    0.18
+5DXLA       286  XRAY        1.573    0.20    0.23
+5DZEA       207  XRAY        0.970    0.12    0.14
+5DZOA       107  XRAY        1.301    0.16    0.18
+5DZSB       276  XRAY        1.500    0.17    0.18
+5E1NA       148  XRAY        1.000    0.14    0.15
+5E1WA       180  XRAY        1.392    0.14    0.17
+5E1YA        95  XRAY        1.011    0.12    0.13
+5E37A       356  XRAY        1.600    0.20    0.23
+5E4BB       209  XRAY        1.500    0.16    0.18
+5E4GA       109  XRAY        1.500    0.19    0.21
+5E56A       117  XRAY        1.504    0.18    0.20
+5E5YC        63  XRAY        1.506    0.18    0.23
+5E68B       179  XRAY        1.580    0.16    0.20
+5E75A       519  XRAY        1.360    0.15    0.17
+5E7HA       260  XRAY        1.570    0.16    0.17
+5E8SA       306  XRAY        1.450    0.17    0.19
+5E95B        97  XRAY        1.402    0.16    0.19
+5E9NA       527  XRAY        0.950    0.12    0.14
+5E9PA        86  XRAY        1.200    0.11    0.12
+5EC6A       323  XRAY        1.600    0.17    0.20
+5ECKD       575  XRAY        1.540    0.16    0.17
+5EDFA       244  XRAY        1.400    0.17    0.19
+5EEQA       120  XRAY        1.600    0.17    0.20
+5EHAA       153  XRAY        1.350    0.16    0.18
+5EHIC       276  XRAY        1.303    0.19    0.21
+5EJ8H       556  XRAY        1.340    0.13    0.16
+5EL3A       113  XRAY        1.590    0.18    0.20
+5EL9A       205  XRAY        1.100    0.12    0.13
+5ELBC       103  XRAY        1.080    0.12    0.15
+5EM0A       135  XRAY        1.100    0.17    0.19
+5EMBA       101  XRAY        0.850    0.12    0.14
+5EMIA       180  XRAY        1.120    0.14    0.15
+5EMXB        72  XRAY        1.399    0.14    0.18
+5ENFA       131  XRAY        1.370    0.18    0.22
+5EP2A       256  XRAY        1.421    0.16    0.18
+5EP6A        47  XRAY        1.451    0.19    0.22
+5EP6B        58  XRAY        1.451    0.19    0.22
+5EPBA       130  XRAY        1.500    0.17    0.19
+5EPFA       162  XRAY        1.350    0.14    0.17
+5EPWA       130  XRAY        1.500    0.17    0.20
+5EQ0A        55  XRAY        1.180    0.16    0.19
+5EQ7A       277  XRAY        1.190    0.11    0.14
+5ER6A       251  XRAY        1.550    0.15    0.17
+5ERQA       419  XRAY        1.550    0.16    0.19
+5ESRA       308  XRAY        1.476    0.13    0.15
+5ETRA       161  XRAY        1.320    0.12    0.15
+5EU0B        67  XRAY        1.600    0.19    0.21
+5EW0A       234  XRAY        1.300    0.16    0.19
+5EWOA       228  XRAY        0.950    0.13    0.14
+5EWUA       388  XRAY        1.250    0.17    0.18
+5EWYA       200  XRAY        1.400    0.15    0.17
+5EX2A       271  XRAY        1.294    0.17    0.20
+5EXHC        47  XRAY        1.300    0.17    0.19
+5EY0B       274  XRAY        1.600    0.18    0.21
+5EYFB       245  XRAY        1.520    0.15    0.18
+5EYNA       323  XRAY        1.289    0.14    0.17
+5EZUB        89  XRAY        1.550    0.20    0.24
+5F07A       213  XRAY        1.500    0.17    0.19
+5F2KA       368  XRAY        1.600    0.20    0.22
+5F3MA       123  XRAY        1.498    0.14    0.16
+5F47A       157  XRAY        1.497    0.16    0.18
+5F4CB        93  XRAY        1.400    0.14    0.18
+5F5NA       289  XRAY        1.304    0.14    0.17
+5F68A       103  XRAY        1.230    0.18    0.20
+5F6EA       157  XRAY        1.120    0.15    0.17
+5F6RB       175  XRAY        1.179    0.15    0.17
+5F7VA       400  XRAY        1.400    0.15    0.18
+5F82A       287  XRAY        0.960    0.12    0.13
+5FA8A       161  XRAY        1.300    0.18    0.21
+5FAAA       283  XRAY        1.600    0.13    0.16
+5FAFA       119  XRAY        1.050    0.13    0.17
+5FAGD       410  XRAY        1.510    0.20    0.23
+5FAVB       815  XRAY        1.600    0.15    0.18
+5FBFA       267  XRAY        1.040    0.11    0.14
+5FC1A       433  XRAY        1.389    0.13    0.16
+5FC9B        95  XRAY        1.600    0.17    0.20
+5FD9A       139  XRAY        1.600    0.21    0.23
+5FEBA       125  XRAY        1.350    0.17    0.21
+5FEWA       358  XRAY        1.170    0.11    0.13
+5FFDA       172  XRAY        1.451    0.16    0.19
+5FFFA       257  XRAY        1.501    0.15    0.17
+5FFXC       161  XRAY        1.470    0.15    0.19
+5FH7A       124  XRAY        1.470    0.19    0.21
+5FI3A       357  XRAY        1.050    0.12    0.14
+5FISA       243  XRAY        1.600    0.16    0.18
+5FJDC       122  XRAY        1.500    0.12    0.18
+5FKTA       733  XRAY        1.520    0.17    0.19
+5FLWA       304  XRAY        1.401    0.16    0.18
+5FLYB       282  XRAY        1.598    0.19    0.22
+5FMUC       137  XRAY        1.593    0.18    0.21
+5FOCA       374  XRAY        1.500    0.18    0.23
+5FOHA       223  XRAY        1.600    0.15    0.18
+5FOTA       231  XRAY        1.189    0.13    0.16
+5FPZA       110  XRAY        1.500    0.17    0.20
+5FQAA       227  XRAY        1.100    0.12    0.14
+5FQEB       610  XRAY        1.530    0.16    0.18
+5FRDB       260  XRAY        1.400    0.16    0.17
+5FS8A       515  XRAY        1.400    0.17    0.19
+5FSVA       266  XRAY        1.200    0.14    0.16
+5FTBA       433  XRAY        1.380    0.17    0.18
+5FU5A       123  XRAY        1.500    0.19    0.22
+5FUIA       132  XRAY        1.400    0.13    0.13
+5FUKA       234  XRAY        1.550    0.16    0.18
+5FV5A       183  XRAY        1.400    0.14    0.18
+5FVND       342  XRAY        1.450    0.16    0.18
+5FYDB       263  XRAY        1.600    0.18    0.21
+5FYPB       298  XRAY        1.170    0.13    0.15
+5G1AB       371  XRAY        1.420    0.14    0.17
+5G28A       275  XRAY        1.570    0.16    0.19
+5G2UA       489  XRAY        1.430    0.13    0.16
+5G2VA       534  XRAY        1.390    0.11    0.13
+5G38A       172  XRAY        1.150    0.16    0.18
+5G3YA       226  XRAY        1.180    0.13    0.15
+5G4IA       446  XRAY        1.500    0.15    0.17
+5G51A       157  XRAY        1.450    0.19    0.21
+5G5CA       275  XRAY        1.180    0.18    0.19
+5GGBA       342  XRAY        1.100    0.16    0.18
+5GGNA       164  XRAY        1.211    0.14    0.17
+5GI7A       215  XRAY        1.201    0.15    0.17
+5GIKA       154  XRAY        1.490    0.19    0.21
+5GIZA       271  XRAY        1.500    0.18    0.21
+5GJHA       100  XRAY        1.200    0.15    0.17
+5GJIA       108  XRAY        0.900    0.13    0.14
+5GKMB       160  XRAY        1.600    0.20    0.21
+5GM9A       213  XRAY        1.360    0.14    0.16
+5GMDA       325  XRAY        1.500    0.17    0.19
+5GNFB       140  XRAY        1.500    0.17    0.19
+5GNGB       223  XRAY        1.260    0.15    0.18
+5GP7A       169  XRAY        1.502    0.17    0.21
+5GQIA       247  XRAY        1.300    0.14    0.17
+5GRQA        90  XRAY        1.584    0.16    0.18
+5GRQC        30  XRAY        1.584    0.16    0.18
+5GS7A       323  XRAY        1.500    0.21    0.24
+5GSMB       786  XRAY        1.270    0.13    0.17
+5GT5A       446  XRAY        1.449    0.15    0.17
+5GTQA       311  XRAY        1.130    0.12    0.14
+5GTUA       186  XRAY        1.500    0.14    0.19
+5GTUB        27  XRAY        1.500    0.14    0.19
+5GV0A       168  XRAY        1.500    0.18    0.20
+5GV8A       272  XRAY        0.780    0.12    0.14
+5GVRA       234  XRAY        1.500    0.18    0.21
+5GWNA       439  XRAY        1.309    0.17    0.19
+5GY7A       344  XRAY        1.430    0.14    0.16
+5GYCA       281  XRAY        1.400    0.17    0.20
+5GZ3B       326  XRAY        1.590    0.19    0.23
+5H0MA       130  XRAY        1.520    0.14    0.17
+5H0QA       202  XRAY        1.501    0.18    0.22
+5H1NB        74  XRAY        1.470    0.21    0.22
+5H28A       263  XRAY        1.500    0.18    0.21
+5H2DA       435  XRAY        1.600    0.18    0.21
+5H3JA       211  XRAY        1.330    0.14    0.16
+5H3JB        28  XRAY        1.330    0.14    0.16
+5H3VA       103  XRAY        1.400    0.20    0.25
+5H6TA       481  XRAY        1.600    0.17    0.18
+5H6XB       100  XRAY        1.600    0.17    0.19
+5H7EA       182  XRAY        1.600    0.18    0.20
+5H7KA       397  XRAY        1.599    0.17    0.20
+5H9IA       240  XRAY        1.501    0.17    0.20
+5H9NA       156  XRAY        1.280    0.16    0.19
+5HB6A       144  XRAY        1.300    0.15    0.17
+5HB7A       125  XRAY        0.819    0.12    0.13
+5HBPA       127  XRAY        1.500    0.17    0.18
+5HBSA       140  XRAY        0.890    0.12    0.13
+5HC0A       365  XRAY        1.400    0.13    0.16
+5HDIB       404  XRAY        1.540    0.14    0.19
+5HDKD       112  XRAY        1.320    0.15    0.17
+5HDMB       434  XRAY        1.250    0.13    0.15
+5HEEA       262  XRAY        1.410    0.16    0.19
+5HGJB       195  XRAY        1.399    0.18    0.20
+5HGWB       185  XRAY        1.600    0.15    0.18
+5HGZA       243  XRAY        1.383    0.18    0.19
+5HHAA       286  XRAY        1.240    0.15    0.17
+5HHED        93  XRAY        1.460    0.17    0.21
+5HHJA       305  XRAY        1.200    0.12    0.15
+5HIFA       299  XRAY        1.600    0.18    0.21
+5HJ1A       103  XRAY        1.500    0.19    0.22
+5HJ9A       330  XRAY        1.280    0.15    0.16
+5HJFB       185  XRAY        1.590    0.13    0.15
+5HK3B       114  XRAY        1.560    0.19    0.21
+5HKOA       348  XRAY        1.200    0.16    0.18
+5HL3A       361  XRAY        1.400    0.16    0.18
+5HMLA       272  XRAY        1.482    0.14    0.20
+5HNVA       302  XRAY        1.410    0.18    0.21
+5HOED       230  XRAY        1.450    0.17    0.22
+5HPJA       217  XRAY        1.500    0.14    0.17
+5HQHA       109  XRAY        1.320    0.16    0.19
+5HQJA       311  XRAY        1.550    0.21    0.25
+5HRAB       235  XRAY        1.597    0.23    0.25
+5HSFA       132  XRAY        1.520    0.16    0.19
+5HSGA       310  XRAY        1.300    0.15    0.17
+5HT2A       256  XRAY        1.430    0.12    0.15
+5HTLA       145  XRAY        1.371    0.20    0.22
+5HTXA       439  XRAY        1.492    0.14    0.17
+5HUBA        90  XRAY        1.060    0.17    0.22
+5HW3A       269  XRAY        1.450    0.13    0.16
+5HWAA       259  XRAY        1.350    0.14    0.17
+5HWKA       240  XRAY        1.344    0.16    0.19
+5HWNB       311  XRAY        1.499    0.15    0.17
+5HWOA       420  XRAY        1.480    0.13    0.16
+5HZDA       512  XRAY        1.600    0.17    0.20
+5I0YA       160  XRAY        1.400    0.19    0.21
+5I1UB       335  XRAY        1.500    0.16    0.20
+5I29A       144  XRAY        1.210    0.20    0.22
+5I2HB       364  XRAY        1.551    0.16    0.20
+5I32A       275  XRAY        1.180    0.10    0.12
+5I34B       441  XRAY        1.530    0.14    0.19
+5I39A       408  XRAY        1.200    0.14    0.16
+5I40A       102  XRAY        1.040    0.13    0.16
+5I45A       218  XRAY        1.350    0.16    0.20
+5I4FA       251  XRAY        1.549    0.17    0.19
+5I55A        22  XRAY        1.450    0.15    0.18
+5I5BA        35  XRAY        0.900    0.11    0.13
+5I5MB       638  XRAY        1.370    0.16    0.18
+5I5NB       154  XRAY        1.418    0.18    0.19
+5I7IA       341  XRAY        1.300    0.15    0.17
+5I86A       118  XRAY        1.050    0.14    0.16
+5I8FA       165  XRAY        1.300    0.13    0.15
+5I90A       427  XRAY        1.219    0.14    0.16
+5I95A       424  XRAY        1.540    0.14    0.17
+5IAIA       422  XRAY        1.600    0.17    0.19
+5IB9A       421  XRAY        1.400    0.18    0.22
+5IBQA       310  XRAY        1.200    0.15    0.16
+5ICUA       102  XRAY        1.460    0.17    0.19
+5IDBA       142  XRAY        1.000    0.12    0.14
+5IDHA       352  XRAY        1.550    0.18    0.22
+5IDQB       233  XRAY        1.550    0.17    0.21
+5IDVA       279  XRAY        1.450    0.15    0.18
+5IFZB       172  XRAY        1.600    0.18    0.21
+5IG6A       115  XRAY        0.910    0.13    0.14
+5IGIA       301  XRAY        1.200    0.16    0.16
+5IHFB       116  XRAY        1.576    0.20    0.21
+5IHWA       314  XRAY        1.250    0.14    0.18
+5II6A       112  XRAY        0.950    0.13    0.14
+5II8A       138  XRAY        0.990    0.17    0.19
+5IK4A       393  XRAY        1.270    0.16    0.18
+5IMAA       160  XRAY        1.040    0.12    0.14
+5IN1A        72  XRAY        1.400    0.18    0.20
+5INBA       305  XRAY        1.300    0.13    0.15
+5INBB        46  XRAY        1.300    0.13    0.15
+5IO9B       106  XRAY        1.300    0.19    0.21
+5IPYB       453  XRAY        1.500    0.15    0.17
+5IQNG       132  XRAY        1.000    0.12    0.15
+5IR4A       688  XRAY        1.480    0.14    0.15
+5ISVA       165  XRAY        1.350    0.16    0.21
+5IT3B        85  XRAY        1.400    0.16    0.19
+5IT6A       134  XRAY        1.547    0.17    0.19
+5ITMD        48  XRAY        1.400    0.17    0.20
+5ITQA       290  XRAY        1.480    0.16    0.20
+5ITWD       255  XRAY        1.190    0.14    0.16
+5IUCB       127  XRAY        1.253    0.16    0.18
+5IVKA       577  XRAY        1.530    0.18    0.22
+5IVNA       131  XRAY        1.000    0.13    0.15
+5IWHA       117  XRAY        1.101    0.14    0.17
+5IWUA       302  XRAY        1.300    0.16    0.17
+5IX8A       321  XRAY        1.600    0.14    0.18
+5IXBA       108  XRAY        1.390    0.13    0.16
+5IXGB       169  XRAY        1.600    0.16    0.19
+5IXHB       161  XRAY        1.400    0.16    0.18
+5IY2A       241  XRAY        1.150    0.14    0.16
+5IZ3A       316  XRAY        1.300    0.16    0.19
+5IZAA       354  XRAY        1.500    0.12    0.16
+5J0KB        80  XRAY        1.540    0.20    0.22
+5J1JA       285  XRAY        1.550    0.17    0.19
+5J1NA       175  XRAY        1.090    0.16    0.18
+5J1SA       284  XRAY        1.399    0.14    0.19
+5J1SB       239  XRAY        1.399    0.14    0.19
+5J3TA       130  XRAY        1.600    0.19    0.22
+5J3TB       242  XRAY        1.600    0.19    0.22
+5J3TC        26  XRAY        1.600    0.19    0.22
+5J41B       209  XRAY        1.190    0.16    0.19
+5J4FA       119  XRAY        1.400    0.18    0.21
+5J4LA       231  XRAY        1.130    0.12    0.14
+5J4OA       231  XRAY        1.540    0.21    0.23
+5J4UA       231  XRAY        1.249    0.17    0.18
+5J6YA       188  XRAY        1.034    0.16    0.16
+5J80A       225  XRAY        1.170    0.18    0.19
+5J90A       508  XRAY        1.393    0.15    0.17
+5JAJA       681  XRAY        1.500    0.14    0.17
+5JAWH       550  XRAY        1.600    0.20    0.21
+5JAZB       422  XRAY        1.400    0.19    0.21
+5JBNB       170  XRAY        1.450    0.15    0.18
+5JBXA       261  XRAY        1.100    0.13    0.14
+5JC8D       276  XRAY        1.450    0.14    0.16
+5JCAL       474  XRAY        1.500    0.14    0.15
+5JCAS       284  XRAY        1.500    0.14    0.15
+5JDAA       359  XRAY        1.401    0.17    0.18
+5JDDA       265  XRAY        1.530    0.16    0.20
+5JDKA       137  XRAY        0.998    0.17    0.18
+5JE2B       247  XRAY        1.519    0.13    0.15
+5JEDA       231  XRAY        1.332    0.14    0.17
+5JEEA       231  XRAY        1.490    0.20    0.22
+5JELA       242  XRAY        1.600    0.17    0.19
+5JELB        21  XRAY        1.600    0.17    0.19
+5JFWA       308  XRAY        1.520    0.18    0.21
+5JGIA       156  XRAY        1.380    0.15    0.17
+5JGKB       289  XRAY        1.330    0.14    0.17
+5JGYB       327  XRAY        1.450    0.13    0.16
+5JH8A       317  XRAY        1.018    0.13    0.15
+5JHXA       764  XRAY        1.400    0.14    0.16
+5JI7A       243  XRAY        1.510    0.17    0.19
+5JICA       273  XRAY        1.400    0.14    0.17
+5JIGA       127  XRAY        1.000    0.14    0.17
+5JJ2A       211  XRAY        1.250    0.16    0.18
+5JKJB       370  XRAY        1.550    0.15    0.18
+5JLAD       274  XRAY        1.450    0.21    0.24
+5JLBA       279  XRAY        1.500    0.17    0.19
+5JMUA       226  XRAY        1.540    0.16    0.19
+5JNTA       160  XRAY        1.450    0.14    0.17
+5JO8A       279  XRAY        1.400    0.22    0.24
+5JODB       375  XRAY        1.528    0.18    0.21
+5JOVA       955  XRAY        1.500    0.11    0.15
+5JOWA       516  XRAY        1.600    0.13    0.17
+5JP6A       383  XRAY        1.500    0.15    0.17
+5JPHC       144  XRAY        1.460    0.14    0.17
+5JQFB        21  XRAY        0.850    0.13    0.15
+5JQNA       266  XRAY        1.190    0.17    0.18
+5JRTA        77  XRAY        1.530    0.20    0.23
+5JRYA       485  XRAY        1.200    0.11    0.13
+5JS4B       719  XRAY        1.480    0.14    0.16
+5JSCB       410  XRAY        1.500    0.13    0.16
+5JSKB       507  XRAY        0.950    0.11    0.12
+5JUGA       168  XRAY        0.960    0.12    0.14
+5JUHA       203  XRAY        1.350    0.13    0.18
+5JVIE       316  XRAY        1.120    0.10    0.12
+5JXMA       405  XRAY        1.150    0.18    0.21
+5K08A       142  XRAY        1.401    0.18    0.21
+5K1PA       274  XRAY        1.499    0.17    0.20
+5K26B        86  XRAY        1.200    0.14    0.17
+5K2LA        49  XRAY        1.200    0.14    0.18
+5K2XA       420  XRAY        1.500    0.16    0.19
+5K34A       119  XRAY        1.150    0.17    0.19
+5K3XA       369  XRAY        1.600    0.16    0.18
+5K4BA       368  XRAY        1.399    0.17    0.19
+5K4XA       389  XRAY        1.370    0.20    0.21
+5K6DB        78  XRAY        1.139    0.17    0.17
+5K7AA       439  XRAY        1.500    0.17    0.19
+5K86C        25  XRAY        1.127    0.13    0.16
+5K87A       399  XRAY        1.219    0.16    0.18
+5K8JA        85  XRAY        1.600    0.16    0.17
+5K8JC       128  XRAY        1.600    0.16    0.17
+5K8SA       148  XRAY        1.150    0.20    0.22
+5K91A       188  XRAY        1.180    0.19    0.22
+5KARA       427  XRAY        1.142    0.14    0.15
+5KB6B       363  XRAY        1.200    0.14    0.16
+5KDIB       211  XRAY        1.450    0.13    0.18
+5KDSA       530  XRAY        1.600    0.16    0.18
+5KDZA       393  XRAY        1.424    0.14    0.18
+5KF9A       328  XRAY        1.490    0.18    0.21
+5KFZA       435  XRAY        1.440    0.19    0.21
+5KI9A        43  XRAY        1.600    0.23    0.27
+5KKOF        55  XRAY        1.550    0.17    0.21
+5KLAA       337  XRAY        1.140    0.16    0.17
+5KLEA        97  XRAY        1.500    0.16    0.18
+5KNHI       112  XRAY        1.600    0.17    0.20
+5KO4A       107  XRAY        1.440    0.16    0.18
+5KO5A       287  XRAY        1.360    0.17    0.19
+5KO9A       277  XRAY        1.500    0.18    0.21
+5KP7A       443  XRAY        1.600    0.15    0.17
+5KP7B       103  XRAY        1.600    0.15    0.17
+5KPGB       397  XRAY        1.600    0.19    0.22
+5KTNA       304  XRAY        1.340    0.12    0.15
+5KVBA       156  XRAY        1.450    0.17    0.20
+5KVCB       254  XRAY        1.501    0.17    0.20
+5KVGE       110  XRAY        1.400    0.15    0.18
+5KVRA        77  XRAY        1.360    0.18    0.21
+5KVSB       385  XRAY        1.280    0.16    0.17
+5KWMA       230  XRAY        0.777    0.13    0.14
+5KWNA       336  XRAY        1.420    0.16    0.17
+5KXHA       355  XRAY        1.330    0.15    0.17
+5KXHB        40  XRAY        1.330    0.15    0.17
+5KY0B        40  XRAY        1.530    0.14    0.16
+5KY4B        40  XRAY        1.472    0.15    0.17
+5KY5B        40  XRAY        1.500    0.16    0.17
+5KYCB       351  XRAY        1.426    0.17    0.19
+5KZZA       127  XRAY        1.332    0.16    0.19
+5L0NA       135  XRAY        1.285    0.17    0.18
+5L0RB        42  XRAY        1.500    0.15    0.17
+5L0VA       357  XRAY        1.305    0.16    0.17
+5L0VB        42  XRAY        1.305    0.16    0.17
+5L20A       143  XRAY        1.450    0.15    0.18
+5L20B       229  XRAY        1.450    0.15    0.18
+5L2LE        77  XRAY        1.550    0.13    0.15
+5L37C        95  XRAY        1.600    0.15    0.18
+5L4LA       304  XRAY        1.200    0.13    0.15
+5L6UA       256  XRAY        1.600    0.16    0.19
+5L74A       151  XRAY        1.360    0.18    0.20
+5L77A       495  XRAY        1.240    0.13    0.16
+5L87A        69  XRAY        0.870    0.13    0.14
+5L9ZA       389  XRAY        1.570    0.17    0.19
+5L9ZB        77  XRAY        1.570    0.17    0.19
+5LALB       158  XRAY        1.400    0.17    0.19
+5LAUA       208  XRAY        1.350    0.16    0.18
+5LB7A       212  XRAY        1.500    0.18    0.22
+5LB7B        80  XRAY        1.500    0.18    0.22
+5LBDB       131  XRAY        1.500    0.18    0.21
+5LDGA       316  XRAY        1.300    0.12    0.15
+5LEOA        94  XRAY        1.600    0.19    0.23
+5LF9A       304  XRAY        1.450    0.17    0.21
+5LFZA       223  XRAY        1.561    0.18    0.20
+5LHMA       233  XRAY        1.310    0.18    0.20
+5LHWA        28  XRAY        0.910    0.14    0.14
+5LHXB        93  XRAY        1.530    0.17    0.21
+5LI7B       414  XRAY        1.580    0.17    0.20
+5LJLA       149  XRAY        1.600    0.17    0.21
+5LJMA       215  XRAY        1.454    0.18    0.23
+5LJPA       169  XRAY        1.100    0.16    0.18
+5LJXA       495  XRAY        1.400    0.19    0.21
+5LKBA       378  XRAY        1.450    0.17    0.19
+5LNDB       132  XRAY        1.460    0.18    0.19
+5LNNA       206  XRAY        1.600    0.19    0.23
+5LOMA       269  XRAY        1.500    0.19    0.22
+5LP9A       162  XRAY        0.886    0.11    0.13
+5LPAA       270  XRAY        1.400    0.15    0.18
+5LQ5A       282  XRAY        1.460    0.15    0.18
+5LQ6A       219  XRAY        1.480    0.17    0.20
+5LS4A       206  XRAY        1.469    0.17    0.20
+5LS7A        41  XRAY        1.160    0.12    0.14
+5LS7B       137  XRAY        1.160    0.12    0.14
+5LS7D       102  XRAY        1.160    0.12    0.14
+5LSVA       233  XRAY        1.100    0.10    0.12
+5LT5B       222  XRAY        1.450    0.17    0.18
+5LTLB       100  XRAY        1.450    0.17    0.20
+5LTRA       269  XRAY        1.210    0.16    0.18
+5LU5D       197  XRAY        1.550    0.16    0.19
+5LUND       352  XRAY        1.080    0.16    0.18
+5LUSF        68  XRAY        1.433    0.16    0.17
+5LVOA       311  XRAY        1.090    0.14    0.16
+5LW3A       387  XRAY        1.190    0.14    0.16
+5LWXA       577  XRAY        1.490    0.17    0.20
+5LX6B       191  XRAY        1.250    0.21    0.21
+5LXEB       335  XRAY        1.470    0.16    0.18
+5LXXB       501  XRAY        1.250    0.10    0.13
+5LXZB       604  XRAY        1.490    0.16    0.18
+5LY3A       432  XRAY        1.600    0.18    0.20
+5LY8A       247  XRAY        1.280    0.18    0.20
+5LYGA       187  XRAY        1.600    0.19    0.21
+5LYPA       140  XRAY        1.550    0.20    0.22
+5LZKB       180  XRAY        1.575    0.16    0.19
+5LZNA       119  XRAY        1.400    0.16    0.19
+5M0NA       428  XRAY        1.440    0.14    0.17
+5M0WA        82  XRAY        1.390    0.12    0.14
+5M0YB       164  XRAY        1.500    0.19    0.20
+5M10A       541  XRAY        1.220    0.13    0.17
+5M17A       385  XRAY        1.030    0.12    0.13
+5M1MA       155  XRAY        1.500    0.19    0.22
+5M1PB       191  XRAY        1.100    0.22    0.23
+5M29B       290  XRAY        1.500    0.18    0.21
+5M2OB        96  XRAY        1.260    0.14    0.15
+5M2PA       109  XRAY        1.330    0.15    0.17
+5M33B       101  XRAY        1.280    0.14    0.17
+5M3QA       254  XRAY        1.500    0.15    0.18
+5M4BA       440  XRAY        1.500    0.14    0.17
+5M5ZA       757  XRAY        1.250    0.12    0.14
+5M6KA       184  XRAY        1.600    0.16    0.21
+5M72A       160  XRAY        1.600    0.14    0.18
+5M72B        71  XRAY        1.600    0.14    0.18
+5M7DA       298  XRAY        1.200    0.13    0.16
+5M7YA       435  XRAY        1.550    0.15    0.18
+5M97A        77  XRAY        1.330    0.20    0.21
+5MAOA        71  XRAY        1.350    0.24    0.25
+5MAWD       311  XRAY        1.500    0.17    0.19
+5MAWE       133  XRAY        1.500    0.17    0.19
+5MBXA       497  XRAY        1.400    0.18    0.20
+5MC1A       485  XRAY        1.430    0.13    0.16
+5MC7B       147  XRAY        1.600    0.21    0.25
+5MDUA       157  XRAY        1.020    0.14    0.15
+5ME4A       274  XRAY        1.520    0.17    0.20
+5MFAA       697  XRAY        1.200    0.12    0.14
+5MFOD       202  XRAY        1.300    0.16    0.18
+5MGWA       406  XRAY        1.460    0.18    0.20
+5MH6D       308  XRAY        1.350    0.13    0.16
+5MJHA       377  XRAY        1.450    0.22    0.25
+5MJRA       239  XRAY        1.380    0.12    0.15
+5MK9A       379  XRAY        0.919    0.11    0.12
+5ML3B       149  XRAY        1.400    0.19    0.20
+5MLNB       241  XRAY        1.600    0.15    0.18
+5MOZB       247  XRAY        1.340    0.17    0.18
+5MPRA       366  XRAY        1.600    0.13    0.18
+5MPWC       115  XRAY        1.499    0.16    0.19
+5MR1A       103  XRAY        1.200    0.17    0.19
+5MSAD       263  XRAY        1.200    0.14    0.18
+5MSOA      1174  XRAY        1.200    0.14    0.15
+5MSZA       201  XRAY        1.100    0.13    0.15
+5MTEB       137  XRAY        1.400    0.19    0.20
+5MU9A       293  XRAY        1.300    0.15    0.18
+5MUAB       286  XRAY        1.490    0.22    0.25
+5MUJA       381  XRAY        1.370    0.20    0.25
+5MULA       431  XRAY        1.390    0.17    0.19
+5MWAA       245  XRAY        1.550    0.20    0.23
+5MWZA       116  XRAY        1.250    0.17    0.18
+5MX9A       324  XRAY        1.120    0.13    0.14
+5MXCA       325  XRAY        1.140    0.14    0.15
+5MY5A       274  XRAY        1.400    0.18    0.22
+5MY7A       124  XRAY        1.400    0.16    0.20
+5MYCP        38  XRAY        1.459    0.17    0.19
+5MZWA       265  XRAY        1.520    0.14    0.16
+5MZWB       248  XRAY        1.520    0.14    0.16
+5N0OA       398  XRAY        1.440    0.17    0.18
+5N17A       138  XRAY        1.600    0.21    0.23
+5N1PA       206  XRAY        1.448    0.16    0.18
+5N3JA       353  XRAY        1.120    0.13    0.15
+5N41A        76  XRAY        1.351    0.16    0.20
+5N48D       106  XRAY        1.600    0.17    0.21
+5N4BA       731  XRAY        1.440    0.16    0.18
+5N4BC        25  XRAY        1.440    0.16    0.18
+5N4KB       150  XRAY        1.490    0.15    0.20
+5N4TA       234  XRAY        1.160    0.17    0.20
+5N5UA       314  XRAY        1.600    0.18    0.21
+5N6FA       375  XRAY        1.119    0.14    0.15
+5N7QA       339  XRAY        1.450    0.15    0.17
+5N81B       427  XRAY        1.600    0.18    0.20
+5N86B       144  XRAY        1.484    0.15    0.17
+5N8AX       102  XRAY        1.280    0.15    0.18
+5NAIA       266  XRAY        1.150    0.13    0.14
+5NAKB       461  XRAY        1.500    0.19    0.21
+5NB4C       164  XRAY        1.140    0.15    0.18
+5NCBA       409  XRAY        1.440    0.13    0.15
+5NCGB       113  XRAY        1.020    0.13    0.15
+5NCJB       268  XRAY        1.529    0.16    0.17
+5NCWA       334  XRAY        1.500    0.16    0.18
+5NCWB        41  XRAY        1.500    0.16    0.18
+5NFQA       303  XRAY        1.600    0.16    0.20
+5NG7B       299  XRAY        1.390    0.17    0.20
+5NG9A       264  XRAY        1.150    0.11    0.13
+5NGGA       294  XRAY        1.180    0.12    0.15
+5NGNB        33  XRAY        1.480    0.11    0.14
+5NHUJ        82  XRAY        1.450    0.18    0.20
+5NI9A       189  XRAY        1.330    0.15    0.18
+5NI9B       198  XRAY        1.330    0.15    0.18
+5NIOA       216  XRAY        1.400    0.18    0.20
+5NJ9C       495  XRAY        1.250    0.15    0.18
+5NJ9D       450  XRAY        1.250    0.15    0.18
+5NJIA       322  XRAY        1.600    0.17    0.19
+5NJOA       121  XRAY        1.550    0.18    0.20
+5NLDB       139  XRAY        0.960    0.14    0.15
+5NMNA        37  XRAY        0.950    0.15    0.15
+5NMXD       425  XRAY        1.600    0.17    0.20
+5NNAD       264  XRAY        1.500    0.15    0.18
+5NOAA       381  XRAY        1.260    0.12    0.15
+5NQOA       133  XRAY        1.150    0.13    0.14
+5NR4B       230  XRAY        1.198    0.20    0.21
+5NRHB       312  XRAY        1.300    0.15    0.19
+5NRMA       141  XRAY        1.400    0.18    0.20
+5NRMB        66  XRAY        1.400    0.18    0.20
+5NSAA       108  XRAY        1.273    0.15    0.18
+5NT7A       107  XRAY        1.400    0.17    0.20
+5NT7D       163  XRAY        1.400    0.17    0.20
+5NTBB       110  XRAY        1.500    0.16    0.18
+5NULA       138  XRAY        1.600    0.18    1.00
+5NUVA       309  XRAY        1.550    0.17    0.20
+5NVGA        76  XRAY        1.070    0.13    0.17
+5NVJB        60  XRAY        1.180    0.19    0.20
+5NW3A        54  XRAY        0.590    0.14    0.15
+5NWGB       191  XRAY        1.400    0.14    0.17
+5NWGI        49  XRAY        1.400    0.14    0.17
+5NWPB       203  XRAY        1.050    0.12    0.14
+5NX7B       330  XRAY        1.510    0.15    0.17
+5NYKA       122  XRAY        1.050    0.15    0.16
+5NZGA       505  XRAY        1.600    0.22    0.25
+5NZOB       195  XRAY        1.290    0.20    0.24
+5O0SA       787  XRAY        1.160    0.14    0.16
+5O0UA        30  XRAY        0.990    0.13    0.14
+5O15A       311  XRAY        1.174    0.14    0.16
+5O1LB       407  XRAY        1.480    0.17    0.19
+5O29A       596  XRAY        1.379    0.18    0.21
+5O2DA       200  XRAY        1.600    0.13    0.17
+5O2XA       248  XRAY        0.950    0.12    0.13
+5O37A       273  XRAY        1.370    0.14    0.18
+5O45A       129  XRAY        0.990    0.11    0.14
+5O58A       338  XRAY        1.550    0.16    0.18
+5O5SA       131  XRAY        1.170    0.15    0.18
+5O63B       186  XRAY        1.600    0.16    0.19
+5O6HB       391  XRAY        1.290    0.17    0.19
+5O6TA        66  XRAY        1.570    0.16    0.18
+5O6XA       274  XRAY        1.350    0.12    0.14
+5O75A        78  XRAY        1.483    0.20    0.22
+5O95B       245  XRAY        1.491    0.18    0.21
+5O99B        60  XRAY        0.871    0.11    0.12
+5O9MA       180  XRAY        1.400    0.18    0.20
+5O9QA       555  XRAY        1.400    0.21    0.23
+5OAKC       117  XRAY        1.500    0.14    0.17
+5OAVA        61  XRAY        0.950    0.14    0.16
+5OAZA        63  XRAY        1.030    0.14    0.16
+5OBPB       464  XRAY        1.593    0.15    0.18
+5OBTA       245  XRAY        1.500    0.15    0.18
+5OBTF        51  XRAY        1.500    0.15    0.18
+5OBYA       374  XRAY        1.300    0.14    0.16
+5OD4A       128  XRAY        1.100    0.14    0.17
+5ODKC       180  XRAY        1.340    0.15    0.19
+5ODUE       122  XRAY        1.560    0.20    0.23
+5OE3C       407  XRAY        1.430    0.19    0.22
+5OF1B       210  XRAY        1.560    0.15    0.17
+5OFKA       339  XRAY        1.160    0.17    0.19
+5OHQA       111  XRAY        1.098    0.12    0.14
+5OIIB       103  XRAY        1.043    0.15    0.18
+5OJ5A       347  XRAY        1.080    0.14    0.16
+5OJ7A       286  XRAY        1.580    0.15    0.19
+5OK4A       344  XRAY        1.290    0.13    0.15
+5OK6A       230  XRAY        1.300    0.16    0.18
+5OKAA       485  XRAY        1.250    0.13    0.15
+5OL4A       100  XRAY        1.280    0.12    0.14
+5OL4B       122  XRAY        1.280    0.12    0.14
+5OL4C       570  XRAY        1.280    0.12    0.14
+5OL9A       106  XRAY        1.302    0.19    0.20
+5OLRC       522  XRAY        1.070    0.15    0.17
+5OLTA       383  XRAY        1.450    0.13    0.16
+5OM2B        40  XRAY        1.470    0.17    0.20
+5OMTA       110  XRAY        1.350    0.15    0.19
+5ON8B       502  XRAY        1.600    0.20    0.22
+5ONKA       214  XRAY        1.030    0.17    0.19
+5OOXA        67  XRAY        1.600    0.16    0.18
+5OPFA       194  XRAY        1.081    0.14    0.15
+5OPZA       137  XRAY        1.340    0.09    0.12
+5OQ3A       396  XRAY        1.350    0.15    0.17
+5OTNA       159  XRAY        0.990    0.12    0.13
+5OUOA       277  XRAY        1.110    0.15    0.17
+5OVKD       256  XRAY        1.450    0.17    0.20
+5OVOA       297  XRAY        1.550    0.14    0.17
+5OVVA       123  XRAY        1.400    0.16    0.20
+5OYCB       396  XRAY        1.600    0.14    0.20
+5P9JA       279  XRAY        1.080    0.21    0.22
+5P9VA       221  XRAY        1.040    0.13    0.16
+5PAXA        64  XRAY        1.360    0.18    0.19
+5PAXC       254  XRAY        1.360    0.18    0.19
+5PMXA       364  XRAY        1.140    0.16    0.18
+5Q22A       343  XRAY        1.180    0.18    0.20
+5SUIA       439  XRAY        1.300    0.13    0.16
+5SV2A       146  XRAY        1.310    0.14    0.16
+5SV5A       105  XRAY        1.000    0.13    0.15
+5SVYA        50  XRAY        1.050    0.12    0.15
+5SWCE       239  XRAY        1.450    0.13    0.15
+5SY4B       199  XRAY        0.980    0.11    0.13
+5SZCA       115  XRAY        1.193    0.15    0.17
+5T1IB        68  XRAY        1.600    0.20    0.24
+5T39A       254  XRAY        1.100    0.14    0.15
+5T3BA       481  XRAY        1.400    0.11    0.14
+5T46D        66  XRAY        1.530    0.14    0.16
+5T5LA       242  XRAY        1.170    0.11    0.13
+5T7AA       118  XRAY        1.600    0.15    0.18
+5T7DB       189  XRAY        1.400    0.15    0.19
+5T8CA       301  XRAY        1.481    0.16    0.19
+5T9CE       268  XRAY        1.480    0.17    0.20
+5TA0A       649  XRAY        1.400    0.14    0.16
+5TABA        53  XRAY        1.250    0.12    0.14
+5TCBA       278  XRAY        1.535    0.17    0.19
+5TDAA        76  XRAY        0.790    0.12    0.13
+5TDRA        70  XRAY        1.420    0.15    0.20
+5TFQA       280  XRAY        1.070    0.12    0.13
+5TG0A       150  XRAY        1.440    0.11    0.14
+5THKD       266  XRAY        1.400    0.14    0.16
+5THXA       266  XRAY        1.550    0.16    0.19
+5TIFA       185  XRAY        0.970    0.12    0.14
+5TJZA       245  XRAY        1.500    0.15    0.17
+5TK2C       100  XRAY        1.400    0.14    0.17
+5TKWA       237  XRAY        1.350    0.15    0.18
+5TKZA        94  XRAY        1.529    0.23    0.27
+5TLEA       363  XRAY        1.576    0.13    0.16
+5TNVA       326  XRAY        1.040    0.12    0.14
+5TNWB       101  XRAY        1.400    0.19    0.21
+5TOQA       414  XRAY        1.200    0.16    0.17
+5TPIA       211  XRAY        1.470    0.14    0.18
+5TQIB       294  XRAY        1.500    0.14    0.18
+5TQJA       136  XRAY        1.300    0.14    0.17
+5TRQA       291  XRAY        1.300    0.19    0.21
+5TSQA       312  XRAY        1.530    0.15    0.17
+5TT5A       691  XRAY        1.552    0.18    0.20
+5TUXA       323  XRAY        1.500    0.15    0.18
+5TV2A       405  XRAY        1.600    0.18    0.25
+5TVOA       284  XRAY        1.481    0.16    0.20
+5TVOB        59  XRAY        1.481    0.16    0.20
+5TW4B       359  XRAY        1.570    0.16    0.18
+5TW9F        63  XRAY        1.500    0.17    0.20
+5TZ5A       296  XRAY        1.428    0.19    0.21
+5TZMA       100  XRAY        1.177    0.17    0.18
+5TZPA       148  XRAY        1.350    0.15    0.17
+5U00A       344  XRAY        1.410    0.20    0.23
+5U0IA       140  XRAY        1.423    0.15    0.18
+5U1HA       123  XRAY        1.500    0.17    0.20
+5U23D       382  XRAY        1.450    0.13    0.15
+5U2OA       576  XRAY        1.460    0.14    0.15
+5U3AA       496  XRAY        0.950    0.11    0.12
+5U3QB       272  XRAY        1.500    0.16    0.19
+5U4HB       421  XRAY        1.050    0.16    0.18
+5U4NA       362  XRAY        1.600    0.15    0.17
+5U4QB       337  XRAY        1.500    0.18    0.21
+5U4SB       245  XRAY        1.400    0.15    0.17
+5U5OA       292  XRAY        1.150    0.18    0.21
+5U5TD        30  XRAY        1.600    0.17    0.20
+5U69A       369  XRAY        1.280    0.13    0.15
+5U7AB       212  XRAY        1.532    0.17    0.21
+5U81A       384  XRAY        1.400    0.12    0.16
+5U8UA       481  XRAY        1.350    0.13    0.16
+5UAMB       473  XRAY        1.450    0.13    0.14
+5UBAA       295  XRAY        1.540    0.20    0.21
+5UCSB       307  XRAY        1.408    0.17    0.19
+5UDIA       479  XRAY        1.580    0.16    0.18
+5UE1B       234  XRAY        1.140    0.13    0.16
+5UEBB       147  XRAY        1.500    0.16    0.18
+5UEJA       384  XRAY        1.300    0.12    0.15
+5UFHA       347  XRAY        1.450    0.17    0.18
+5UFNA       238  XRAY        1.390    0.15    0.17
+5UFYA       224  XRAY        1.120    0.15    0.17
+5UG9A       329  XRAY        1.330    0.20    0.20
+5UGRA       333  XRAY        1.560    0.10    0.13
+5UJCA       270  XRAY        1.350    0.13    0.16
+5UL6A        58  XRAY        1.450    0.17    0.19
+5ULBA       337  XRAY        1.280    0.11    0.15
+5UM2A       334  XRAY        1.140    0.12    0.14
+5UMFB       235  XRAY        1.400    0.15    0.17
+5UMHB       319  XRAY        1.350    0.13    0.16
+5UMPA       140  XRAY        1.080    0.18    0.20
+5UMRA       102  XRAY        1.501    0.15    0.19
+5UMSA       264  XRAY        1.569    0.20    0.23
+5UOUA       166  XRAY        1.500    0.17    0.20
+5UQ6A       313  XRAY        1.182    0.14    0.15
+5UQSC       464  XRAY        1.600    0.15    0.18
+5UQZA       354  XRAY        1.149    0.13    0.15
+5UT3A       289  XRAY        1.501    0.16    0.17
+5UUIA       158  XRAY        1.400    0.15    0.17
+5UUKA       152  XRAY        1.199    0.14    0.16
+5UUKB        25  XRAY        1.199    0.14    0.16
+5UUOB       293  XRAY        1.250    0.13    0.13
+5UWAB       203  XRAY        1.501    0.14    0.17
+5UWZA       243  XRAY        1.250    0.14    0.17
+5UX1C       237  XRAY        1.500    0.19    0.21
+5UXMA       453  XRAY        1.540    0.19    0.21
+5UXSA       323  XRAY        1.421    0.18    0.19
+5UYJA       291  XRAY        1.600    0.15    0.17
+5UZGB       101  XRAY        1.541    0.18    0.21
+5UZMB        97  XRAY        1.552    0.20    0.24
+5UZXB       245  XRAY        1.500    0.17    0.20
+5V01A       173  XRAY        1.300    0.13    0.16
+5V0MA        98  XRAY        1.407    0.17    0.21
+5V0ZC       202  XRAY        1.260    0.14    0.16
+5V1VB        91  XRAY        1.350    0.19    0.23
+5V1VD        21  XRAY        1.350    0.19    0.23
+5V1YB       115  XRAY        1.421    0.14    0.17
+5V2OF        60  XRAY        1.200    0.15    0.18
+5V37A       428  XRAY        1.420    0.23    0.28
+5V3NA       113  XRAY        1.300    0.19    0.22
+5V3NB        38  XRAY        1.300    0.19    0.22
+5V44A       253  XRAY        1.560    0.18    0.21
+5V5HA       174  XRAY        1.500    0.16    0.18
+5V6FA       138  XRAY        1.500    0.17    0.19
+5V6JC       112  XRAY        1.180    0.17    0.18
+5V89A       193  XRAY        1.550    0.15    0.19
+5V8SA       410  XRAY        1.410    0.15    0.18
+5VBDA       109  XRAY        1.500    0.23    0.24
+5VCMA       419  XRAY        1.599    0.19    0.22
+5VCZA       311  XRAY        1.500    0.15    0.18
+5VEIA       110  XRAY        1.330    0.19    0.21
+5VF5A       426  XRAY        1.490    0.13    0.16
+5VFAB       230  XRAY        1.452    0.16    0.18
+5VFBB       728  XRAY        1.360    0.14    0.17
+5VG0B       142  XRAY        1.100    0.11    0.13
+5VG3B       382  XRAY        1.451    0.15    0.18
+5VGBA       142  XRAY        1.497    0.17    0.21
+5VGBB        86  XRAY        1.497    0.17    0.21
+5VGLA       157  XRAY        1.400    0.15    0.19
+5VHGA       150  XRAY        1.270    0.15    0.18
+5VI6A       372  XRAY        1.237    0.12    0.14
+5VIVA       315  XRAY        1.330    0.15    0.19
+5VJTA       196  XRAY        1.450    0.20    0.24
+5VN4B       243  XRAY        1.350    0.14    0.17
+5VNYA        66  XRAY        1.101    0.17    0.18
+5VOGA       183  XRAY        1.500    0.15    0.18
+5VPSA       267  XRAY        1.450    0.15    0.16
+5VRKB       314  XRAY        1.400    0.14    0.17
+5VSCB       275  XRAY        1.400    0.17    0.18
+5VUGA       281  XRAY        1.500    0.17    0.20
+5VX1B       170  XRAY        1.224    0.17    0.19
+5VX5A       162  XRAY        1.285    0.15    0.17
+5VXVA       218  XRAY        1.550    0.17    0.19
+5VYQA       255  XRAY        1.600    0.17    0.20
+5VZBA       354  XRAY        1.500    0.17    0.19
+5W0GA        87  XRAY        1.070    0.14    0.15
+5W0HA        84  XRAY        1.110    0.15    0.17
+5W2FA       206  XRAY        1.400    0.14    0.17
+5W2IA       257  XRAY        1.600    0.17    0.21
+5W3RA       114  XRAY        1.386    0.14    0.17
+5W4AC       216  XRAY        1.500    0.16    0.20
+5W7WA       108  XRAY        1.348    0.15    0.16
+5W83A       338  XRAY        1.554    0.21    0.23
+5W83B       222  XRAY        1.554    0.21    0.23
+5W89A       151  XRAY        1.420    0.14    0.18
+5W8JD       332  XRAY        1.550    0.15    0.17
+5W8OB       363  XRAY        1.470    0.15    0.18
+5W8QB       390  XRAY        1.173    0.10    0.12
+5W98A       336  XRAY        1.230    0.16    0.19
+5WA2A       304  XRAY        1.591    0.17    0.19
+5WA9A       129  XRAY        1.150    0.14    0.15
+5WD9A        91  XRAY        1.400    0.17    0.20
+5WECA       117  XRAY        1.563    0.18    0.21
+5WFBA       145  XRAY        1.382    0.16    0.18
+5WGIA       364  XRAY        1.050    0.11    0.13
+5WJPA       249  XRAY        1.570    0.18    0.21
+5WK0A       163  XRAY        1.335    0.15    0.19
+5WKRB       223  XRAY        1.400    0.14    0.17
+5WL1A       300  XRAY        1.380    0.19    0.21
+5WLFA        62  XRAY        1.400    0.14    0.16
+5WLJB        28  XRAY        1.600    0.15    0.17
+5WM2A       564  XRAY        1.548    0.15    0.16
+5WMKA       475  XRAY        1.398    0.16    0.18
+5WN9A        29  XRAY        1.551    0.17    0.18
+5WP4A       491  XRAY        1.341    0.15    0.17
+5WPSA       225  XRAY        1.389    0.14    0.17
+5WQJA       297  XRAY        1.200    0.14    0.17
+5WRIA       320  XRAY        1.600    0.14    0.18
+5WSFA       118  XRAY        1.110    0.15    0.18
+5WUCA       237  XRAY        1.600    0.22    0.24
+5WWDA       149  XRAY        1.386    0.18    0.18
+5WXHC        63  XRAY        1.297    0.15    0.17
+5X2EA        80  XRAY        1.299    0.18    0.22
+5X40A       292  XRAY        1.450    0.16    0.18
+5X4BA       162  XRAY        1.500    0.15    0.18
+5X4RA       342  XRAY        1.500    0.16    0.20
+5X57A        81  XRAY        1.450    0.13    0.17
+5X5JA       137  XRAY        1.401    0.19    0.20
+5X5MA       216  XRAY        1.211    0.18    0.20
+5X5VA       402  XRAY        1.500    0.17    0.19
+5X7LB       138  XRAY        1.220    0.15    0.17
+5X86A       198  XRAY        1.190    0.14    0.17
+5X89A       359  XRAY        1.530    0.16    0.20
+5X9IB       339  XRAY        1.500    0.19    0.21
+5X9LA       207  XRAY        0.900    0.12    0.13
+5XA5A       279  XRAY        1.600    0.19    0.22
+5XA5B        48  XRAY        1.600    0.19    0.22
+5XAVB       395  XRAY        1.479    0.12    0.16
+5XB0A       133  XRAY        1.600    0.17    0.20
+5XBCA       118  XRAY        1.249    0.17    0.19
+5XBIB       153  XRAY        1.400    0.15    0.18
+5XBUA       190  XRAY        1.000    0.13    0.14
+5XC5A       176  XRAY        1.398    0.17    0.19
+5XCOB        21  XRAY        1.250    0.17    0.19
+5XCTA       168  XRAY        1.170    0.15    0.18
+5XDCD       414  XRAY        1.579    0.17    0.19
+5XDHC        86  XRAY        1.320    0.16    0.17
+5XDTA       308  XRAY        1.300    0.14    0.17
+5XECA        82  XRAY        1.100    0.18    0.20
+5XEVA       416  XRAY        1.400    0.15    0.16
+5XG7A       142  XRAY        1.550    0.16    0.19
+5XJ5A       201  XRAY        1.481    0.19    0.21
+5XK6B       232  XRAY        1.580    0.15    0.17
+5XKAB       288  XRAY        1.599    0.17    0.20
+5XKRC       159  XRAY        1.380    0.13    0.15
+5XKXA       407  XRAY        1.500    0.14    0.18
+5XLUA       398  XRAY        1.450    0.17    0.20
+5XLUB       187  XRAY        1.450    0.17    0.20
+5XM5B       193  XRAY        1.493    0.18    0.23
+5XN3A       209  XRAY        1.340    0.18    0.20
+5XN9B       138  XRAY        1.449    0.15    0.17
+5XNEA       235  XRAY        1.501    0.20    0.23
+5XVEA       356  XRAY        1.240    0.15    0.16
+5XVJB       135  XRAY        1.400    0.17    0.20
+5XVTA       697  XRAY        0.850    0.13    0.14
+5XW2A       419  XRAY        1.298    0.17    0.18
+5XWXA       458  XRAY        1.550    0.22    0.25
+5XXLB       760  XRAY        1.600    0.20    0.23
+5Y00A       271  XRAY        1.600    0.15    0.16
+5Y0MA       355  XRAY        1.030    0.12    0.13
+5Y1FA       328  XRAY        1.250    0.16    0.18
+5Y2SA       260  XRAY        0.900    0.11    0.13
+5Y33A       260  XRAY        1.540    0.17    0.19
+5Y37A       344  XRAY        1.360    0.17    0.18
+5Y4MA       154  XRAY        1.310    0.14    0.17
+5Y4TA       122  XRAY        1.400    0.19    0.22
+5Y4ZA       440  XRAY        1.300    0.19    0.22
+5Y5QC       174  XRAY        1.560    0.17    0.19
+5Y6YB       326  XRAY        1.500    0.18    0.20
+5Y7FA       293  XRAY        1.350    0.17    0.21
+5Y90A       323  XRAY        1.300    0.13    0.17
+5Y9AA       196  XRAY        1.100    0.13    0.16
+5YALA       342  XRAY        1.500    0.18    0.20
+5YAYA       257  XRAY        1.550    0.18    0.20
+5YAYB        28  XRAY        1.550    0.18    0.20
+5YDEA       112  XRAY        1.023    0.12    0.14
+5YDNA       109  XRAY        1.600    0.18    0.21
+5YGBA       223  XRAY        1.400    0.17    0.19
+5YHRA        97  XRAY        1.340    0.18    0.20
+5YIUA        49  XRAY        1.420    0.18    0.21
+5YJ6A       655  XRAY        1.430    0.15    0.18
+5YKAA       318  XRAY        1.448    0.16    0.18
+5YO6A       106  XRAY        1.204    0.21    0.24
+5YOBA       148  XRAY        1.142    0.17    0.18
+5YOFA        53  XRAY        1.510    0.19    0.20
+5YP7A        55  XRAY        1.424    0.19    0.21
+5YQJA       187  XRAY        1.500    0.16    0.21
+5YQWA       532  XRAY        1.360    0.20    0.23
+5YRHA       142  XRAY        1.200    0.19    0.23
+5YSEB       397  XRAY        1.600    0.16    0.19
+5YSIA       152  XRAY        1.546    0.21    0.25
+5YSQA       286  XRAY        1.470    0.19    0.20
+5YT6B        35  XRAY        1.501    0.20    0.23
+5YUFA        51  XRAY        1.600    0.20    0.22
+5YUGA       110  XRAY        1.570    0.22    0.25
+5YVXA        60  XRAY        1.591    0.17    0.18
+5YWRB        89  XRAY        1.470    0.17    0.18
+5YXGA       317  XRAY        1.480    0.18    0.20
+5YXMA       203  XRAY        1.545    0.17    0.19
+5Z0UA       626  XRAY        1.370    0.14    0.15
+5Z42A       102  XRAY        1.300    0.19    0.20
+5Z9YA       252  XRAY        1.480    0.17    0.19
+5ZBYA       158  XRAY        1.591    0.20    0.22
+5ZCYA        99  XRAY        1.500    0.17    0.20
+5ZDMA       211  XRAY        1.380    0.17    0.19
+5ZE8A       435  XRAY        1.600    0.16    0.19
+5ZGXA       242  XRAY        0.950    0.11    0.12
+5ZHOA       162  XRAY        1.401    0.14    0.17
+5ZHZA       258  XRAY        1.180    0.14    0.16
+5ZM0A       509  XRAY        1.600    0.15    0.19
+5ZMUC       314  XRAY        1.500    0.15    0.17
+5ZQAA       276  XRAY        1.550    0.17    0.19
+5ZQYA       349  XRAY        1.577    0.16    0.18
+5ZRYA       194  XRAY        1.300    0.17    0.20
+5ZT3A       130  XRAY        1.304    0.19    0.19
+5ZU6A       171  XRAY        1.400    0.19    0.21
+5ZW7A       402  XRAY        1.300    0.11    0.13
+6A0JA       471  XRAY        1.600    0.16    0.19
+6A56B       164  XRAY        1.200    0.14    0.18
+6AMGB       196  XRAY        1.450    0.14    0.16
+6ANZA       146  XRAY        1.600    0.18    0.21
+6AO9A       192  XRAY        1.130    0.19    0.20
+6APEA       298  XRAY        1.450    0.17    0.18
+6AQSA       246  XRAY        1.570    0.18    0.21
+6AR0A       140  XRAY        1.080    0.16    0.18
+6ARHA       338  XRAY        1.600    0.17    0.19
+6AT0A        69  XRAY        1.285    0.24    0.26
+6AT4B       546  XRAY        1.332    0.14    0.15
+6ATRA       221  XRAY        1.290    0.17    0.18
+6ATWA        38  XRAY        1.530    0.14    0.18
+6AVXA       230  XRAY        1.271    0.15    0.17
+6AZMF        20  XRAY        1.600    0.17    0.20
+6B1KA       114  XRAY        1.170    0.14    0.15
+6B1ZA       511  XRAY        1.600    0.18    0.21
+6B26A       120  XRAY        1.200    0.15    0.17
+6B2VA       301  XRAY        1.550    0.20    0.21
+6B5KA       296  XRAY        1.600    0.20    0.23
+6B6UA       525  XRAY        1.350    0.13    0.15
+6B7PB       383  XRAY        1.510    0.17    0.19
+6B8FA       182  XRAY        1.060    0.09    0.10
+6B9HA       161  XRAY        1.500    0.16    0.18
+6B9HB        26  XRAY        1.500    0.16    0.18
+6B9XA       161  XRAY        1.420    0.21    0.24
+6B9XB       126  XRAY        1.420    0.21    0.24
+6B9XC       124  XRAY        1.420    0.21    0.24
+6B9XD        99  XRAY        1.420    0.21    0.24
+6B9XE       173  XRAY        1.420    0.21    0.24
+6BCBA       146  XRAY        1.401    0.14    0.17
+6BCDA       227  XRAY        1.430    0.18    0.20
+6BCDB        28  XRAY        1.430    0.18    0.20
+6BEVA       135  XRAY        1.043    0.13    0.14
+6BG8B       246  XRAY        1.597    0.18    0.22
+6BGDA       378  XRAY        1.470    0.12    0.14
+6BGYA       330  XRAY        1.220    0.17    0.19
+6BHDA       239  XRAY        1.250    0.15    0.18
+6BJBA       393  XRAY        1.500    0.15    0.17
+6BK0A       467  XRAY        1.470    0.15    0.18
+6BLKD       158  XRAY        1.552    0.19    0.22
+6BLMA       127  XRAY        1.488    0.19    0.21
+6BM5A       333  XRAY        1.500    0.15    0.19
+6BO0A       200  XRAY        1.200    0.12    0.15
+6BSUB       338  XRAY        1.497    0.14    0.17
+6BT1A       313  XRAY        1.480    0.15    0.19
+6BW9A       459  XRAY        1.600    0.17    0.20
+6BW9B        41  XRAY        1.600    0.17    0.20
+6BWLA       328  XRAY        1.450    0.13    0.15
+6BXDA       209  XRAY        1.103    0.18    0.18
+6BXGA       102  XRAY        1.450    0.14    0.18
+6C10A       247  XRAY        1.399    0.17    0.20
+6C1XA       131  XRAY        1.050    0.14    0.17
+6C29B       257  XRAY        1.538    0.17    0.20
+6C2ZA       375  XRAY        1.370    0.14    0.16
+6C3CA       413  XRAY        1.500    0.16    0.19
+6C3MA       570  XRAY        1.500    0.17    0.19
+6C4QA       103  XRAY        1.160    0.13    0.14
+6C52D        27  XRAY        1.600    0.19    0.22
+6C5BA       341  XRAY        1.420    0.18    0.20
+6C74A       111  XRAY        1.358    0.17    0.19
+6C9EB       422  XRAY        1.550    0.14    0.16
+6C9XB       666  XRAY        1.457    0.14    0.16
+6CAFA       324  XRAY        1.300    0.10    0.13
+6CB4A       445  XRAY        1.300    0.14    0.17
+6CBNA       438  XRAY        1.350    0.17    0.20
+6CD7A       302  XRAY        1.530    0.17    0.21
+6CD9A       167  XRAY        1.550    0.17    0.19
+6CJ7A       390  XRAY        1.600    0.16    0.19
+6COJA       308  XRAY        1.400    0.15    0.17
+6COJB       253  XRAY        1.400    0.15    0.17
+6CPBB       141  XRAY        1.155    0.13    0.15
+6CQPA       303  XRAY        1.446    0.13    0.18
+6CR0A       440  XRAY        1.548    0.15    0.18
+6CUMA       315  XRAY        1.600    0.18    0.21
+6CW0B       106  XRAY        1.380    0.18    0.20
+6CWMA       182  XRAY        1.150    0.13    0.16
+6CZ4A       264  XRAY        1.500    0.20    0.21
+6D0AA       431  XRAY        1.468    0.17    0.19
+6D2KA       288  XRAY        1.550    0.20    0.22
+6D9NA       148  XRAY        1.200    0.14    0.16
+6D9YB       258  XRAY        1.300    0.14    0.15
+6DFPA       372  XRAY        1.500    0.16    0.20
+6DG4A       263  XRAY        1.442    0.12    0.15
+6DGMB       383  XRAY        1.490    0.15    0.17
+6DOPA       142  XRAY        1.250    0.16    0.18
+6DT3B       144  XRAY        1.200    0.15    0.19
+6DUBA       222  XRAY        1.200    0.15    0.18
+6DVRA       344  XRAY        1.540    0.20    0.21
+6E5YA       448  XRAY        1.500    0.16    0.18
+6E68A       480  XRAY        1.500    0.16    0.17
+6E85B       331  XRAY        1.250    0.12    0.14
+6EDDB       194  XRAY        1.550    0.17    0.19
+6EH4D       204  XRAY        1.260    0.16    0.19
+6EH4E       244  XRAY        1.260    0.16    0.19
+6EHBC       320  XRAY        1.550    0.17    0.20
+6EHIB       162  XRAY        1.580    0.20    0.25
+6EIKG        32  XRAY        1.520    0.16    0.21
+6EIMB       302  XRAY        1.430    0.15    0.17
+6EIOA       237  XRAY        0.840    0.12    0.13
+6EKGY       123  XRAY        1.150    0.15    0.17
+6ELCA       509  XRAY        1.410    0.13    0.17
+6ELMA        98  XRAY        1.140    0.14    0.17
+6ENSA       193  XRAY        1.300    0.13    0.17
+6EOZA       308  XRAY        1.550    0.13    0.16
+6EQEA       298  XRAY        0.920    0.10    0.11
+6EQSD       275  XRAY        1.320    0.16    0.21
+6ER1A       131  XRAY        1.400    0.15    0.18
+6ER4B       194  XRAY        1.300    0.11    0.14
+6ES9A       551  XRAY        1.370    0.18    0.18
+6ET0B       283  XRAY        1.530    0.14    0.16
+6ET0C       365  XRAY        1.530    0.14    0.16
+6ETLA       124  XRAY        0.850    0.10    0.12
+6EUWA       163  XRAY        1.000    0.14    0.16
+6EVGA       507  XRAY        1.100    0.13    0.15
+6EVNA       102  XRAY        1.480    0.17    0.18
+6EVUA       315  XRAY        1.598    0.19    0.23
+6EWHA       193  XRAY        1.500    0.18    0.21
+6EWLA       139  XRAY        1.400    0.17    0.20
+6EXMB       239  XRAY        1.600    0.18    0.22
+6F0PA       433  XRAY        1.340    0.14    0.16
+6F43B       246  XRAY        1.350    0.14    0.17
+6F47A       459  XRAY        1.350    0.14    0.18
+6F4JB       176  XRAY        1.420    0.15    0.19
+6F4JD        98  XRAY        1.420    0.15    0.19
+6F5CA       127  XRAY        1.550    0.18    0.20
+6F5ZB       231  XRAY        1.350    0.19    0.21
+6F5ZC        61  XRAY        1.350    0.19    0.21
+6F8AB       400  XRAY        1.350    0.18    0.19
+6F8BA       301  XRAY        1.300    0.14    0.16
+6F8NA       414  XRAY        1.450    0.18    0.21
+6F8PA       316  XRAY        1.600    0.17    0.20
+6FC0A       200  XRAY        1.293    0.17    0.20
+6FC0B        81  XRAY        1.293    0.17    0.20
+6FC1D        64  XRAY        1.350    0.14    0.17
+6FDGB       155  XRAY        1.300    0.18    0.20
+6FDKA       266  XRAY        1.600    0.17    0.20
+6FEAA       474  XRAY        1.200    0.12    0.14
+6FEAE       475  XRAY        1.200    0.12    0.14
+6FEAF       113  XRAY        1.200    0.12    0.14
+6FFAA       167  XRAY        1.500    0.17    0.19
+6FFAB        78  XRAY        1.500    0.17    0.19
+6FG8A       265  XRAY        1.250    0.15    0.18
+6FG8B       241  XRAY        1.250    0.15    0.18
+6FGGA       106  XRAY        1.100    0.15    0.15
+6FI2A       408  XRAY        1.220    0.14    0.17
+6FIHA       412  XRAY        1.080    0.16    0.18
+6FIYB       303  XRAY        1.090    0.13    0.15
+6FJ7A        80  XRAY        1.050    0.15    0.20
+6FJVA       155  XRAY        1.350    0.17    0.21
+6FLKB       163  XRAY        1.600    0.20    0.25
+6FM7A       382  XRAY        1.040    0.12    0.14
+6FMBA        98  XRAY        1.300    0.14    0.18
+6FNGA       306  XRAY        1.038    0.17    0.19
+6FNUA       308  XRAY        1.560    0.15    0.19
+6FOQD       464  XRAY        1.386    0.19    0.21
+6FPQA       190  XRAY        1.420    0.14    0.17
+6FQ1B       170  XRAY        1.310    0.14    0.17
+6FSGA       147  XRAY        1.270    0.15    0.17
+6FT2A       246  XRAY        1.250    0.18    0.20
+6FTHA       520  XRAY        1.469    0.16    0.19
+6FU9A        81  XRAY        1.200    0.15    0.18
+6FU9D        93  XRAY        1.200    0.15    0.18
+6FXAE        35  XRAY        1.500    0.15    0.20
+6FYJA       421  XRAY        1.300    0.17    0.19
+6FYRA       360  XRAY        1.420    0.18    0.19
+6G1IA       223  XRAY        0.990    0.13    0.15
+6G44C       520  XRAY        1.500    0.17    0.18
+6G47A       209  XRAY        1.497    0.16    0.18
+6G5PA       180  XRAY        1.350    0.14    0.17
+6G7NB       318  XRAY        1.100    0.14    0.15
+6G96A       176  XRAY        1.477    0.21    0.23
+6GAJC       133  XRAY        1.350    0.18    0.20
+6GBIA       104  XRAY        1.250    0.16    0.17
+6GGPA       212  XRAY        1.030    0.14    0.17
+6GI2B       282  XRAY        1.490    0.17    0.20
+6GKXA       145  XRAY        1.500    0.19    0.22
+6GMCA       368  XRAY        1.200    0.14    0.15
+6GP3B       345  XRAY        1.230    0.15    0.16
+6GPKD       373  XRAY        1.470    0.14    0.17
+6GQDA       380  XRAY        1.523    0.16    0.19
+6GQZA       174  XRAY        1.400    0.14    0.18
+6GS0A       403  XRAY        1.340    0.17    0.21
+6GUGB       292  XRAY        1.450    0.17    0.18
+6GVDA       575  XRAY        1.220    0.15    0.19
+6GY5A       304  XRAY        1.086    0.15    0.17
+6H20A       287  XRAY        1.400    0.19    0.20
+6H8OA        95  XRAY        1.150    0.13    0.18
+6HFCA       388  XRAY        1.290    0.14    0.16
+6RLXC        24  XRAY        1.500    0.19    1.00
+6RLXD        28  XRAY        1.500    0.19    1.00
+7A3HA       303  XRAY        0.950    0.11    0.13
+7FD1A       106  XRAY        1.300    0.16    1.00
+7ODCA       424  XRAY        1.600    0.20    0.23
+8ABPA       306  XRAY        1.490    0.17    1.00
diff --git a/extras/data_generation/rotamer_library/do_bbdep_lib.py b/extras/data_generation/rotamer_library/do_bbdep_lib.py
new file mode 100644
index 0000000000000000000000000000000000000000..9dab196e971b33a3677160cf42fbe11cd894a4c0
--- /dev/null
+++ b/extras/data_generation/rotamer_library/do_bbdep_lib.py
@@ -0,0 +1,497 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+import os, math, sys
+import numpy as np
+from scipy.ndimage import gaussian_filter
+from promod3 import sidechain
+
+if len(sys.argv) != 3:
+  print "USAGE: ost do_lib.py <path_to_data> <aa_name>" 
+  sys.exit(0)
+
+# the csv file you created with fetch_data.py
+data_file_path = sys.argv[1]
+
+# the name of the amino acids for which you want to create a library
+# => can be any amino acid you have in the provided datafile
+aa_name = sys.argv[2]
+
+# The mises distribution depends on kappa to determine the smoothness. 
+# When thinking of a classical gaussian, r = sqrt(1.0/kappa) corresponds to
+# the radius of a circle around the mean that covers 67% of the density.
+# In order to generate adaptive distributions with respect to phi/psi, 
+# kappa is estimated such that this "circle" includes exactly N data points.
+# Be aware that N needs to be increased in case of higher dimensional 
+# probability functions (e.g. more rotameric dihedral angles)
+p_threshold_67 = 30
+if aa_name in ["LYS", "ARG"]:
+  p_threshold_67 = 50
+
+# Same threshold but for the chi angles
+# In this case we're considering only data with same configuration
+chi_threshold_67 = 20
+
+# if you want to have 10 degree bins for backbone dihedral angles, use 36
+n_bins = 36
+
+# Width of bins to sample for non rotameric dihedral angles (in degrees)
+# e.g. in case of GLN you'll have 360 / 30 = 12 conformations for the
+# terminal dihedral angle if you keep the default (30).
+non_rotameric_sampling = 30 
+
+# An initial pdf is generated for the non-rotameric chi angles. The pdf is
+# smoothed with a circular gaussian function with following standard 
+# deviation (in degrees)
+non_rotameric_smooth_std = 10
+
+def EvalMises(phi0, psi0, kappa, phi, psi):
+  prefac = 1.0 / (4*np.pi*np.pi*math.pow(np.i0(kappa), 2))
+  exponent = kappa*(np.add(np.cos(phi-phi0), np.cos(psi-psi0)))
+  return prefac * np.exp(exponent)
+
+def EstimateKappa(n_within_one_std, phi, psi, phi_data, psi_data):
+  min_phi_diff = np.minimum(np.minimum(np.absolute(phi_data - phi), 
+                                       np.absolute(phi_data - (phi + 2*np.pi))), 
+                            np.absolute(phi_data - (phi - 2*np.pi)))
+  min_psi_diff = np.minimum(np.minimum(np.absolute(psi_data - psi), 
+                                       np.absolute(psi_data - (psi + 2*np.pi))), 
+                            np.absolute(psi_data - (psi - 2*np.pi)))
+  squared_radii = np.add(np.square(min_phi_diff), np.square(min_psi_diff))
+  squared_radii = np.sort(squared_radii)
+  # if theres simply not enough data, the returned kappe will be super small
+  radius_at_n = 1000. 
+  if n_within_one_std < len(squared_radii):
+    radius_at_n = np.sqrt(squared_radii[n_within_one_std - 1])
+
+  return 1.0 / (radius_at_n * radius_at_n)
+
+def GetChiStats(current_phi, current_psi, phi, psi, chi, kappa):
+  weights = EvalMises(current_phi, current_psi, kappa, 
+                      phi, psi)
+  weights /= np.sum(weights)
+  # do the mean
+  a = np.sum(np.multiply(np.sin(chi), weights))
+  b = np.sum(np.multiply(np.cos(chi), weights))
+  mean_value = np.arctan2(a, b)
+  # do the std
+  diffs = np.minimum(np.minimum(np.absolute(chi - mean_value), 
+                                np.absolute(chi - (mean_value + 2*np.pi))), 
+                     np.absolute(chi - (mean_value - 2*np.pi)))
+  squared_std = np.sum(np.multiply(np.square(diffs), weights))
+
+  return (mean_value, np.sqrt(squared_std))
+
+def GetNonRotChiStats(current_phi, current_psi, phi, psi, chi, 
+                      non_rotameric_sampling, symmetric, kappa,
+                      smooth_std):
+  # stupid check 
+  if 180 % non_rotameric_sampling != 0:
+    raise RuntimeError("180 must be dividable by non_rotameric_sampling!")
+
+  n_sampled_rotamers = 360 / non_rotameric_sampling
+  if symmetric:
+    n_sampled_rotamers = 180 / non_rotameric_sampling
+
+  # symmetric or not, we first fill in a histogram covering a range of 2 pi
+  n_histogram_bins = 2 * 360 
+  histogram = np.zeros(n_histogram_bins)
+  bin_size = 2*np.pi/n_histogram_bins
+
+  # we add up the histogram by weights as estimated with the mises distribution
+  weights = EvalMises(current_phi, current_psi, kappa, 
+                      phi, psi)
+  angle_bins = np.clip(np.floor((chi + np.pi) / bin_size), 0, len(histogram)-1)
+  for angle_bin, w in zip(angle_bins, weights):
+    histogram[int(angle_bin)] += w
+
+  # if we're dealing with a symmetric distribution, we simply add up the
+  # first and second half of the histogram. The histogram has then an angle
+  # range of [-pi,0.0[
+  if symmetric:
+    n_histogram_bins /= 2
+    histogram = np.add(histogram[:n_histogram_bins], 
+                       histogram[n_histogram_bins:])
+
+  # translate the smooth_std, which is in degree, to bins in the histogram
+  # and apply it with a simple gaussian filter
+  gaussian_std = float(smooth_std) / 180 * np.pi / bin_size
+  histogram = gaussian_filter(histogram, gaussian_std, mode="wrap")
+  histogram = histogram / sum(histogram)
+
+  # find the maximum element, as this is the center of the first "window"
+  # of width non_rotameric_sampling
+  max_idx = np.argmax(histogram)
+  current_angle = max_idx * bin_size - np.pi
+
+  # concatenate, so we dont have to care for circularity anymore
+  histogram = np.concatenate((histogram, histogram, histogram, histogram))
+  
+  rad_non_rotameric_sampling = float(non_rotameric_sampling) / 180 * np.pi
+  first_start_angle = current_angle - rad_non_rotameric_sampling / 2
+
+  if first_start_angle < -np.pi:
+    # With this first angle we would get an underflow...
+    # we did so many concatenatinons, that we can add 360 degrees, even for
+    # the symmetric case
+    current_angle += 2*np.pi
+
+  probabilities = np.zeros(n_sampled_rotamers)
+  mean_values = np.zeros(n_sampled_rotamers)
+  std_values = np.zeros(n_sampled_rotamers)
+
+  for i in range(n_sampled_rotamers):
+    start_angle = current_angle - rad_non_rotameric_sampling / 2
+    end_angle = current_angle + rad_non_rotameric_sampling / 2
+
+    start_bin = int((start_angle + np.pi) / bin_size)
+    end_bin = int((end_angle + np.pi) / bin_size)
+    local_values = histogram[start_bin:end_bin+1]
+    normalized_local_values = local_values / sum(local_values)
+    angle_values = np.linspace(start_angle, end_angle, len(local_values))
+
+    probabilities[i] = np.sum(local_values)
+    mean_values[i] = np.sum(np.multiply(normalized_local_values, angle_values))
+    squared_std = np.sum(np.multiply(np.square(angle_values - mean_values[i]), 
+                                               normalized_local_values))
+    std_values[i] = np.sqrt(squared_std)
+
+    current_angle += rad_non_rotameric_sampling
+
+  # The probabilities of all ranges should add up to one...
+  # however, depending on the rounding etc., this might not exactly be the case.
+  # All probabilities need an additional normalization in the end
+  probabilities /= np.sum(probabilities)
+
+  # due to the concatenation, we still have mean values > pi.
+  # let's enforce valid ranges...
+  for i in range(len(mean_values)):
+    while mean_values[i] > np.pi:
+      mean_values[i] -= 2*np.pi
+
+  return probabilities, mean_values, std_values
+  
+def DoIt(aa_name, aa_data, n_bins, p_n_67, chi_n_67, out_path,
+         non_rotameric_sampling=30, non_rotameric_smooth_std = 10):
+
+  # output lines are added here
+  out_stuff = list()
+
+  # the configurations in aa_data are stored in four lists with keys 
+  # conf1, conf2... we tranlate that to a unique string
+  configurations = list()
+  for a, b, c, d in zip(aa_data["conf1"], aa_data["conf2"], 
+                        aa_data["conf3"], aa_data["conf4"]):
+    configurations.append("%i%i%i%i"%(int(a), int(b), int(c), int(d)))
+  unique_configurations = list(set(configurations))
+
+  # we need configuration dependent phi, psi, chix
+  conf_phi = dict()
+  conf_psi = dict()
+  conf_chi1 = dict()
+  conf_chi2 = dict()
+  conf_chi3 = dict()
+  conf_chi4 = dict()
+
+  # the actual output is stored in following configuration dependent matrices
+  rotameric_probabilities = dict()
+  rotameric_chi1 = dict()
+  rotameric_chi2 = dict()
+  rotameric_chi3 = dict()
+  rotameric_chi4 = dict()
+  rotameric_sig1 = dict()
+  rotameric_sig2 = dict()
+  rotameric_sig3 = dict()
+  rotameric_sig4 = dict()
+
+  for uc in unique_configurations:
+    indices = [i for i, c in enumerate(configurations) if c == uc]
+    conf_phi[uc] = aa_data["phi"][indices]
+    conf_psi[uc] = aa_data["psi"][indices]
+    conf_chi1[uc] = aa_data["chi1"][indices]
+    conf_chi2[uc] = aa_data["chi2"][indices]
+    conf_chi3[uc] = aa_data["chi3"][indices]
+    conf_chi4[uc] = aa_data["chi4"][indices]
+    rotameric_probabilities[uc] = np.zeros((n_bins, n_bins))
+    rotameric_chi1[uc] = np.zeros((n_bins, n_bins))
+    rotameric_chi2[uc] = np.zeros((n_bins, n_bins))
+    rotameric_chi3[uc] = np.zeros((n_bins, n_bins))
+    rotameric_chi4[uc] = np.zeros((n_bins, n_bins))
+    rotameric_sig1[uc] = np.zeros((n_bins, n_bins))
+    rotameric_sig2[uc] = np.zeros((n_bins, n_bins))
+    rotameric_sig3[uc] = np.zeros((n_bins, n_bins))
+    rotameric_sig4[uc] = np.zeros((n_bins, n_bins))
+
+  ########################################
+  # GET PHI/PSI DEPENDENT DATA SITUATION #
+  ########################################
+  # the data in n_data_points will be used to fill the second column in the
+  # output file: number of data points for that backbone dihedral bin
+  bin_size = 2*np.pi/n_bins
+  n_data_points = np.zeros((n_bins, n_bins))
+  for phi, psi in zip(aa_data["phi"], aa_data["psi"]):
+    phi_bin = int((phi + np.pi) / bin_size)
+    psi_bin = int((psi + np.pi) / bin_size)
+    # enforce range (should be fulfilled anyway)
+    phi_bin = max(min(phi_bin, n_bins-1), 0)
+    psi_bin = max(min(psi_bin, n_bins-1), 0)
+    # the bins are now just rounded down... if they're rounded by more than
+    # half of the bin size, we count them to the bin after
+    d_phi = (phi+np.pi) - phi_bin*bin_size
+    d_psi = (psi+np.pi) - psi_bin*bin_size
+    if d_phi > bin_size/2.:
+      phi_bin += 1
+    if d_psi > bin_size/2.:
+      psi_bin += 1
+    # deal with circularity
+    if phi_bin == n_bins:
+      phi_bin = 0
+    if psi_bin == n_bins:
+      psi_bin = 0
+    n_data_points[(phi_bin, psi_bin)] += 1
+
+  # Do not allow super large kappas. This happens in high density regions of
+  # of the Ramachandran plot and given a binning of 10 degrees, only a fraction 
+  # of the data is considered. This might lead to a bumpy probability landscape
+  min_kappa = 0.1
+  max_kappa = 1.0 / math.pow(bin_size / 2., 2)
+
+  for i in range(n_bins):
+    current_phi = -np.pi + i*(2*np.pi/n_bins)
+    for j in range(n_bins):
+      current_psi = -np.pi + j*(2*np.pi/n_bins)
+
+      print "processing", aa_name, "phi:",current_phi,"psi:",current_psi
+
+      ###############################################################
+      # GET THE PROBABILITIES OF ALL CONFIGURATIONS GIVEN PHI / PSI #
+      ###############################################################
+      conf_counter = dict()
+      for uc in unique_configurations:
+        conf_counter[uc] = 0.0
+
+      # bb_kappa determines the smoothness of the mises distribution that
+      # is used for the weighted counting approach to determine the 
+      # probabilities of rotamer configurations
+      bb_kappa = EstimateKappa(p_n_67, current_phi, current_psi, 
+                               aa_data["phi"], aa_data["psi"])
+      bb_kappa = max(min(bb_kappa, max_kappa), min_kappa)
+
+      bb_weights = EvalMises(current_phi, current_psi, bb_kappa, 
+                             aa_data["phi"], aa_data["psi"])
+      sum_bb_weights = np.sum(bb_weights)
+      for w, c in zip(bb_weights, configurations):
+        conf_counter[c] += w 
+      for uc in unique_configurations:
+        rotameric_probabilities[uc][(i,j)] = conf_counter[uc] / sum_bb_weights
+
+      #####################################################################
+      # GET THE DIHEDRAL STATISTICS OF ALL CONFIGURATIONS GIVEN PHI / PSI #
+      #####################################################################
+      # non_rotameric_configurations remains empty for rotameric-only sidechains
+      non_rotameric_configurations = dict()
+
+      for uc in unique_configurations:
+        # conf_kappa determines the smoothness of the mises distribution that
+        # is used for the weighted mean approach to determine chi angles / stds
+        conf_kappa = EstimateKappa(chi_n_67, current_phi, current_psi,
+                                   conf_phi[uc], conf_psi[uc])
+        conf_kappa = max(min(conf_kappa, max_kappa), min_kappa)
+        rot_confs = [int(sidechain.TRANS), int(sidechain.GAUCHE_MINUS),
+                     int(sidechain.GAUCHE_PLUS)] 
+        # do chi1
+        if int(uc[0]) in rot_confs:
+          mean, std = GetChiStats(current_phi, current_psi, conf_phi[uc], 
+                                  conf_psi[uc], conf_chi1[uc], conf_kappa)
+          rotameric_chi1[uc][(i,j)] = mean
+          rotameric_sig1[uc][(i,j)] = std
+        # do chi2
+        if int(uc[1]) in rot_confs:
+          mean, std = GetChiStats(current_phi, current_psi, conf_phi[uc], 
+                                  conf_psi[uc], conf_chi2[uc], conf_kappa)
+          rotameric_chi2[uc][(i,j)] = mean
+          rotameric_sig2[uc][(i,j)] = std
+        # do chi3
+        if int(uc[2]) in rot_confs:
+          mean, std = GetChiStats(current_phi, current_psi, conf_phi[uc], 
+                                  conf_psi[uc], conf_chi3[uc], conf_kappa)
+          rotameric_chi3[uc][(i,j)] = mean
+          rotameric_sig3[uc][(i,j)] = std
+        # do chi4
+        if int(uc[3]) in rot_confs:
+          mean, std = GetChiStats(current_phi, current_psi, conf_phi[uc], 
+                                  conf_psi[uc], conf_chi4[uc], conf_kappa)
+          rotameric_chi4[uc][(i,j)] = mean
+          rotameric_sig4[uc][(i,j)] = std
+
+        # so far we only treated rotameric dihedral angles. 
+        # ASN(chi2), ASP(chi2), PHE(chi2), TYR(chi2), HIS(chi2), TRP(chi2), 
+        # GLN(chi3) and GLU(chi3) exhibit so called non-rotameric degrees
+        # of freedom and require further sampling of their terminal 
+        # dihedral angle.
+        if aa_name in ["ASN", "ASP", "PHE", "TYR", "HIS", "TRP", "GLN", "GLU"]:
+          non_rotameric_chi_idx = 1
+          if aa_name in ["GLN", "GLU"]:
+            non_rotameric_chi_idx = 2
+          symmetric = False
+          if aa_name in ["ASP", "PHE", "TYR", "GLU"]:
+            symmetric = True
+          chi_angles = None
+          if non_rotameric_chi_idx == 1:
+            chi_angles = conf_chi2[uc]
+          elif non_rotameric_chi_idx == 2:
+            chi_angles = conf_chi3[uc]
+
+          non_rot_kappa = conf_kappa
+          if symmetric:
+            non_rot_kappa = EstimateKappa(int(chi_n_67/2), current_phi, 
+                                          current_psi, conf_phi[uc], 
+                                          conf_psi[uc])
+            non_rot_kappa = max(min(non_rot_kappa, max_kappa), min_kappa)
+
+          probs, mean_values, std_values = GetNonRotChiStats(current_phi, 
+                                                      current_psi,
+                                                      conf_phi[uc], 
+                                                      conf_psi[uc],
+                                                      chi_angles,
+                                                      non_rotameric_sampling,
+                                                      symmetric, 
+                                                      non_rot_kappa,
+                                                      non_rotameric_smooth_std)
+
+          non_rotameric_configurations[uc] = (non_rotameric_chi_idx,
+                                              probs, mean_values, std_values)
+      # generate output
+      for uc in unique_configurations:
+        if uc in non_rotameric_configurations:
+          for k in range(len(non_rotameric_configurations[uc][1])):
+            c2 = str(uc[1])
+            chi2 = rotameric_chi2[uc][(i,j)]
+            sig2 = rotameric_sig2[uc][(i,j)]
+            c3 = str(uc[2])            
+            chi3 = rotameric_chi3[uc][(i,j)]
+            sig3 = rotameric_sig3[uc][(i,j)]
+            non_rot_idx = non_rotameric_configurations[uc][0]
+            if non_rot_idx == 1:
+              c2 = str(k+1)
+              chi2 = non_rotameric_configurations[uc][2][k]
+              sig2 = non_rotameric_configurations[uc][3][k]
+            elif non_rot_idx == 2:
+              c3 = str(k+1)
+              chi3 = non_rotameric_configurations[uc][2][k]
+              sig3 = non_rotameric_configurations[uc][3][k]
+            else:
+              raise RuntimeError("Invalid non rot idx!")
+
+            out = list()
+            out.append(aa_name)
+            out.append(str(-180 + i*10))
+            out.append(str(-180 + j*10))
+            out.append(str(int(n_data_points[(i,j)])))
+            out.append(' '.join([str(uc[0]), c2, c3, str(uc[3])]))
+            out.append("%.4f"%(non_rotameric_configurations[uc][1][k] * \
+                               rotameric_probabilities[uc][(i,j)]))
+            out.append("%.2f"%(rotameric_chi1[uc][(i,j)] / np.pi * 180))
+            out.append("%.2f"%(chi2 / np.pi * 180))
+            out.append("%.2f"%(chi3 / np.pi * 180))
+            out.append("%.2f"%(rotameric_chi4[uc][(i,j)] / np.pi * 180))
+            out.append("%.2f"%(rotameric_sig1[uc][(i,j)] / np.pi * 180))
+            out.append("%.2f"%(sig2 / np.pi * 180))
+            out.append("%.2f"%(sig3 / np.pi * 180))
+            out.append("%.2f"%(rotameric_sig4[uc][(i,j)] / np.pi * 180))
+            outline = ' '.join(out)
+            out_stuff.append(outline)
+
+        else:
+          out = list()
+          out.append(aa_name)
+          out.append(str(-180 + i*10))
+          out.append(str(-180 + j*10))
+          out.append(str(int(n_data_points[(i,j)])))
+          out.append(' '.join([str(uc[0]), str(uc[1]), str(uc[2]), str(uc[3])]))
+          out.append("%.4f"%(rotameric_probabilities[uc][(i,j)]))
+          out.append("%.2f"%(rotameric_chi1[uc][(i,j)] / np.pi * 180))
+          out.append("%.2f"%(rotameric_chi2[uc][(i,j)] / np.pi * 180))
+          out.append("%.2f"%(rotameric_chi3[uc][(i,j)] / np.pi * 180))
+          out.append("%.2f"%(rotameric_chi4[uc][(i,j)] / np.pi * 180))
+          out.append("%.2f"%(rotameric_sig1[uc][(i,j)] / np.pi * 180))
+          out.append("%.2f"%(rotameric_sig2[uc][(i,j)] / np.pi * 180))
+          out.append("%.2f"%(rotameric_sig3[uc][(i,j)] / np.pi * 180))
+          out.append("%.2f"%(rotameric_sig4[uc][(i,j)] / np.pi * 180))
+          outline = ' '.join(out)
+          out_stuff.append(outline)
+
+  outfile = open(out_path, 'w')
+  outfile.write('\n'.join(out_stuff))
+  outfile.close()
+
+# read csv file (generated with fetch_data.py)
+data = open(data_file_path, 'r').readlines()
+
+# get data indices
+header = [item.strip() for item in data[0].split(',')]
+
+# will throw an error if not there
+rname_idx = header.index("rname")
+phi_idx = header.index("phi")
+psi_idx = header.index("psi")
+chi1_idx = header.index("chi1")
+chi2_idx = header.index("chi2")
+chi3_idx = header.index("chi3")
+chi4_idx = header.index("chi4")
+conf1_idx = header.index("conf1")
+conf2_idx = header.index("conf2")
+conf3_idx = header.index("conf3")
+conf4_idx = header.index("conf4")
+
+# helpers for parsing...
+str_c = ["GAUCHE_MINUS", "GAUCHE_PLUS", "TRANS", "NON_ROTAMERIC", "INVALID"]
+promod_c = [sidechain.GAUCHE_MINUS, sidechain.GAUCHE_PLUS, sidechain.TRANS, 
+            sidechain.NON_ROTAMERIC, sidechain.INVALID]
+
+# get the data
+aa_data = {"phi" : [], "psi" : [], "chi1" : [], "chi2" : [], "chi3" : [], 
+           "chi4" : [], "conf1" : [], "conf2" : [], "conf3" : [], "conf4" : []}
+
+for line in data[1:]:
+  split_line = [item.strip() for item in line.split(',')]
+  rname = split_line[rname_idx]
+  if rname == aa_name:
+    aa_data["phi"].append(float(split_line[phi_idx]))
+    aa_data["psi"].append(float(split_line[psi_idx]))
+    aa_data["chi1"].append(float(split_line[chi1_idx]))
+    aa_data["chi2"].append(float(split_line[chi2_idx]))
+    aa_data["chi3"].append(float(split_line[chi3_idx]))
+    aa_data["chi4"].append(float(split_line[chi4_idx]))
+    aa_data["conf1"].append(promod_c[str_c.index(split_line[conf1_idx])])
+    aa_data["conf2"].append(promod_c[str_c.index(split_line[conf2_idx])])
+    aa_data["conf3"].append(promod_c[str_c.index(split_line[conf3_idx])])
+    aa_data["conf4"].append(promod_c[str_c.index(split_line[conf4_idx])])
+
+# convert all dihedral angles into numpy arrays
+aa_data["phi"] = np.array(aa_data["phi"])
+aa_data["psi"] = np.array(aa_data["psi"])
+aa_data["chi1"] = np.array(aa_data["chi1"])
+aa_data["chi2"] = np.array(aa_data["chi2"])
+aa_data["chi3"] = np.array(aa_data["chi3"])
+aa_data["chi4"] = np.array(aa_data["chi4"])
+
+###############################################
+# GENERATE THE LIBRARY FOR DESIRED AMINO ACID #
+###############################################
+DoIt(aa_name, aa_data, n_bins, p_threshold_67, chi_threshold_67,
+     aa_name+".txt", non_rotameric_sampling=non_rotameric_sampling, 
+     non_rotameric_smooth_std = non_rotameric_smooth_std)
diff --git a/extras/data_generation/rotamer_library/do_lib.py b/extras/data_generation/rotamer_library/do_lib.py
new file mode 100644
index 0000000000000000000000000000000000000000..abb4ce3aa993f99454f851c26366eccf72076431
--- /dev/null
+++ b/extras/data_generation/rotamer_library/do_lib.py
@@ -0,0 +1,340 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+import os, math, sys
+import numpy as np
+from scipy.ndimage import gaussian_filter
+from promod3 import sidechain
+
+if len(sys.argv) != 3:
+  print "USAGE: ost do_lib.py <path_to_data> <library_out_path>" 
+  sys.exit(0)
+
+# the csv file you created with fetch_data.py
+data_file_path = sys.argv[1]
+
+# library will be dumped here using the SavePortable() method
+library_out_path = sys.argv[2]
+
+
+# default parametrization
+
+# Width of bins to sample for non rotameric dihedral angles (in degrees)
+# e.g. in case of GLN you'll have 360 / 30 = 12 conformations for the
+# terminal dihedral angle if you keep the default (30).
+non_rot_sampling = 30 
+
+# An initial pdf is generated for the non-rotameric chi angles. The pdf is
+# smoothed with a circular gaussian function with following standard 
+# deviation (in degrees)
+non_rot_smooth_std = 10
+
+def GetNonRotChiStats(chi, non_rot_sampling, symmetric, smooth_std):
+
+  # stupid check 
+  if 180 % non_rot_sampling != 0:
+    raise RuntimeError("180 must be dividable by non_rot_sampling!")
+
+  n_sampled_rotamers = 360 / non_rot_sampling
+  if symmetric:
+    n_sampled_rotamers = 180 / non_rot_sampling
+
+  # symmetric or not, we first fill in a histogram covering a range of 2 pi
+  n_histogram_bins = 2 * 360 
+  histogram = np.zeros(n_histogram_bins)
+  bin_size = 2*np.pi/n_histogram_bins
+
+  # we add up the histogram by weights as estimated with the mises distribution
+  angle_bins = np.clip(np.floor((chi + np.pi) / bin_size), 0, len(histogram)-1)
+  for angle_bin in angle_bins:
+    histogram[int(angle_bin)] += 1.0
+
+  # if we're dealing with a symmetric distribution, we simply add up the
+  # first and second half of the histogram. The histogram has then an angle
+  # range of [-pi,0.0[
+  if symmetric:
+    n_histogram_bins /= 2
+    histogram = np.add(histogram[:n_histogram_bins], 
+                       histogram[n_histogram_bins:])
+
+  # translate the smooth_std, which is in degree, to bins in the histogram
+  # and apply it with a simple gaussian filter
+  gaussian_std = float(smooth_std) / 180 * np.pi / bin_size
+  histogram = gaussian_filter(histogram, gaussian_std, mode="wrap")
+  histogram = histogram / sum(histogram)
+
+  # find the maximum element, as this is the center of the first "window"
+  # of width non_rot_sampling
+  max_idx = np.argmax(histogram)
+  current_angle = max_idx * bin_size - np.pi
+
+  # concatenate, so we dont have to care for circularity anymore
+  histogram = np.concatenate((histogram, histogram, histogram, histogram))
+  
+  rad_non_rot_sampling = float(non_rot_sampling) / 180 * np.pi
+  first_start_angle = current_angle - rad_non_rot_sampling / 2
+
+  if first_start_angle < -np.pi:
+    # With this first angle we would get an underflow...
+    # we did so many concatenatinons, that we can add 360 degrees, even for
+    # the symmetric case
+    current_angle += 2*np.pi
+
+  probabilities = np.zeros(n_sampled_rotamers)
+  mean_values = np.zeros(n_sampled_rotamers)
+  std_values = np.zeros(n_sampled_rotamers)
+
+  for i in range(n_sampled_rotamers):
+    start_angle = current_angle - rad_non_rot_sampling / 2
+    end_angle = current_angle + rad_non_rot_sampling / 2
+
+    start_bin = int((start_angle + np.pi) / bin_size)
+    end_bin = int((end_angle + np.pi) / bin_size)
+    local_values = histogram[start_bin:end_bin+1]
+    normalized_local_values = local_values / sum(local_values)
+    angle_values = np.linspace(start_angle, end_angle, len(local_values))
+
+    probabilities[i] = np.sum(local_values)
+    mean_values[i] = np.sum(np.multiply(normalized_local_values, angle_values))
+    squared_std = np.sum(np.multiply(np.square(angle_values - mean_values[i]), 
+                                               normalized_local_values))
+    std_values[i] = np.sqrt(squared_std)
+
+    current_angle += rad_non_rot_sampling
+
+  # The probabilities of all ranges should add up to one...
+  # however, depending on the rounding etc., this might not exactly be the case.
+  # All probabilities need an additional normalization in the end
+  probabilities /= np.sum(probabilities)
+
+  # due to the concatenation, we still have mean values > pi.
+  # let's enforce valid ranges...
+  for i in range(len(mean_values)):
+    while mean_values[i] > np.pi:
+      mean_values[i] -= 2*np.pi
+
+  return probabilities, mean_values, std_values
+
+def GetChiStats(chi):
+  # do the mean
+  a = np.sum(np.sin(chi))
+  b = np.sum(np.cos(chi))
+  mean_value = np.arctan2(a, b)
+  # do the std
+  diffs = np.minimum(np.minimum(np.absolute(chi - mean_value), 
+                                np.absolute(chi - (mean_value + 2*np.pi))), 
+                     np.absolute(chi - (mean_value - 2*np.pi)))
+  squared_std = np.sum(np.square(diffs)) / len(diffs)
+  return (mean_value, np.sqrt(squared_std))
+
+
+def DoIt(aa_name, data_file_path, library, non_rot_sampling = 30, 
+         non_rot_smooth_std = 10):
+
+  print "processing", aa_name
+  
+  # Parse CSV file
+  data = open(data_file_path, 'r').readlines()
+
+  # get data indices
+  header = [item.strip() for item in data[0].split(',')]
+
+  # will throw an error if not there
+  rname_idx = header.index("rname")
+  chi1_idx = header.index("chi1")
+  chi2_idx = header.index("chi2")
+  chi3_idx = header.index("chi3")
+  chi4_idx = header.index("chi4")
+  conf1_idx = header.index("conf1")
+  conf2_idx = header.index("conf2")
+  conf3_idx = header.index("conf3")
+  conf4_idx = header.index("conf4")
+  str_c = ["GAUCHE_MINUS", "GAUCHE_PLUS", "TRANS", "NON_ROTAMERIC", "INVALID"]
+  promod_c = [sidechain.GAUCHE_MINUS, sidechain.GAUCHE_PLUS, sidechain.TRANS, 
+              sidechain.NON_ROTAMERIC, sidechain.INVALID]
+
+  # get the data
+  aa_data = {"chi1" : [], "chi2" : [], "chi3" : [], "chi4" : [], 
+             "conf1" : [], "conf2" : [], "conf3" : [], "conf4" : []}
+  
+  for line in data[1:]:
+    split_line = [item.strip() for item in line.split(',')]
+    rname = split_line[rname_idx]
+    if rname == aa_name:
+      aa_data["chi1"].append(float(split_line[chi1_idx]))
+      aa_data["chi2"].append(float(split_line[chi2_idx]))
+      aa_data["chi3"].append(float(split_line[chi3_idx]))
+      aa_data["chi4"].append(float(split_line[chi4_idx]))
+      aa_data["conf1"].append(promod_c[str_c.index(split_line[conf1_idx])])
+      aa_data["conf2"].append(promod_c[str_c.index(split_line[conf2_idx])])
+      aa_data["conf3"].append(promod_c[str_c.index(split_line[conf3_idx])])
+      aa_data["conf4"].append(promod_c[str_c.index(split_line[conf4_idx])])
+  
+  # convert all dihedral angles into numpy arrays
+  aa_data["chi1"] = np.array(aa_data["chi1"])
+  aa_data["chi2"] = np.array(aa_data["chi2"])
+  aa_data["chi3"] = np.array(aa_data["chi3"])
+  aa_data["chi4"] = np.array(aa_data["chi4"])
+
+  # the configurations in aa_data are stored in four lists with keys 
+  # conf1, conf2... we translate that to a unique string
+  configurations = list()
+  for a, b, c, d in zip(aa_data["conf1"], aa_data["conf2"], 
+                        aa_data["conf3"], aa_data["conf4"]):
+    configurations.append("%i%i%i%i"%(int(a), int(b), int(c), int(d)))
+  unique_configurations = list(set(configurations))
+
+  # we need configuration dependent chix
+  conf_chi1 = dict()
+  conf_chi2 = dict()
+  conf_chi3 = dict()
+  conf_chi4 = dict()
+  rotameric_probabilities = dict()
+
+  for uc in unique_configurations:
+    indices = [i for i, c in enumerate(configurations) if c == uc]
+    conf_chi1[uc] = aa_data["chi1"][indices]
+    conf_chi2[uc] = aa_data["chi2"][indices]
+    conf_chi3[uc] = aa_data["chi3"][indices]
+    conf_chi4[uc] = aa_data["chi4"][indices]
+    rotameric_probabilities[uc] = float(len(indices)) / len(configurations)
+
+  rot_confs = [int(sidechain.TRANS), int(sidechain.GAUCHE_MINUS),
+               int(sidechain.GAUCHE_PLUS)] 
+
+  for uc in unique_configurations:
+
+    rotameric_chi1 = float("nan")
+    rotameric_sig1 = float("nan")
+    rotameric_chi2 = float("nan")
+    rotameric_sig2 = float("nan")
+    rotameric_chi3 = float("nan")
+    rotameric_sig3 = float("nan")
+    rotameric_chi4 = float("nan")
+    rotameric_sig4 = float("nan")
+
+    # do chi1
+    if int(uc[0]) in rot_confs:
+      mean, std = GetChiStats(conf_chi1[uc])
+      rotameric_chi1 = mean
+      rotameric_sig1 = std
+    # do chi2
+    if int(uc[1]) in rot_confs:
+      mean, std = GetChiStats(conf_chi2[uc])
+      rotameric_chi2 = mean
+      rotameric_sig2 = std
+    # do chi3
+    if int(uc[2]) in rot_confs:
+      mean, std = GetChiStats(conf_chi3[uc])
+      rotameric_chi3 = mean
+      rotameric_sig3 = std
+    # do chi4
+    if int(uc[3]) in rot_confs:
+      mean, std = GetChiStats(conf_chi4[uc])
+      rotameric_chi4 = mean
+      rotameric_sig4 = std
+
+    # so far we only treated rotameric dihedral angles. 
+    # ASN(chi2), ASP(chi2), PHE(chi2), TYR(chi2), HIS(chi2), TRP(chi2), 
+    # GLN(chi3) and GLU(chi3) exhibit so called non-rotameric degrees
+    # of freedom and require further sampling of their terminal 
+    # dihedral angle.
+    if aa_name in ["ASN", "ASP", "PHE", "TYR", "HIS", "TRP", "GLN", "GLU"]:
+      non_rotameric_chi_idx = 1
+      if aa_name in ["GLN", "GLU"]:
+        non_rotameric_chi_idx = 2
+      symmetric = False
+      if aa_name in ["ASP", "PHE", "TYR", "GLU"]:
+        symmetric = True
+      chi_angles = None
+      if non_rotameric_chi_idx == 1:
+        chi_angles = conf_chi2[uc]
+      elif non_rotameric_chi_idx == 2:
+        chi_angles = conf_chi3[uc]
+      probs, mean_values, std_values = GetNonRotChiStats(chi_angles,
+                                                         non_rot_sampling,
+                                                         symmetric, 
+                                                         non_rot_smooth_std)
+      for p, m, s in zip(probs, mean_values, std_values):
+        rot = sidechain.RotamerLibEntry(p*rotameric_probabilities[uc],
+                                        rotameric_chi1, rotameric_chi2,
+                                        rotameric_chi3, rotameric_chi4,
+                                        rotameric_sig1, rotameric_sig2,
+                                        rotameric_sig3, rotameric_sig4)
+        if non_rotameric_chi_idx == 1:
+          rot.chi2 = m
+          rot.sig2 = s
+        elif non_rotameric_chi_idx == 2:
+          rot.chi3 = m
+          rot.sig3 = s
+        lib.AddRotamer(sidechain.TLCToRotID(aa_name), rot)
+    else:
+      rot = sidechain.RotamerLibEntry(rotameric_probabilities[uc],
+                                      rotameric_chi1, rotameric_chi2,
+                                      rotameric_chi3, rotameric_chi4,
+                                      rotameric_sig1, rotameric_sig2,
+                                      rotameric_sig3, rotameric_sig4)
+      lib.AddRotamer(sidechain.TLCToRotID(aa_name), rot)
+
+
+
+lib = sidechain.RotamerLib()
+DoIt("ARG", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("ASN", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("ASP", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("GLN", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("GLU", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("LYS", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("SER", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("CYH", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("CYD", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("CYS", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("MET", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("TRP", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("TYR", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("THR", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("VAL", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("ILE", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("LEU", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("CPR", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("TPR", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("PRO", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("HIS", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+DoIt("PHE", data_file_path, lib, non_rot_sampling = non_rot_sampling, 
+     non_rot_smooth_std = non_rot_smooth_std)
+lib.MakeStatic()
+lib.SavePortable(library_out_path)
diff --git a/extras/data_generation/rotamer_library/fetch_data.py b/extras/data_generation/rotamer_library/fetch_data.py
new file mode 100644
index 0000000000000000000000000000000000000000..97ad79363270fe540dacdaab3b1f5f7ed69647ab
--- /dev/null
+++ b/extras/data_generation/rotamer_library/fetch_data.py
@@ -0,0 +1,202 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+import os
+from promod3 import sidechain
+import numpy as np
+
+# file of non redundant X-Ray structures. 
+# Get one at: http://dunbrack.fccc.edu/Guoli/pisces_download.php
+pisces_filename = "cullpdb_pc40_res1.6_R0.25_d180913_chains5877"
+
+# Directory from where to load the structures. 
+# Filename name of pisces entry 5XDTA in that directory should be: 5xdt.pdb.
+# Chain A gets then selected automatically at the data extraction step.
+# If you set the structure_dir to none, the file is automatically fetched from
+# rcsb but this takes much longer...
+structure_dir = None
+
+# filename for output data that will be in csv format
+out_path = "raw_data.csv"
+
+sidechain_data = dict()
+sidechain_data["ARG"] = list()
+sidechain_data["ASN"] = list()
+sidechain_data["ASP"] = list()
+sidechain_data["GLN"] = list()
+sidechain_data["GLU"] = list()
+sidechain_data["LYS"] = list()
+sidechain_data["SER"] = list()
+sidechain_data["CYH"] = list()
+sidechain_data["CYD"] = list()
+sidechain_data["CYS"] = list()
+sidechain_data["MET"] = list()
+sidechain_data["TRP"] = list()
+sidechain_data["TYR"] = list()
+sidechain_data["THR"] = list()
+sidechain_data["VAL"] = list()
+sidechain_data["ILE"] = list()
+sidechain_data["LEU"] = list()
+sidechain_data["CPR"] = list()
+sidechain_data["TPR"] = list()
+sidechain_data["PRO"] = list()
+sidechain_data["HIS"] = list()
+sidechain_data["PHE"] = list()
+
+dihedral_data = dict()
+for k in sidechain_data.keys():
+  dihedral_data[k] = list()
+
+infile = open(pisces_filename, 'r')
+data = infile.readlines()
+infile.close()
+
+for line in data[1:]:
+
+  pdb_id = line[:4]
+  chain_id = line[4]
+
+  print "processing", pdb_id
+
+  prot = None
+
+  try:
+    if structure_dir == None:
+      prot = io.LoadPDB(pdb_id.lower(), remote=True)
+    else:
+      prot = io.LoadPDB(os.path.join(structure_dir, pdb_id.lower() + ".pdb"))
+    prot = prot.Select("peptide=true and cname="+chain_id)
+  except:
+    print "Failed to get the structure! skip..."
+    continue
+
+  for r in prot.residues:
+
+    rname = r.GetName()
+    phi_handle = r.GetPhiTorsion()
+    psi_handle = r.GetPsiTorsion()
+    if not (phi_handle.IsValid() and psi_handle.IsValid()):
+      continue
+    phi = phi_handle.GetAngle()
+    psi = psi_handle.GetAngle()
+
+    # no processing of boring stuff
+    if rname == "ALA" or rname == "GLY":
+      continue
+
+    # do the special cases first
+    if rname == "CYS":
+      sg = r.FindAtom("SG")
+      
+      if not sg.IsValid():
+        continue
+  
+      close_atoms = prot.FindWithin(sg.GetPos(), 2.5)
+      disulfid = False
+ 
+      for a in close_atoms:
+        if a.name == "SG":
+          if a.GetResidue().GetHandle() != r.handle:
+            disulfid = True
+            break
+
+      if disulfid:
+        try:
+          rot_lib_entry = sidechain.RotamerLibEntry.FromResidue(r, sidechain.CYD)
+        except:
+          continue
+        sidechain_data["CYD"].append(rot_lib_entry)  
+        dihedral_data["CYD"].append((phi, psi))
+        sidechain_data["CYS"].append(rot_lib_entry)  
+        dihedral_data["CYS"].append((phi, psi))  
+
+      else:
+        try:
+          rot_lib_entry = sidechain.RotamerLibEntry.FromResidue(r, sidechain.CYH)
+        except:
+          continue
+        sidechain_data["CYH"].append(rot_lib_entry)    
+        dihedral_data["CYH"].append((phi, psi)) 
+        sidechain_data["CYS"].append(rot_lib_entry)  
+        dihedral_data["CYS"].append((phi, psi)) 
+
+    elif rname == "PRO":
+      rprev = r.handle.GetPrev()
+      if not rprev.IsValid():
+        continue
+      if not mol.InSequence(rprev, r.handle):
+        continue
+      
+      caprev = rprev.FindAtom("CA")
+      cprev = rprev.FindAtom("C")
+      n = r.FindAtom("N")
+      ca = r.FindAtom("CA")
+
+      if not (caprev.IsValid() and cprev.IsValid() and n.IsValid() and ca.IsValid()):
+        continue
+
+      omega = geom.DihedralAngle(caprev.GetPos(), cprev.GetPos(), n.GetPos(), ca.GetPos())
+
+      if abs(omega) > 90.0 / 180 * np.pi:
+        try:
+          rot_lib_entry = sidechain.RotamerLibEntry.FromResidue(r, sidechain.TPR)
+        except:
+          continue
+        sidechain_data["TPR"].append(rot_lib_entry)
+        dihedral_data["TPR"].append((phi, psi))
+        sidechain_data["PRO"].append(rot_lib_entry)
+        dihedral_data["PRO"].append((phi, psi))
+      else:
+        try:
+          rot_lib_entry = sidechain.RotamerLibEntry.FromResidue(r, sidechain.CPR)
+        except:
+          continue
+        sidechain_data["CPR"].append(rot_lib_entry)
+        dihedral_data["CPR"].append((phi, psi))
+        sidechain_data["PRO"].append(rot_lib_entry)
+        dihedral_data["PRO"].append((phi, psi))
+
+    else:
+      # we don't process exotic stuff...
+      if rname not in sidechain_data:
+        continue
+      rot_id = sidechain.TLCToRotID(rname)
+      try:
+        rot_lib_entry = sidechain.RotamerLibEntry.FromResidue(r, rot_id)
+      except:
+        # not all atoms present...
+        continue
+      sidechain_data[rname].append(rot_lib_entry)
+      dihedral_data[rname].append((phi, psi))
+
+# data output
+file_content = ["rname, phi, psi, chi1, chi2, chi3, chi4, conf1, conf2, conf3, conf4"]
+for rname, entry_list in sidechain_data.iteritems():
+  rot_id = sidechain.TLCToRotID(rname)
+  for e, dihedral_angles in zip(entry_list, dihedral_data[rname]):
+    temp = [rname, "%.4f"%(dihedral_angles[0]), "%.4f"%(dihedral_angles[1]), 
+            "%.4f"%(e.chi1), "%.4f"%(e.chi2), "%.4f"%(e.chi3), "%.4f"%(e.chi4),
+            str(sidechain.GetDihedralConfiguration(e, rot_id, 0)),
+            str(sidechain.GetDihedralConfiguration(e, rot_id, 1)),
+            str(sidechain.GetDihedralConfiguration(e, rot_id, 2)),
+            str(sidechain.GetDihedralConfiguration(e, rot_id, 3))]
+
+    file_content.append(','.join(temp))
+
+outfile = open(out_path, 'w')
+outfile.write('\n'.join(file_content))
+outfile.close()
+
diff --git a/extras/data_generation/rotamer_library/penultimate.csv b/extras/data_generation/rotamer_library/penultimate.csv
deleted file mode 100755
index 8f4e358125c69728d11444394ebb7385d90b6da0..0000000000000000000000000000000000000000
--- a/extras/data_generation/rotamer_library/penultimate.csv
+++ /dev/null
@@ -1,211 +0,0 @@
-#This file is simply copied and pasted from the online publication...
-#Note, that it can't be changed anymore, so the according script can
-#parse it in a simple manner...
-
-Arginine, , , , , , , , , , , , , , , , , 
-ptp85°b,3,<1%c,0%,1%,<1%, ,62, ,180, ,65, ,85, , , , 
-ptp180°,11,1%,0%,2%,2%,71,62,171,180,65,65,-161,-175,14,17,10,13
-ptt85°,16,2%,1%,2%,2%,65,62,-178,180,-179,180,88,85,13,14,13,17
-ptt180°,16,2%,1%,2%,2%,59,62,176,180,-178,180,-177,180,15,13,15,19
-ptt-85°,15,2%,1%,2%,2%,66,62,-176,180,-178,180,-83,-85,15,14,12,14
-ptm180°,6,1%,0%,1%,1%, ,62, ,180, ,-65, ,175, , , , 
-ptm-85°,5,1%,0%,0%,1%, ,62, ,180, ,-65, ,-85, , , , 
-tpp85°,11,1%,3%,1%,<1%,-178,-177,57,65,57,65,85,85,13,13,12,15
-tpp180°,8,1%,1%,0%,1%, ,-177, ,65, ,65, ,-175, , , , 
-tpt85°,20,2%,3%,2%,2%,177,-177,64,65,180,180,86,85,14,13,15,14
-tpt180°,15,2%,3%,1%,1%,179,-177,60,65,178,180,163,180,13,17,14,17
-ttp85°,33,4%,5%,3%,3%,-179,-177,177,180,65,65,83,85,14,17,13,15
-ttp180°,25,3%,5%,3%,1%,-178,-177,-178,180,65,65,-162,-175,14,16,14,26
-ttp-105°,9,1%,1%,1%,1%, ,-177, ,180, ,65, ,-105, , , , 
-ttt85°,19,2%,2%,2%,2%,-175,-177,176,180,179,180,83,85,14,14,13,14
-ttt180°,33,4%,3%,7%,3%,-179,-177,177,180,-179,180,170,180,15,13,12,27
-ttt-85°,26,3%,3%,3%,2%,-179,-177,179,180,180,180,-86,-85,15,14,14,15
-ttm105°,10,1%,2%,1%,<1%,-178,-177,170,180,-66,-65,107,105,15,16,15,15
-ttm180°,13,1%,<1%,4%,1%,180,-177,-178,180,-67,-65,176,175,15,12,11,15
-ttm-85°,28,3%,3%,3%,3%,-175,-177,-178,180,-65,-65,-84,-85,14,16,15,14
-mtp85°,22,2%,2%,3%,2%,-69,-67,177,180,64,65,84,85,13,17,13,13
-mtp180°,45,5%,4%,3%,6%,-65,-67,176,180,64,65,-174,-175,12,19,13,19
-mtp-105°,7,1%,0%,2%,1%,-62,-67,179,180,67,65,-113,-105,11,15,13,15
-mtt85°,34,4%,4%,4%,3%,-67,-67,178,180,179,180,83,85,12,19,13,19
-mtt180°,89,9%,9%,5%,12%,-67,-67,-178,180,-177,180,174,180,14,13,13,21
-mtt-85°,53,6%,4%,7%,6%,-66,-67,-177,180,-179,180,-83,-85,13,13,13,13
-mtm105°,15,2%,1%,1%,2%,-68,-67,-179,180,-65,-65,103,105,12,13,13,15
-mtm180°,48,5%,1%,4%,8%,-68,-67,173,180,-64,-65,180,175,14,17,13,30
-mtm-85°,54,6%,13%,2%,3%,-69,-67,-167,-167,-63,-65,-86,-85,14,13,13,13
-mmt85°,7,1%,1%,1%,1%, ,-62, ,-68, ,180, ,85, , , , 
-mmt180°,18,2%,1%,3%,2%,-63,-62,-66,-68,-179,180,-168,180,13,13,10,29
-mmt-85°,22,2%,<1%,4%,3%,-60,-62,-72,-68,-178,180,-92,-85,14,13,15,13
-mmm180°,11,1%,<1%,2%,2%,-64,-62,-74,-68,-67,-65,172,175,14,15,10,13
-mmm-85°,22,2%,2%,3%,3%,-62,-62,-64,-68,-61,-65,-82,-85,14,13,15,13
- , ,82%,79%,81%,84%, , , , , , , , , , , , 
- ,769/938d, ,234,146,389, , , , , , , , , , , , 
-Lysine, , , , , , , , , , , , , , , , , 
-ptpt,7,1%,0%,2%,<1%, ,62, ,180, ,68, ,180, , , , 
-pttp,13,1%,0%,1%,2%,63,62,-170,180,-177,180,72,65,13,14,14,11
-pttt,29,2%,0%,4%,3%,63,62,-178,180,178,180,-179,180,13,13,13,10
-pttm,8,1%,0%,1%,1%, ,62, ,180, ,180, ,-65, , , , 
-ptmt,5,<1%,0%,1%,<1%, ,62, ,180, ,-68, ,180, , , , 
-tptp,11,1%,1%,1%,1%,179,-177,59,68,163,180,60,65,13,12,10,11
-tptt,32,3%,5%,1%,2%,179,-177,62,68,173,180,171,180,10,10,13,14
-tptm,7,1%,1%,1%,<1%, ,-177, ,68, ,180, ,-65,14,9,12,10
-ttpp,12,1%,1%,<1%,1%, ,-177, ,180, ,68, ,65, , , , 
-ttpt,25,2%,2%,5%,1%,180,-177,179,180,78,68,179,180,14,12,14,14
-tttp,49,4%,5%,5%,3%,-177,-177,180,180,171,180,63,65,14,13,12,12
-tttt,162,13%,17%,19%,10%,-177,-177,178,180,179,180,180,180,13,13,15,13
-tttm,37,3%,4%,2%,3%,-177,-177,172,180,178,180,-72,-65,12,13,15,13
-ttmt,20,2%,2%,4%,1%,-175,-177,-174,180,-69,-68,179,180,14,14,10,15
-ttmm,5,<1%,1%,0%,<1%, ,-177, ,180, ,-68, ,-65, , , , 
-mptt,4,<1%,0%,0%,1%, ,-90, ,68, ,180, ,180, , , , 
-mtpp,12,1%,1%,1%,1%,-69,-67,-179,180,70,68,67,65,10,9,10,13
-mtpt,38,3%,4%,2%,3%,-69,-67,164,180,62,68,-179,180,12,13,11,9
-mttp,42,3%,2%,4%,4%,-67,-67,-176,180,174,180,76,65,13,13,14,14
-mttt,244,20%,23%,14%,21%,-67,-67,176,180,179,180,177,180,14,13,12,14
-mttm,56,5%,3%,5%,6%,-67,-67,-179,180,-179,180,-63,-65,13,12,13,14
-mtmt,40,3%,6%,2%,3%,-70,-67,-170,180,-66,-68,-175,180,12,13,14,13
-mtmm,12,1%,0%,1%,1%,-70,-67,-179,180,-66,-68,-64,-65,12,12,12,11
-mmtp,9,1%,<1%,0%,1%, ,-62, ,-68, ,180, ,65, , , , 
-mmtt,77,6%,3%,5%,8%,-58,-62,-61,-68,-177,180,-179,180,12,13,13,13
-mmtm,18,1%,1%,1%,2%,-59,-62,-69,-68,-176,180,-70,-65,14,12,10,15
-mmmt,10,1%,<1%,1%,1%,-59,-62,-58,-68,-75,-68,-174,180,12,13,10,15
- , ,81%,82%,80%,82%, , , , , , , , , , , , 
- ,984/1209, ,261,194,529,,,,,,,,,,,,
-Methionine, , , , , , , , , , , , , , , ,,
-ptp,12,2%,1%,3%,3%,68,62,-167,180,88,75, ,11,17,12,,
-ptm,17,3%,1%,6%,4%,67,62,174,180,-78,-75, ,9,10,9,,
-tpp,30,5%,8%,2%,5%,-177,-177,66,65,75,75, ,10,15,15,,
-tpt,9,2%,1%,4%,1%,179,-177,67,65,-179,180, ,9,8,9,,
-ttp,28,5%,7%,7%,2%,176,-177,178,180,73,75, ,10,11,11,,
-ttt,17,3%,5%,2%,2%,180,-177,171,180,174,180, ,9,9,19,,
-ttm,36,7%,3%,10%,8%,-177,-177,176,180,-78,-75, ,10,10,13,,
-mtp,92,17%,22%,10%,17%,-68,-67,177,180,72,75, ,10,12,14,,
-mtt,43,8%,9%,8%,7%,-67,-67,177,180,-178,180, ,10,13,15,,
-mtm,58,11%,12%,11%,9%,-67,-67,-177,180,-76,-75, ,12,11,16,,
-mmp,15,3%,3%,1%,4%,-64,-65,-63,-65,103,103, ,9,10,10,,
-mmt,10,2%,0%,2%,3%,-63,-65,-64,-65,180,180, ,12,14,19,,
-mmm,105,19%,21%,16%,19%,-66,-65,-60,-65,-67,-70, ,11,13,16,,
- , ,86%,91%,84%,83%, , , , , , , , , , ,,
- ,472/550, ,175,112,185, , , , , , , , , , ,,
-Glutamate, , , , , , , , , , , , , , , ,,
-pt-20°,80,5%,1%,9%,7%,63,62,-175,180,-18,-20,-90 to 90,14,13,23,,
-pm0°,32,2%,0%,0%,4%,71,70,-79,-80,5,0,-50 to 50,14,13,17,,
-tp10°,91,6%,10%,2%,6%,-177,-177,65,65,13,10,-10 to 90,14,13,17,,
-tt 0°,350,24%,25%,42%,18%,-177,-177,178,180,2,0,-90 to 90,14,14,30,,
-tm-20°,17,1%,1%,1%,1%, ,-177, ,-80, ,-25,-50 to 10,13,13,15,,
-mp0°,88,6%,<1%,2%,10%,-65,-65,85,85,-3,0,-60 to 60,14,13,25,,
-mt-10°,484,33%,36%,29%,32%,-67,-67,177,180,-10,-10,-90 to 90,13,16,25,,
-mm-40°,197,13%,19%,7%,12%,-65,-65,-58,-65,-40,-40,-90 to 30,14,14,25,,
- , ,91%,92%,92%,90%, , , , , , , , , , ,,
- ,1339/1470, ,394,225,720, , , , , , , , , , ,,
-Glutamine, , , , , , , , , , , , , , , ,,
-pt 20°,37,4%,1%,5%,6%,64,62,180,180,20,20,-90 to 90,13,14,16,,
-pm0°,15,2%,0%,1%,3%, ,70, ,-75, ,0,-60 to 60, , , ,,
-tp-100°,14,2%,4%,2%,<1%, ,-177, ,65, ,-100,-150 to 0, , , ,,
-tp60°,78,9%,13%,9%,7%,-175,-177,64,65,60,60,0 to 90,14,15,24,,
-tt 0°,140,16%,16%,29%,12%,-174,-177,173,180,-5,0,-90 to 90,14,13,40,,
-mp0°,24,3%,<1%,1%,5%, ,-65, ,85, ,0,-60 to 60, , , ,,
-mt-30°,304,35%,40%,26%,36%,-67,-67,177,180,-25,-25,-90 to 90,16,15,37,,
-mm-40°,127,15%,12%,13%,17%,-66,-65,-60,-65,-40,-40,-95 to 0,16,18,26,,
-mm100°,22,3%,4%,1%,2%, ,-65, ,-65, ,100,0 to 150, , , ,,
- , ,88%,89%,86%,88%, , , , , , , , , , ,,
- ,761/863, ,229,137,395, , , , , , ,χ2, , , ,,
-Aspartate, , , , , , , , , , , ,range, , , ,,
-p-10°,203,10%,1%,2%,13%,61,62,-4,-10, , ,-90 to 0,9,19, ,,
-p30°,194,9%,1%,5%,12%,65,62,9,30, , ,0 to 90,8,14, ,,
-t0°,438,21%,8%,44%,20%,-176,-177,1,0, , ,-50 to 50,12,30, ,,
-t70°,118,6%,11%,7%,4%,-179,-177,65,65, , ,50 to 90,12,18, ,,
-m-20°,1088,51%,77%,38%,47%,-71,-70,-15,-15, , ,-90 to 20,10,16, ,,
- , ,96%,97%,95%,96%, , , , , , , , , , ,,
- ,2041/2124, ,365,232,1444, , , , , , , , , , ,,
-Asparagine, , , , , , , , , , , , , , , ,,
-p-10°,103,7%,0%,1%,10%,63,62,-13,-10, , ,-90 to 0,8,9, ,,
-p30°,132,9%,<1%,7%,12%,64,62,34,30, , ,0 to 90,6,7, ,,
-t-20°,177,12%,5%,21%,12%,-174,-174,-20,-20, , ,-120 to 0,5,21, ,,
-t30°,228,15%,13%,18%,15%,-168,-177,31,30, , ,0 to 80,14,22, ,,
-m-20°,580,39%,65%,28%,33%,-71,-65,-23,-20, , ,-60 to 10,10,20, ,,
-m-80°,118,8%,8%,9%,8%,-71,-65,-76,-75, , ,-100 to -60,9,9, ,,
-m120°,58,4%,3%,3%,4%,-64,-65,132,120, , ,60 to 160,9,18, ,,
- , ,94%,95%,88%,95%, , , , , , , , , , ,,
- ,1396/1490, ,293,179,924,,,,,,,,,,,,
-Isoleucine, , , , , , , , , , , , ,,,,,
-pp,10,1%,<1%,1%,<1%, ,62, ,100, , ,,,,,,
-pt,216,13%,4%,13%,22%,61,62,171,170, ,10,10,,,,,
-tp,36,2%,2%,1%,4%,-169,-177,66,66, ,13,11,,,,,
-tt,127,8%,1%,8%,14%,-174,-177,167,165, ,13,11,,,,,
-mp,19,1%,0%,2%,1%, ,-65, ,100, , , ,,,,,
-mt,993,60%,81%,58%,41%,-66,-65,169,170, ,10,10,,,,,
-mm,242,15%,10%,16%,17%,-57,-57,-59,-60, ,10,10,,,,,
- , ,99%,99%,98%,99%, , , , , , , ,,,,,
- ,1643/1667, ,496,629,518, , , , , , , ,,,,,
-Leucine, , , , , , , , , , , , ,,,,,
-pp,21,1%,<1%,2%,1%, ,62, ,80, , , ,,,,,
-tp,750,29%,30%,36%,23%,177,-177,63,65, ,10,10,,,,,
-tt,49,2%,1%,3%,1%,-172,-172,147,145,120 to 180,9,9,,,,,
-mp,63,2%,1%,5%,2%,-85,-85,66,65,45 to 105,11,14,,,,,
-mt,1548,59%,62%,46%,66%,-65,-65,174,175, ,11,11,,,,,
- , ,93%,95%,93%,93%, , , , , , , ,,,,,
- ,2431/2602, ,836,644,951, , , , , , , ,,,,,
-Histidine, , , , , , , , , , , , ,,,,,
-p-80°,51,9%,0%,6%,13%,60,62,-75,-75,-120 to -50,10,12,,,,,
-p80°,26,4%,0%,4%,6%,61,62,78,80,50 to 120,13,10,,,,,
-t-160°,31,5%,5%,14%,1%,-178,-177,-163,-165,150 to -120,12,20,,,,,
-t-80°,64,11%,17%,9%,9%,-173,-177,-81,-80,-120 to -50,10,22,,,,,
-t60°,94,16%,24%,17%,12%,-178,-177,62,60,50 to 120,13,19,,,,,
-m-70°,174,29%,26%,30%,30%,-60,-65,-69,-70,-120 to -30,11,23,,,,,
-m170°,44,7%,9%,3%,9%,-63,-65,165,165,120 to -160,10,16,,,,,
-m80°,78,13%,14%,10%,14%,-66,-65,83,80,50 to 120,11,18,,,,,
- , ,94%,94%,92%,95%, , , , , , , ,,,,,
- ,562/598, ,124,143,295, , , , , , , ,,,,,
-Tryptophan, , , , , , , , , , , , ,,,,,
-p-90°,67,11%,2%,13%,14%,58,62,-87,-90,-130 to -60,12,10,,,,,
-p90°,34,6%,1%,9%,6%,60,62,92,90,60 to 130,12,8,,,,,
-t-105°,100,16%,27%,10%,14%,178,-177,-105,-105,-130 to -60,16,14,,,,,
-t90°,109,18%,28%,14%,15%,-178,-177,88,90,0 to 100,10,11,,,,,
-m-90°,31,5%,0%,7%,7%,-70,-65,-87,-90,-130 to -60,9,12,,,,,
-m0°,48,8%,15%,2%,8%,-66,-65,-4,-5,-40 to 20,9,20,,,,,
-m95°,195,32%,22%,43%,29%,-69,-65,95,95,60 to 130,11,19,,,,,
- , ,94%,95%,98%,92%, , , , , , , ,,,,,
- ,584/618, ,140,175,269, , , , , , , ,,,,,
-Tyrosine, , , , , , , , , , , , ,,,,,
-p90°,182,13%,1%,21%,12%,63,62,89,90,"60 to 90 -90 to -60",13,13,,,,,
-t80°,486,34%,55%,25%,30%,176,-177,77,80,"20 to 90 -90 to -75",11,14,,,,,
-m-85°,618,43%,26%,50%,45%,-65,-65,-87,-85,"50 to 90 -90 to -50",11,21,,,,,
-m-30°,124,9%,15%,4%,9%,-64,-65,-42,-30,"-50 to 0 0 to 50",11,18,,,,,
- , ,98%,97%,99%,97%, , , , , , , ,,,,,
- ,1410/1443, ,290,468,652, , , , ,"(for Tyr, Phe 90° = -90°)",, ,,,,,
-Phenylalanine, , , , , , , , , , , , ,,,,,
-p90°,202,13%,1%,24%,11%,59,62,88,90,"60 to 90 -90 to -60",11,11,,,,,
-t80°,522,33%,57%,18%,29%,177,-177,80,80,"20 to 90 -90 to -75",13,17,,,,,
-m-85°,697,44%,29%,51%,47%,-64,-65,-83,-85,"50 to 90 -90 to -50",12,17,,,,,
-m-30°,149,9%,12%,5%,11%,-64,-65,-19,-30,"-50 to 0 0 to 50",9,20,,,,,
- , ,98%,97%,99%,98%, , , , , , , ,,,,,
- ,1570/1599, ,389,514,667, , , , , , , ,,,,,
-Proline, , , , , , , , , , , , ,,,,,
-Cγ endo,379,44%,23%,54%,43%,30,30, , ,15 to 60,7, ,,,,,
-Cγ exo,372,43%,68%,28%,44%,-29,-30, , ,-60 to -15,6, ,,,,,
-"cis Cγ endo",56,6%,0%,1%,7%,31,30, , ,15 to 60,5, ,,,,,
- , ,93%,91%,84%,94%, , , , , , , ,,,,,
- ,807/928, ,20,57,730,,,,,,,,,,,,
-Threonine, , , , , , , , , ,,,,,,,,
-p,1200,49%,25%,31%,65%,59,62, ,10,,,,,,,,
-t,169,7%,0%,13%,6%,-171,-175, ,6,,,,,,,,
-m,1062,43%,74%,55%,29%,-61,-65, ,7,,,,,,,,
- , ,99%,100%,99%,99%, , , ,,,,,,,,,
- ,2431/2447, ,395,672,1364, , , ,,,,,,,,,
-Valine, , , , , , , , ,,,,,,,,,
-p,169,6%,2%,8%,8%,63,63,=“177”f,8,,,,,,,,
-t,1931,73%,90%,72%,63%,175,175,Err:501,8,,,,,,,,
-m,526,20%,7%,20%,28%,-64,-60,Err:501,7,,,,,,,,
- , ,99%,100%,99%,99%, , , ,,,,,,,,,
- ,2626/2649, ,622,1080,924, , , ,,,,,,,,,
-Serine, , , , , , , , ,,,,,,,,,
-p,1201,48%,33%,36%,55%,64,62, ,10,,,,,,,,
-t,541,22%,22%,34%,18%,178,-177, ,11,,,,,,,,
-m,714,29%,44%,29%,25%,-65,-65, ,9,,,,,,,,
- , ,98%,98%,100%,98%, , , ,,,,,,,,,
- ,2456/2498, ,350,485,1621, , , ,,,,,,,,,
-Cysteine, , , , , , , , ,,,,,,,,,
-p,64,23%,5%,23%,34%,55,62, ,14,,,,,,,,
-t,74,26%,20%,45%,21%,-177,-177, ,10,,,,,,,,
-m,142,50%,75%,32%,43%,-65,-65, ,11,,,,,,,,
- , ,99%,100%,100%,98%, , , ,,,,,,,,,
- ,280/285, ,85,65,130,,,,,,,,,,,,
diff --git a/extras/data_generation/rotamer_library/rotamer_lib_creation.cmd b/extras/data_generation/rotamer_library/rotamer_lib_creation.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..f1cb87ee6eb730145a73cc09292d5b12a2090e98
--- /dev/null
+++ b/extras/data_generation/rotamer_library/rotamer_lib_creation.cmd
@@ -0,0 +1,22 @@
+ost do_bbdep_lib.py raw_data.csv ARG
+ost do_bbdep_lib.py raw_data.csv ASN
+ost do_bbdep_lib.py raw_data.csv ASP
+ost do_bbdep_lib.py raw_data.csv GLN
+ost do_bbdep_lib.py raw_data.csv GLU
+ost do_bbdep_lib.py raw_data.csv LYS
+ost do_bbdep_lib.py raw_data.csv SER
+ost do_bbdep_lib.py raw_data.csv CYH
+ost do_bbdep_lib.py raw_data.csv CYD
+ost do_bbdep_lib.py raw_data.csv CYS
+ost do_bbdep_lib.py raw_data.csv MET
+ost do_bbdep_lib.py raw_data.csv TRP
+ost do_bbdep_lib.py raw_data.csv TYR
+ost do_bbdep_lib.py raw_data.csv THR
+ost do_bbdep_lib.py raw_data.csv VAL
+ost do_bbdep_lib.py raw_data.csv ILE
+ost do_bbdep_lib.py raw_data.csv LEU
+ost do_bbdep_lib.py raw_data.csv CPR
+ost do_bbdep_lib.py raw_data.csv TPR
+ost do_bbdep_lib.py raw_data.csv PRO
+ost do_bbdep_lib.py raw_data.csv HIS
+ost do_bbdep_lib.py raw_data.csv PHE
diff --git a/extras/data_generation/structure_db/README b/extras/data_generation/structure_db/README
index f86fa19e8c37a82083e61ecc780679ff606a4dbb..2286f335b4c01c5f7b6350327db905617bc151d7 100644
--- a/extras/data_generation/structure_db/README
+++ b/extras/data_generation/structure_db/README
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 We provide several scripts to obtain a StructureDB. 
 More information regarding the different steps you'll find in the comments
 in the corresponding scripts.
diff --git a/extras/data_generation/structure_db/assign_structure_profiles.py b/extras/data_generation/structure_db/assign_structure_profiles.py
index 2c14c44087fbd2a84be740c1f626565cfae81dd4..ed1b57098a16902876dc0085fc08d1e8f3f05f3b 100644
--- a/extras/data_generation/structure_db/assign_structure_profiles.py
+++ b/extras/data_generation/structure_db/assign_structure_profiles.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import os
 from promod3 import loop
 from ost import seq
diff --git a/extras/data_generation/structure_db/build_structure_db.py b/extras/data_generation/structure_db/build_structure_db.py
index 450899c4e2d2f9e95ee001cbaf19f6e2032543e5..a4b6252a1f68498713bee4d127b227a9d0051f1a 100644
--- a/extras/data_generation/structure_db/build_structure_db.py
+++ b/extras/data_generation/structure_db/build_structure_db.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from promod3 import loop
 import os
 import traceback
diff --git a/extras/data_generation/structure_db/create_structure_profiles.py b/extras/data_generation/structure_db/create_structure_profiles.py
index a0e335925a4ed4fa5ced2e07a44bd0b379da4bb8..eb00492e24de84e80509522a402a7f57aaf20997 100644
--- a/extras/data_generation/structure_db/create_structure_profiles.py
+++ b/extras/data_generation/structure_db/create_structure_profiles.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import os
 import sys
 from promod3 import loop
diff --git a/extras/data_generation/structure_db/get_data_from_smtl.py b/extras/data_generation/structure_db/get_data_from_smtl.py
index 7965046a728bd55260ab275073d7449ce7147db7..48806e713c9677b8ff8c4c35761f141793cdece3 100644
--- a/extras/data_generation/structure_db/get_data_from_smtl.py
+++ b/extras/data_generation/structure_db/get_data_from_smtl.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import time
 import os
 import pickle
diff --git a/extras/data_generation/structure_db/prepare_slurm_submission_structure_profiles.py b/extras/data_generation/structure_db/prepare_slurm_submission_structure_profiles.py
index d982a468161a2ccfbcceb994961f4f7e706f543d..d0e195c9555dbcea76b74d0e1fbcb4a4ec0bea86 100644
--- a/extras/data_generation/structure_db/prepare_slurm_submission_structure_profiles.py
+++ b/extras/data_generation/structure_db/prepare_slurm_submission_structure_profiles.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from promod3 import loop
 import os
 
diff --git a/extras/data_generation/torsion_sampler/train_torsion_sampler.py b/extras/data_generation/torsion_sampler/train_torsion_sampler.py
index 1c6eb9d809068664075f554c9aa8a1dde93db2f1..5e1181b51a80ab88bfee2b020a7ceffd52bfd1cc 100644
--- a/extras/data_generation/torsion_sampler/train_torsion_sampler.py
+++ b/extras/data_generation/torsion_sampler/train_torsion_sampler.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from promod3 import loop
 from ost import mol
 import os
diff --git a/extras/pre_commit/pm3_csc/__init__.py b/extras/pre_commit/pm3_csc/__init__.py
index 5c7540fe7a00cb9de5098adefb7e591f53f77673..d526e2ccc561f65cb13374753646fb3b92a63d0e 100644
--- a/extras/pre_commit/pm3_csc/__init__.py
+++ b/extras/pre_commit/pm3_csc/__init__.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Module to enforce ProMod3's coding policy.
 """
diff --git a/extras/pre_commit/pm3_csc/base.py b/extras/pre_commit/pm3_csc/base.py
index 4b0bc2efaf2f57f9b6e089a38006a6b96c5989ad..17a763716534776a87b9463189a966a0ec0875e7 100644
--- a/extras/pre_commit/pm3_csc/base.py
+++ b/extras/pre_commit/pm3_csc/base.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 This is a bunch of default functions for the coding style checker.
 """
diff --git a/extras/pre_commit/pm3_csc/filecheck/__init__.py b/extras/pre_commit/pm3_csc/filecheck/__init__.py
index 5ba0033bb887a15c1215a16c3588dcfed4ffb9a8..1d614bb5528fbe5dd31812b610874762f48b3943 100644
--- a/extras/pre_commit/pm3_csc/filecheck/__init__.py
+++ b/extras/pre_commit/pm3_csc/filecheck/__init__.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Module hosting the code/ file check system.
 """
diff --git a/extras/pre_commit/pm3_csc/filecheck/base.py b/extras/pre_commit/pm3_csc/filecheck/base.py
index 134a5069a9cdd868b2d190555411f84381b5dd72..95ab2274f992a4e2b9322eb87db537431dbd55a1 100644
--- a/extras/pre_commit/pm3_csc/filecheck/base.py
+++ b/extras/pre_commit/pm3_csc/filecheck/base.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Generic class for checking code from files.
 """
diff --git a/extras/pre_commit/pm3_csc/filecheck/ccode.py b/extras/pre_commit/pm3_csc/filecheck/ccode.py
index 6ac3e170c696cac9fed2f8809fa7410a1aa95a33..e5bfe8be8a20cbd45e975be1fdf79e43eb9225ed 100644
--- a/extras/pre_commit/pm3_csc/filecheck/ccode.py
+++ b/extras/pre_commit/pm3_csc/filecheck/ccode.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Checking C/ C++ code.
 """
diff --git a/extras/pre_commit/pm3_csc/filecheck/cmake.py b/extras/pre_commit/pm3_csc/filecheck/cmake.py
index 9bc06c24f7c5315da19f9ce9f17896929ea7538f..fde92de2138f904f40e9ce3d5a333942ebdae0de 100644
--- a/extras/pre_commit/pm3_csc/filecheck/cmake.py
+++ b/extras/pre_commit/pm3_csc/filecheck/cmake.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Checking CMake files.
 """
diff --git a/extras/pre_commit/pm3_csc/filecheck/python.py b/extras/pre_commit/pm3_csc/filecheck/python.py
index b307d84acd15b0479697dc3b10cd0654e517a7b8..692c42e03cd1621966938b9df5788caab116f49c 100644
--- a/extras/pre_commit/pm3_csc/filecheck/python.py
+++ b/extras/pre_commit/pm3_csc/filecheck/python.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Checking Python code.
 """
diff --git a/extras/pre_commit/pm3_csc/filecheck/rest.py b/extras/pre_commit/pm3_csc/filecheck/rest.py
index 315c2f86dfde1eb55012e147454bf298adcb6391..a3e5a4c62e0e6101da5cb7f47d3d8dfb3f47e0a2 100644
--- a/extras/pre_commit/pm3_csc/filecheck/rest.py
+++ b/extras/pre_commit/pm3_csc/filecheck/rest.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Checking reStructuredText docmentation files.
 """
diff --git a/extras/pre_commit/pm3_csc/filecheck/shellscript.py b/extras/pre_commit/pm3_csc/filecheck/shellscript.py
index 0175f25c0d8bee28783b851f441c99f37e938a7e..73a958957c95817d0d0f7c98a97c7b3a3c1f2f95 100644
--- a/extras/pre_commit/pm3_csc/filecheck/shellscript.py
+++ b/extras/pre_commit/pm3_csc/filecheck/shellscript.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Checking shell code files.
 """
diff --git a/extras/pre_commit/pm3_csc/filecheck/text.py b/extras/pre_commit/pm3_csc/filecheck/text.py
index 5ff81c3233f77677cc83cc759733dc1afb4b7a5f..d4b59f3721589d10b424f232e7897e24bff9aae3 100644
--- a/extras/pre_commit/pm3_csc/filecheck/text.py
+++ b/extras/pre_commit/pm3_csc/filecheck/text.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Checking just text.
 """
diff --git a/extras/pre_commit/pm3_csc/git.py b/extras/pre_commit/pm3_csc/git.py
index cba5c9c5f91667483144c0354737533470b9e0fe..cebe8327860f2dbffff7541d141ce816db0fd25d 100644
--- a/extras/pre_commit/pm3_csc/git.py
+++ b/extras/pre_commit/pm3_csc/git.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Keep all the functions calling git in one place.
 """
diff --git a/extras/pre_commit/pre-commit b/extras/pre_commit/pre-commit
index 1c216048ca4d9596f273ae5bcdd5c38414d1ad52..df8eb506803ee6c928d7451a5e359cd30fe95925 100644
--- a/extras/pre_commit/pre-commit
+++ b/extras/pre_commit/pre-commit
@@ -1,6 +1,22 @@
 #!/usr/bin/env python
 # pylint: disable=invalid-name
 
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import subprocess, sys, re, os, difflib
 
 # prevent creating .pyc files in the source directory
diff --git a/extras/sanity_checks/Makefile b/extras/sanity_checks/Makefile
index 454cab058d2dafb2d214cbdc1dc5f96382581e81..79d2b5862144b7926d6ba11628ad060085e67d85 100644
--- a/extras/sanity_checks/Makefile
+++ b/extras/sanity_checks/Makefile
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 ########
 # SETUP
 ########
diff --git a/extras/sanity_checks/README b/extras/sanity_checks/README
index 28977485bcb889baf193bd940597244513fdbec4..81bbd702a922c5ba1504ec3ab355ca54b25265e4 100644
--- a/extras/sanity_checks/README
+++ b/extras/sanity_checks/README
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 Check installation of PM3:
 ==========================
 
diff --git a/extras/sanity_checks/run_pipeline.py b/extras/sanity_checks/run_pipeline.py
index 4fd77a97db72a32b82ede9b5a164b121cf69f1a7..556ea8f82304f97e6172d9302ece99e87cd4a893 100644
--- a/extras/sanity_checks/run_pipeline.py
+++ b/extras/sanity_checks/run_pipeline.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import ost
 from ost import io, mol
 from promod3 import modelling
diff --git a/extras/sanity_checks/test_all.py b/extras/sanity_checks/test_all.py
index 73161a29ac9406235f447b77b25dac9717beadd1..d528c7a0acd0e7c826688bcd73c1b86cc6969b62 100644
--- a/extras/sanity_checks/test_all.py
+++ b/extras/sanity_checks/test_all.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import os
 import sys
 import unittest
diff --git a/extras/sanity_checks/test_cpp.cc b/extras/sanity_checks/test_cpp.cc
index 1d4a18c232ca7e8b4aa1fb2f4a7337d5546e038b..9c8e3365517e69d0dcf73637e9308cf2b4b8a6fe 100644
--- a/extras/sanity_checks/test_cpp.cc
+++ b/extras/sanity_checks/test_cpp.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 // Test code for low-level ProMod3 features
 
 #include <ost/base.hh>
diff --git a/extras/sanity_checks/test_module.py b/extras/sanity_checks/test_module.py
index 78437c9e362c62d8852d3bd4a0a0b21e36369fe8..db97a6d249431ce36feb6f82e0fa32d7a7c4a661 100644
--- a/extras/sanity_checks/test_module.py
+++ b/extras/sanity_checks/test_module.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import promod3
 
 print "ProMod3-version =", promod3.__version__
diff --git a/extras/scoring_weight_training/README b/extras/scoring_weight_training/README
index 523a8ecd3bc4c03f70ce43b2a2d4b7885b3c0004..3c6db6b77663e2fe55690fe2586d0d444eb758a6 100644
--- a/extras/scoring_weight_training/README
+++ b/extras/scoring_weight_training/README
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 This folder contains scripts that were used to train weights for the scoring
 functions used in loop selection in the pipeline. You need a compiled and
 working version of ProMod3 to run these scripts. Scripts are provided as-is!
diff --git a/extras/scoring_weight_training/analyze_bft_candidates.py b/extras/scoring_weight_training/analyze_bft_candidates.py
index 27a12999478a9c75aba44878f20e02f187ba654f..1c1d28690117b22c9320356ef0d9b66fbbd48a4f 100644
--- a/extras/scoring_weight_training/analyze_bft_candidates.py
+++ b/extras/scoring_weight_training/analyze_bft_candidates.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: analyze number of loop candidates in BFT (also considering within_bounds)
 IN:
diff --git a/extras/scoring_weight_training/analyze_bft_score_correlations.py b/extras/scoring_weight_training/analyze_bft_score_correlations.py
index c066cdbc6fdee0ba5be883529f91ad2a22d68cfc..a399df014ca329be042963d464bed0afa88833af 100644
--- a/extras/scoring_weight_training/analyze_bft_score_correlations.py
+++ b/extras/scoring_weight_training/analyze_bft_score_correlations.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: analyze correlation of scores to ca_rmsd
 IN:
diff --git a/extras/scoring_weight_training/analyze_bft_scores.py b/extras/scoring_weight_training/analyze_bft_scores.py
index 423f9d92b3a08ea45ff92406368dc5097a4d64b0..a8abdf597f7ea63cbbc0db5fddb494f3d67f77c6 100644
--- a/extras/scoring_weight_training/analyze_bft_scores.py
+++ b/extras/scoring_weight_training/analyze_bft_scores.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: analyze performance of single scores and effect of within_bounds
 -> need to manually tune wb_mode variable below to check within_bounds
diff --git a/extras/scoring_weight_training/analyze_weights.py b/extras/scoring_weight_training/analyze_weights.py
index 719bdc7354bdb2ef9ff122efda90ad5be1c61219..d04d40a776bdcec8ef8bd921cff45cf7b24452f9 100644
--- a/extras/scoring_weight_training/analyze_weights.py
+++ b/extras/scoring_weight_training/analyze_weights.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: analyze optimized scoring weights
 IN:
diff --git a/extras/scoring_weight_training/collect_optimized_weights.py b/extras/scoring_weight_training/collect_optimized_weights.py
index 66c0dfba8b32d90d5e64641441c47977cf4c3f10..02544620abec130adbf7f33310a271a3f81c25bc 100644
--- a/extras/scoring_weight_training/collect_optimized_weights.py
+++ b/extras/scoring_weight_training/collect_optimized_weights.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: collect optimized weights from run_all_optimizations*.py
 IN: 
diff --git a/extras/scoring_weight_training/common.py b/extras/scoring_weight_training/common.py
index a46c419d7b54d331265e7a6040c52fdbee9f2135..f0bcf55b2a0c8e0a167907ee7528693962fdf91f 100644
--- a/extras/scoring_weight_training/common.py
+++ b/extras/scoring_weight_training/common.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''Common functionality for analysis scripts.'''
 
 import json, random
diff --git a/extras/scoring_weight_training/generate_bft.py b/extras/scoring_weight_training/generate_bft.py
index f7ae946a07b6c3fedd151dcd3f95d712fae25d8d..1687e0e24f9653fee838b68017c088ccb3393004 100644
--- a/extras/scoring_weight_training/generate_bft.py
+++ b/extras/scoring_weight_training/generate_bft.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: combine chunks into a single BFT
 IN:
diff --git a/extras/scoring_weight_training/generate_bft_chunks.py b/extras/scoring_weight_training/generate_bft_chunks.py
index c31ca52f887e7e6704e7a053a67d2ef4102cf17f..ef0bcdf35e0e7878feae0af1a52f67a46a06e000 100644
--- a/extras/scoring_weight_training/generate_bft_chunks.py
+++ b/extras/scoring_weight_training/generate_bft_chunks.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: extract a chunk of the BFT
 IN:
diff --git a/extras/scoring_weight_training/generate_bft_dbs.py b/extras/scoring_weight_training/generate_bft_dbs.py
index f6f931b357207094a059f8e42e70c8b7c99b90a5..863f922125b1a2b80d1aef301462b3ca83697be4 100644
--- a/extras/scoring_weight_training/generate_bft_dbs.py
+++ b/extras/scoring_weight_training/generate_bft_dbs.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: extract subset of DBs for clean scoring
 IN: fragments.json from generate_bft_testset.py
diff --git a/extras/scoring_weight_training/generate_bft_testset.py b/extras/scoring_weight_training/generate_bft_testset.py
index d7fc423f3eba8c0bb8b908ed2bd9268def37a135..ac46ce477ced492e7964d76e6844631dbbc6ee7c 100644
--- a/extras/scoring_weight_training/generate_bft_testset.py
+++ b/extras/scoring_weight_training/generate_bft_testset.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: extract loop examples from structure DB
 OUT: fragments.json: list of fragment infos ([chain_idx, offset, length])
diff --git a/extras/scoring_weight_training/generate_training_bft.py b/extras/scoring_weight_training/generate_training_bft.py
index bf46da2c4eb1390c01aeb10e6e665d3a37f9a40c..3d4b5984321db8a0bb54c73ee7167a34227f0e71 100644
--- a/extras/scoring_weight_training/generate_training_bft.py
+++ b/extras/scoring_weight_training/generate_training_bft.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: split BFT into training and test data
 IN:
diff --git a/extras/scoring_weight_training/get_weights_code.py b/extras/scoring_weight_training/get_weights_code.py
index d83bf463e77f272b7c053a48294b197a21759f7d..1716a2c340b8a848ba0e3b58acc5a66be53d8134 100644
--- a/extras/scoring_weight_training/get_weights_code.py
+++ b/extras/scoring_weight_training/get_weights_code.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: get code snippets for weights of interest
 IN:
diff --git a/extras/scoring_weight_training/optimize_weights.py b/extras/scoring_weight_training/optimize_weights.py
index 06ab7039bd71ecd10ae38db2fb4be8efa0b54973..e6c339c8f31aad2514edf2b251770bcf5902de4d 100644
--- a/extras/scoring_weight_training/optimize_weights.py
+++ b/extras/scoring_weight_training/optimize_weights.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: optimize weights for best possible AUC using Nelder-Mead method
 IN:
diff --git a/extras/scoring_weight_training/optimize_weights_cma.py b/extras/scoring_weight_training/optimize_weights_cma.py
index a1372aec26d59a02ef05e2700a458f7f897d6ff3..88870e37cf908fb163582d1540718256e0a1326d 100644
--- a/extras/scoring_weight_training/optimize_weights_cma.py
+++ b/extras/scoring_weight_training/optimize_weights_cma.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 GOAL: optimize weights for best possible AUC using CMA-ES
 IN:
diff --git a/extras/scoring_weight_training/run_all_optimizations.py b/extras/scoring_weight_training/run_all_optimizations.py
index 50d186251a41835ac948824572169b707c657e00..e979fc6d4e01a214a6f163da03817e6817adbbe2 100644
--- a/extras/scoring_weight_training/run_all_optimizations.py
+++ b/extras/scoring_weight_training/run_all_optimizations.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import os, json
 
 ###############################################################################
diff --git a/extras/scoring_weight_training/run_array_job.sh b/extras/scoring_weight_training/run_array_job.sh
index 1790bdc13352764f1fb3a39de1389215c8e841ff..7ea7ef6ac67b1fffc005c1de5615efcd4871cc75 100644
--- a/extras/scoring_weight_training/run_array_job.sh
+++ b/extras/scoring_weight_training/run_array_job.sh
@@ -11,7 +11,6 @@ ml Boost/1.53.0-goolf-1.4.10-Python-2.7.5
 ml Python/2.7.5-goolf-1.4.10
 ml numpy/1.9.1-goolf-1.4.10-Python-2.7.5
 ml OpenMM/6.1-Linux64
-ml dssp/2.2.1-goolf-1.4.10-Boost-1.53.0
 
 export PROMOD3_ROOT=/scicore/home/schwede/taurielg/ProMod3/build/stage
 
diff --git a/extras/test_code/test.cc b/extras/test_code/test.cc
index 59d7963bd48741d4c57b693d97ca869db0b36f19..7920788f06cdfa792e9a8ece3ac9d212a3c26083 100644
--- a/extras/test_code/test.cc
+++ b/extras/test_code/test.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 // Test code for low-level ProMod3 features
 
 #include <ost/base.hh>
diff --git a/loop/data/convert_binaries.py b/loop/data/convert_binaries.py
index 8c2653f6abbf7f3b4fa759d22829cb8ebcb43b31..57171075c54e59cc990517f200765c43ee95a347 100644
--- a/loop/data/convert_binaries.py
+++ b/loop/data/convert_binaries.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''Convert files from portable to raw.'''
 import sys
 import os
diff --git a/loop/doc/all_atom.rst b/loop/doc/all_atom.rst
index b2f19a81997933e3ac1815f2a7759cb0f8b06613..eaeb294774c88c8f4c239fc493e2eb641ee7408f 100644
--- a/loop/doc/all_atom.rst
+++ b/loop/doc/all_atom.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Handling All Atom Positions
 ================================================================================
 
diff --git a/loop/doc/backbone.rst b/loop/doc/backbone.rst
index 15288fb3c55e5af3ff5a698fc8fc41a9223778a4..3acc2f8e1a2b74a97e559c050e71eb97c777802e 100644
--- a/loop/doc/backbone.rst
+++ b/loop/doc/backbone.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Representing Loops
 ================================================================================
 
@@ -143,7 +159,8 @@ The BackboneList class
     :type sequence:  :class:`str`
 
     :raises: :exc:`~exceptions.RuntimeError` if *sequence* contains a one letter
-             code which is not one of the 20 default amino acids.
+             code which is not one of the 20 default amino acids or size of 
+             *sequence* does not match.
 
 
   .. method:: Extract(from, to)
@@ -450,8 +467,8 @@ The BackboneList class
 
   .. method:: SetBackrub(index, primary_rot_angle, flanking_rot_angle_one, flanking_rot_angle_two)
 
-    Applies a backrub motion at residue defined by **index**. The first
-    rotation axis is defined by the CA positions from residues at
+    Applies a backrub motion [davis2006]_ at residue defined by **index**. 
+    The first rotation axis is defined by the CA positions from residues at
     **index** -1 and **index** +1. All atoms in between get rotated around this
     axis by **primary_rot_angle**. To restore the the hydrogen bond network
     of the two transformed oxygens, the backrub motion gets completed by
diff --git a/loop/doc/index.rst b/loop/doc/index.rst
index f60393092beaea6d8315036c82ee7dfb02b267d7..1b4199c068f6532d019465b011fb112ef140443f 100644
--- a/loop/doc/index.rst
+++ b/loop/doc/index.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.loop` - Loop Handling
 ================================================================================
 
diff --git a/loop/doc/load_loop_objects.rst b/loop/doc/load_loop_objects.rst
index 00365ca9dcbf02c832bd8ea7c018b31f5e99a78f..a8410bea4fa9ec2f5a7ff3ac96ed26d06f707aea 100644
--- a/loop/doc/load_loop_objects.rst
+++ b/loop/doc/load_loop_objects.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Loading Precomputed Objects
 ================================================================================
 
@@ -10,7 +26,7 @@ Several data objects are used throughout the loop module.
 .. method:: LoadTorsionSampler(seed=0)
 
   Loads and returns a torsion sampler with an amino acid grouping
-  as defined by Solis & Rachovsky [1] that has been trained on 
+  as defined by [solis2006]_ that has been trained on 
   non-redundant protein structures.
 
   :param seed:          Seed for internal random number generator
@@ -24,7 +40,7 @@ Several data objects are used throughout the loop module.
 .. method:: LoadTorsionSamplerCoil(seed=0)
 
   Loads and returns a torsion sampler with an amino acid grouping
-  as defined by Solis & Rachovsky [1] that has been trained on coil
+  as defined by [solis2006]_ that has been trained on coil
   residues of  non-redundant protein structures.
 
   :param seed:          Seed for internal random number generator
@@ -38,7 +54,7 @@ Several data objects are used throughout the loop module.
 .. method:: LoadTorsionSamplerHelical(seed=0)
 
   Loads and returns a torsion sampler with an amino acid grouping
-  as defined by Solis & Rachovsky [1] that has been trained on helical
+  as defined by [solis2006]_ that has been trained on helical
   residues of  non-redundant protein structures.
 
   :param seed:          Seed for internal random number generator
@@ -52,7 +68,7 @@ Several data objects are used throughout the loop module.
 .. method:: LoadTorsionSamplerExtended(seed=0)
 
   Loads and returns a torsion sampler with an amino acid grouping
-  as defined by Solis & Rachovsky [1] that has been trained on extended
+  as defined by [solis2006]_ that has been trained on extended
   residues of  non-redundant protein structures.
 
   :param seed:          Seed for internal random number generator
@@ -63,28 +79,22 @@ Several data objects are used throughout the loop module.
   :rtype:               :class:`TorsionSampler`
 
 
-.. method:: LoadFragDB()
-
-  Loads and returns a FragDB containing fragments up to the length of 14,
-  therefore capable of bridging gaps up to the length of 12.
+.. method:: LoadStructureDB()
 
-  :returns:             The Fragment database
-  :rtype:               :class:`FragDB`
+  Loads and returns a structure db containing roughly 21000 chains form the
+  PDB with seqid redundancy cutoff of 60%
 
-.. method:: LoadStructureDB(load_frequencies=True)
+  :returns:             The structure db
+  :rtype:               :class:`StructureDB`
 
-  Loads and returns a structure db containing roughly 24000 chains form the
-  PDB with redundancy cutoff of 90%
 
-  :param load_frequencies: If True, the full database including profile
-                           information gets loaded (see
-                           :meth:`StructureDB.Load`).
-  :type load_frequencies:  :class:`bool`
+.. method:: LoadFragDB()
 
-  :returns:             The structure db
-  :rtype:               :class:`StructureDB`
-  
+  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 :class:`StructureDB`
+  returned by :meth:`LoadStructureDB`.
 
-[1] A. D. Solis and S. Rackovsky. Improvement of statistical potentials and     
-    threading score functions using information maximization. 
-    Proteins, 62(4):892–908, Mar 2006.
+  :returns:             The Fragment database
+  :rtype:               :class:`FragDB`
+  
\ No newline at end of file
diff --git a/loop/doc/mm_system_creation.rst b/loop/doc/mm_system_creation.rst
index 7ad0c03a88e75d071685fbee47a3d5f88dcc6530..87b6fb05808a9d70e5e489638d087cd99d95c46c 100644
--- a/loop/doc/mm_system_creation.rst
+++ b/loop/doc/mm_system_creation.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Generate :mod:`ost.mol.mm` systems
 ================================================================================
 
diff --git a/loop/doc/structure_db.rst b/loop/doc/structure_db.rst
index a967d08a3823e6ae0eba26410ba7bdfa313ba358..b3089c7248bc40d5f4bd292125795b2edde82204 100644
--- a/loop/doc/structure_db.rst
+++ b/loop/doc/structure_db.rst
@@ -1,9 +1,25 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Structural Data
 ================================================================================
 
 .. currentmodule:: promod3.loop
 
-The structural database serves as a container for structural backbone and 
+The :class:`StructureDB` 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
 accession using matching stem geometry (see: :class:`FragDB`) or sequence
@@ -41,7 +57,7 @@ Defining Chains and Fragments
 .. class:: CoordInfo()
 
   The CoordInfo gets automatically generated when new chains are added to
-  the structural database. It contains internal information of how a 
+  a :class:`StructureDB`. It contains internal information of how a 
   connected stretch of residues is stored in the database.
 
   .. attribute:: id
@@ -68,17 +84,17 @@ Defining Chains and Fragments
 
     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.
+    stuff to the structure db. (:class:`int`)
 
   .. attribute:: shift
 
     Translation from original coordinates that has been applied before storing
-    structural information in db.
+    structural information in db. (:class:`ost.geom.Vec3`)
 
 
 .. class:: FragmentInfo(chain_index, offset, length)
 
-  The FragmentInfo defines any fragment in the structural database. If you 
+  The FragmentInfo defines any fragment in the :class:`StructureDB`. If you 
   implement your own accessor object, thats the information you want to store.
 
   :param chain_index:   Fills :attr:`chain_index`
@@ -89,8 +105,8 @@ Defining Chains and Fragments
 
   .. attribute:: chain_index
     
-    The index of the chain (defined by :class:`CoordInfo`) in the structure db 
-    this particle belongs to. (:class:`int`)
+    The index of the chain (defined by :class:`CoordInfo`) in the 
+    :class:`StructureDB` this particle belongs to. (:class:`int`)
 
   .. attribute:: offset
 
@@ -127,7 +143,7 @@ database, you might want to consider two things:
   to backbone coordinates and sequence.
   If you want to store all data possible, use All. If you only want a subset,
   you can combine some of the datatypes with a bitwise or operation 
-  (see example script for StructureDB). One important note:
+  (see example script for :class:`StructureDB`). One important note:
   If you enable AAFrequenciesStruct, the actual information is not automatically
   assigned. Only the according memory is allocated and set to zero, the actual 
   information must be assigned manually (see example script again...).
@@ -138,8 +154,8 @@ database, you might want to consider two things:
 
 .. class:: StructureDB(data_to_store)
 
-  Generates an empty StructureDB that can be filled with content through
-  :func:`AddCoordinates`. The information extracted there is defined by
+  Generates an empty :class:`StructureDB` that can be filled with content 
+  through :func:`AddCoordinates`. The information extracted there is defined by
   *data_to_store*. Have a look at the :class:`StructureDBDataType` 
   documentation and at the example script...
 
@@ -263,7 +279,7 @@ database, you might want to consider two things:
 
   .. method:: GetCoordIdx(id, chain_name)
 
-    :returns: The StructureDB indices (in [0, :meth:`GetNumCoords`-1]) of 
+    :returns: The :class:`StructureDB` indices (in [0, :meth:`GetNumCoords`-1]) 
               of all coords (connected stretches) with matching 
               *id* / *chain_name*.
     :rtype:   :class:`list` of :class:`int`
@@ -281,7 +297,7 @@ database, you might want to consider two things:
               index *idx*.
     :rtype:   :class:`CoordInfo`
 
-    :param idx: The StructureDB index (in [0, :meth:`GetNumCoords`-1])
+    :param idx: The :class:`StructureDB` index (in [0, :meth:`GetNumCoords`-1])
     :type idx:  :class:`int`
 
 
@@ -379,7 +395,8 @@ database, you might want to consider two things:
   .. method:: GetSolventAccessibilitites(fragment)
 
     :returns: Solvent accessibility for each residue of *fragment* in square A
-              as calculated by dssp.
+              as calculated by :meth:`~ost.mol.alg.Accessibility` when adding
+              the structure to the database.
     :rtype:   :class:`list` of :class:`float`
 
     :param fragment: Fragment definition from which to extract the solvent
@@ -472,7 +489,7 @@ database, you might want to consider two things:
              to make sure that you have no close homologue in the database.
     :rtype:  :class:`StructureDB`
 
-    :param indices: StructureDB indices to be added to the sub database (in [0,
+    :param indices: Indices of chains to be added to the sub database (in [0,
                     :meth:`GetNumCoords`-1])
     :type indices:  :class:`list`
 
@@ -532,14 +549,16 @@ This example illustrates how to create a custom FragDB based on a StructureDB:
 
   .. method:: GetAngularBinSize()
 
-    The size of the bins for the 4 angles describing the stem geometry and used to organize the fragments in the database.
+    The size of the bins for the 4 angles describing the stem geometry and used 
+    to organize the fragments in the database.
 
     :return:    The bin size in degrees
     :rtype:     :class:`int`
 
   .. method:: GetDistBinSize()
 
-    The size of the bins for the distance describing the stem geometry and used to organize the fragments in the database.
+    The size of the bins for the distance describing the stem geometry and used 
+    to organize the fragments in the database.
 
     :return:    The bin size
     :rtype:     :class:`float`
@@ -547,8 +566,13 @@ This example illustrates how to create a custom FragDB based on a StructureDB:
 
   .. method:: AddFragments(fragment_length, rmsd_cutoff, structure_db)
 
-    Iterates over all fragments of length **fragment_length** in the given structural database and adds them to the fragment database. Fragments will be skipped if there is already a fragment in the database that has an RMSD to the one being added smaller than **rmsd_cutoff**.
-    As the fragments are added they are organized in bins described by their length and the geometry of their N and C stem.
+    Iterates over all fragments of length **fragment_length** in 
+    **structure_db** and adds them to the fragment database. 
+    Fragments will be skipped if there is already a fragment in the database 
+    that has an RMSD smaller than **rmsd_cutoff**, where RMSD is calculated 
+    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.
 
     :param fragment_length:    The length of the fragments that should be added to the databse
     :param rmsd_cutoff:        The minimal RMSD between two fragments in the fragment database
@@ -560,7 +584,7 @@ This example illustrates how to create a custom FragDB based on a StructureDB:
 
   .. method:: PrintStatistics()
 
-    Prints statistics about the fragment databse, notably:
+    Prints statistics about the fragment database, notably:
 
     1. the number of different stem groups (number of bins used to group the
        fragments according to the geometry of their stem residues)
@@ -598,12 +622,12 @@ This example illustrates how to create a custom FragDB based on a StructureDB:
     :param loop_length:   The length of the fragments
     :type loop_length:    :class:`int`
 
-    :returns: True if fragments of given length exist. This function is quick.
+    :returns: True if fragments of given length exist.
     :rtype:   :class:`bool`
 
   .. method:: MaxFragLength()
 
-    :returns: Maximal fragment length contained in db. This function is quick.
+    :returns: Maximal fragment length contained in db.
     :rtype:   :class:`int`
 
   .. method:: SearchDB(n_stem, c_stem, frag_size, extra_bins=0)
@@ -635,7 +659,7 @@ In some cases you might want to use the :class:`StructureDB` to search
 for fragments that possibly represent the structural conformation of interest.
 The :class:`Fragger` searches a :class:`StructureDB` for n fragments, 
 that maximize a certain score and gathers a set of fragments with a guaranteed 
-structural diversity based on an rmsd_threshold. You can use the :class:`Fragger`
+structural diversity based on an rmsd threshold. You can use the :class:`Fragger`
 wrapped in a full fletched pipeline implemented in 
 :class:`~promod3.modelling.FraggerHandle` or search for fragments from scratch 
 using an arbitrary linear combination of scores:
@@ -882,7 +906,7 @@ The PsipredPrediction class
 
 .. class:: PsipredPrediction
 
-  A container for the secondary structure prediction by Psipred.
+  A container for the secondary structure prediction by PSIPRED [Jones1999]_.
 
   .. method:: PsipredPrediction()
     
@@ -974,11 +998,3 @@ The PsipredPrediction class
   .. method:: __len__()
 
     :returns:           Number of elements in container
-
-
-
-.. [soding2005] Söding J (2005). Protein homology detection by HMM-HMM comparison. Bioinformatics 21 (7): 951–960.
-.. [chakravarty1999] Chakravarty S, Varadarajan R (1999). Residue depth: a novel parameter for the analysis of protein structure and stability. Structure 7 (7): 723–732.
-.. [zhou2005] Zhou H, Zhou Y (2005). Fold Recognition by Combining Sequence Profiles Derived From Evolution and From Depth-Dependent Structural Alignment of Fragments. Proteins 58 (2): 321–328.
-.. [Jones1999] Jones DT (1999) Protein secondary structure prediction based on position-specific scoring matrices. J. Mol. Biol. 292: 195-202. 
-.. [kabsch1983] Kabsch W, Sander C (1983) Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers 22 2577-2637.
diff --git a/loop/doc/torsion_sampler.rst b/loop/doc/torsion_sampler.rst
index 0962c3563d62638c5948f7d6f08189b2fcf6a95b..8344079a5065f12c19e844f50be70636032ba365 100644
--- a/loop/doc/torsion_sampler.rst
+++ b/loop/doc/torsion_sampler.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Sampling Dihedral Angles
 ================================================================================
 
diff --git a/loop/pymod/__init__.py b/loop/pymod/__init__.py
index fc70505fd93e0ec4f2cfe0b6286935732beb3457..3d3a8d1f0794350f978d5a05ca341d721d226018 100644
--- a/loop/pymod/__init__.py
+++ b/loop/pymod/__init__.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """Initialise the loop module."""
 # geom needed for export_backbone
 from ost import geom
diff --git a/loop/pymod/export_all_atom_env.cc b/loop/pymod/export_all_atom_env.cc
index 8ebdf1229c8137bf69435b1c65b38f409c016c4c..552bc6135a4b9d328d13f7f6809b8f254245b3cd 100644
--- a/loop/pymod/export_all_atom_env.cc
+++ b/loop/pymod/export_all_atom_env.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/export_helper.hh>
 
diff --git a/loop/pymod/export_all_atom_positions.cc b/loop/pymod/export_all_atom_positions.cc
index d161f4b05551ca743457a978735e2d363d96dcf4..143020cdec7b2291c50c6e337e3ecfbfc47967e0 100644
--- a/loop/pymod/export_all_atom_positions.cc
+++ b/loop/pymod/export_all_atom_positions.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/export_helper.hh>
 
diff --git a/loop/pymod/export_amino_acid_atoms.cc b/loop/pymod/export_amino_acid_atoms.cc
index 5efcbd77c6b95be25b330f9dda5687a59b98934a..bd163ca2698cf0365de13dbd1fd9a14fb31e8c96 100644
--- a/loop/pymod/export_amino_acid_atoms.cc
+++ b/loop/pymod/export_amino_acid_atoms.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/message.hh>
 #include <promod3/core/export_helper.hh>
diff --git a/loop/pymod/export_backbone.cc b/loop/pymod/export_backbone.cc
index 6d97c8a7eddf9dc0544697e1e00c486e58d323b5..61265152fa088f9c7a2b91c633b8485f32a93c4c 100644
--- a/loop/pymod/export_backbone.cc
+++ b/loop/pymod/export_backbone.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/iterator.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
diff --git a/loop/pymod/export_forcefield_lookup.cc b/loop/pymod/export_forcefield_lookup.cc
index e1405f83bcbe27c0c3329726a3cd330be90c8847..7d56ce4239db3cbb8e9207bf5e4f2dc0a450edda 100644
--- a/loop/pymod/export_forcefield_lookup.cc
+++ b/loop/pymod/export_forcefield_lookup.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/message.hh>
 #include <promod3/core/export_helper.hh>
diff --git a/loop/pymod/export_frag_db.cc b/loop/pymod/export_frag_db.cc
index c4fc17f0fcf24c15a2e25c78483095c1c0d0bee0..c5b7c59925cec905fc7e1e2c0ba2869a5b34db9e 100644
--- a/loop/pymod/export_frag_db.cc
+++ b/loop/pymod/export_frag_db.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/core/export_helper.hh>
diff --git a/loop/pymod/export_fragger.cc b/loop/pymod/export_fragger.cc
index 4c4f8b5903eefddfaddefa6f7696de4a26c45f31..d6afcf0f9f0d07785046f02de58510865395dcb3 100644
--- a/loop/pymod/export_fragger.cc
+++ b/loop/pymod/export_fragger.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
diff --git a/loop/pymod/export_loop_object_loader.cc b/loop/pymod/export_loop_object_loader.cc
index fb6cb09087e4950cb473d4255fd2dc1ad5731ccb..48dcf12c5cb99e4e4d62390d6861ad30ea062285 100644
--- a/loop/pymod/export_loop_object_loader.cc
+++ b/loop/pymod/export_loop_object_loader.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/loop/loop_object_loader.hh>
 
diff --git a/loop/pymod/export_mm_system_creator.cc b/loop/pymod/export_mm_system_creator.cc
index a4f316c01ff0cc4ec4d1daed11625cb0e4cfb3c9..cffb7509271404be2fb8d39a9a83819da368fc02 100644
--- a/loop/pymod/export_mm_system_creator.cc
+++ b/loop/pymod/export_mm_system_creator.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/export_helper.hh>
 
diff --git a/loop/pymod/export_psipred_prediction.cc b/loop/pymod/export_psipred_prediction.cc
index fcdbb64b959b90b964898583d634ae54dba3b5a0..18eca538596823bd5ebe1bc3d6e5fc24c24e1a3d 100644
--- a/loop/pymod/export_psipred_prediction.cc
+++ b/loop/pymod/export_psipred_prediction.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
diff --git a/loop/pymod/export_structure_db.cc b/loop/pymod/export_structure_db.cc
index 954614498a7b99168f1c1598211a7be1e7a86889..a9f96d4629a10e8f32dbbc2915a63b94012f7c02 100644
--- a/loop/pymod/export_structure_db.cc
+++ b/loop/pymod/export_structure_db.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/core/export_helper.hh>
diff --git a/loop/pymod/export_torsion_sampler.cc b/loop/pymod/export_torsion_sampler.cc
index 286a70302f7be6f0c4ad3f350b078db0fb39fb6f..ead2f96d30e09d41df6ce5e14a86a11d228b3f27 100644
--- a/loop/pymod/export_torsion_sampler.cc
+++ b/loop/pymod/export_torsion_sampler.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
diff --git a/loop/pymod/wrap_loop.cc b/loop/pymod/wrap_loop.cc
index fd8a344e9450630fc028a11bb8d589996e2fb6a8..39aa16aeaa5ac7ada91bc8dc37904ccddad25c41 100644
--- a/loop/pymod/wrap_loop.cc
+++ b/loop/pymod/wrap_loop.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 
 void export_FragDB();
diff --git a/loop/src/all_atom_env.cc b/loop/src/all_atom_env.cc
index cef7b4eca18ebfd5ada74f84012cfd95807185f2..991e90c777445cdc80dd3328c1f41bf55a41a614 100644
--- a/loop/src/all_atom_env.cc
+++ b/loop/src/all_atom_env.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/all_atom_env.hh>
 #include <promod3/core/message.hh>
 #include <promod3/core/runtime_profiling.hh>
diff --git a/loop/src/all_atom_env.hh b/loop/src/all_atom_env.hh
index 66ead82b0d564e81dcf86b571823d6fbf5486080..f39cf74347df2bf7c99f104721f1e45470f79ed9 100644
--- a/loop/src/all_atom_env.hh
+++ b/loop/src/all_atom_env.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_LOOP_ALL_ATOM_ENV_HH
 #define PROMOD3_LOOP_ALL_ATOM_ENV_HH
 
diff --git a/loop/src/all_atom_positions.cc b/loop/src/all_atom_positions.cc
index 2dad21d0e0c802bd81cc771af31c4de0127a6db5..38976fed98a1016fc5cfd77397a1680bf1497c17 100644
--- a/loop/src/all_atom_positions.cc
+++ b/loop/src/all_atom_positions.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/all_atom_positions.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <promod3/core/geom_base.hh>
diff --git a/loop/src/all_atom_positions.hh b/loop/src/all_atom_positions.hh
index 3947d788eb5a91ad70927955eea94dc01f236b3f..03a2c2c9c952326b5629a8a269afc0943c6a1fba 100644
--- a/loop/src/all_atom_positions.hh
+++ b/loop/src/all_atom_positions.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_LOOP_ALL_ATOM_POSITIONS_HH
 #define PROMOD3_LOOP_ALL_ATOM_POSITIONS_HH
 
diff --git a/loop/src/amino_acid_atoms.cc b/loop/src/amino_acid_atoms.cc
index 9924dbbaa67cf73e7b83212aad05a2d1170c0590..66e5c3364e3f6739052cd60b30de3dd46a9cbc5c 100644
--- a/loop/src/amino_acid_atoms.cc
+++ b/loop/src/amino_acid_atoms.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/amino_acid_atoms.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <promod3/core/message.hh>
diff --git a/loop/src/amino_acid_atoms.hh b/loop/src/amino_acid_atoms.hh
index 7de3f538be80ba8100911f3719d3c19e562f0397..44b32de1d16f15f5f298dabd718fc906b965e0e2 100644
--- a/loop/src/amino_acid_atoms.hh
+++ b/loop/src/amino_acid_atoms.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines functionality to deal with all atoms of amino acids.
 ///
 /// - ...AtomIndex are used to index atoms of each amino acid. The backbone atom
diff --git a/loop/src/backbone.cc b/loop/src/backbone.cc
index edb4dd63c7dbbf09997f30d0395166e21a9104ad..35bc7e86a0de04cdf761e2fc71c3ec5057aea6d7 100644
--- a/loop/src/backbone.cc
+++ b/loop/src/backbone.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/backbone.hh>
 #include <promod3/loop/density_creator.hh>
 #include <ost/conop/processor.hh>
diff --git a/loop/src/backbone.hh b/loop/src/backbone.hh
index 70e3cb15fe838860bc2d5a4ad506475dc376c4b8..253bcd429305548c0c58b728921c43141eab658f 100644
--- a/loop/src/backbone.hh
+++ b/loop/src/backbone.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_BACKBONE_HH
 #define PM3_BACKBONE_HH
 
diff --git a/loop/src/bb_trace_param.cc b/loop/src/bb_trace_param.cc
index aa8dabef0de6ad1fb1db65f05ef9ba19a62ab748..9a3fa35e869e729da119fa9c7d13e76f756f3439 100644
--- a/loop/src/bb_trace_param.cc
+++ b/loop/src/bb_trace_param.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/bb_trace_param.hh>
 #include <promod3/core/message.hh>
 
diff --git a/loop/src/bb_trace_param.hh b/loop/src/bb_trace_param.hh
index 392eb19657c5682efbc799fab50293cccff4912e..821e1ea7fefa7761ce36cb26164cd473dca52ca5 100644
--- a/loop/src/bb_trace_param.hh
+++ b/loop/src/bb_trace_param.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_BB_TRACE_PARAM_HH
 #define PM3_BB_TRACE_PARAM_HH
 
diff --git a/loop/src/data_bag.hh b/loop/src/data_bag.hh
index f6fa5919024bdcfa32dc9a54e896b85ca66ba1ad..f9926a483b11cb740bcc685e818b8df2a88ad4aa 100644
--- a/loop/src/data_bag.hh
+++ b/loop/src/data_bag.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_CORE_DATA_BAG_HH
 #define PM3_CORE_DATA_BAG_HH
 
diff --git a/loop/src/dense_hash_table.hh b/loop/src/dense_hash_table.hh
index 884c7c3fa5ae9831dd4a2052cca832f9f047c046..ec9f573a09688bcf7f69dcd5ee0e204f360e2bc6 100644
--- a/loop/src/dense_hash_table.hh
+++ b/loop/src/dense_hash_table.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_LOOP_DENSE_HASH_TABLE_HH
 #define PROMOD_LOOP_DENSE_HASH_TABLE_HH
 
diff --git a/loop/src/dense_map.hh b/loop/src/dense_map.hh
index 189c688cd1a76f70da9fa2a4e0a89c68306a15fb..b0ab0c0fd1fea31ce879553b158c404aa9f2fa10 100644
--- a/loop/src/dense_map.hh
+++ b/loop/src/dense_map.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_LOOP_DENSE_MAP_HH
 #define PROMOD_LOOP_DENSE_MAP_HH
 
diff --git a/loop/src/density_creator.cc b/loop/src/density_creator.cc
index 6e6d8575159c876b2a3faef9f3c851689f3af3f8..48ba28c5d3e3759b6a5472399b9cc237e41b8343 100644
--- a/loop/src/density_creator.cc
+++ b/loop/src/density_creator.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/density_creator.hh>
 #include <promod3/core/message.hh>
 
diff --git a/loop/src/density_creator.hh b/loop/src/density_creator.hh
index e317ef62d0c819c237c91e210d947c722989fd74..c65a8742bf00bcf8854818076cea9b8fe796a19d 100644
--- a/loop/src/density_creator.hh
+++ b/loop/src/density_creator.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_LOOP_DENSITY_CREATOR_HH
 #define PM3_LOOP_DENSITY_CREATOR_HH
 
diff --git a/loop/src/forcefield_lookup.cc b/loop/src/forcefield_lookup.cc
index e662afe4e529d2f6da17487e95290e40a5ea2062..0dbf5a57ec8d04dffaeef4df4cdde807d11356bf 100644
--- a/loop/src/forcefield_lookup.cc
+++ b/loop/src/forcefield_lookup.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <fstream>
 #include <promod3/loop/forcefield_lookup.hh>
 #include <promod3/core/portable_binary_serializer.hh>
diff --git a/loop/src/forcefield_lookup.hh b/loop/src/forcefield_lookup.hh
index f0d08b8975d0483c75dc36654cd6a769c0ca87eb..cf043ace433fd53e548bee7d244d1e334ed0dece 100644
--- a/loop/src/forcefield_lookup.hh
+++ b/loop/src/forcefield_lookup.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines functionality to deal with force fields.
 ///
 /// Here, we define:
diff --git a/loop/src/frag_db.cc b/loop/src/frag_db.cc
index 73f75b903efc17f72edbf402f63acd58e989ec9c..8bbe44523a4b37d6c73b555d1d4f084f79d4c25a 100644
--- a/loop/src/frag_db.cc
+++ b/loop/src/frag_db.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <fstream>
 #include <limits>
 #include <ost/mol/mol.hh>
diff --git a/loop/src/frag_db.hh b/loop/src/frag_db.hh
index 6bb3134df3e2084734a02dd8b5b27573ffa5b120..8df2c8b4cc3c76ee78d2388bb816b5d03053a198 100644
--- a/loop/src/frag_db.hh
+++ b/loop/src/frag_db.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_LOOP_FRAG_DB_HH
 #define PROMOD_LOOP_FRAG_DB_HH
 
diff --git a/loop/src/fragger.cc b/loop/src/fragger.cc
index aa6bc18dd72ad8699eddf2493eac9dfc2353ef48..e9db9731f8d5c171005b5665763f509ce8980fd5 100644
--- a/loop/src/fragger.cc
+++ b/loop/src/fragger.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/fragger.hh>
 
 // for raw serialization
diff --git a/loop/src/fragger.hh b/loop/src/fragger.hh
index b109770cc5d2ace6a75d4da6d08e24d8355a8c04..c83d7df913459205c33a3aa8a68973363fef04e2 100644
--- a/loop/src/fragger.hh
+++ b/loop/src/fragger.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_LOOP_FRAGGER_HH
 #define PROMOD_LOOP_FRAGGER_HH
 
diff --git a/loop/src/hydrogen_constructor.cc b/loop/src/hydrogen_constructor.cc
index 27718a746a1f408dcf3158e99da99ba779034114..3df6326d6a173e8a0b30049c29688ae5a694c76a 100644
--- a/loop/src/hydrogen_constructor.cc
+++ b/loop/src/hydrogen_constructor.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/hydrogen_constructor.hh>
 
 namespace promod3 { namespace loop {
diff --git a/loop/src/hydrogen_constructor.hh b/loop/src/hydrogen_constructor.hh
index 966a3a2064b19cfd258f6a67594aaee29d5d18b8..3ad2d3a97d28c712dab8c1c969d40887fff2dc9a 100644
--- a/loop/src/hydrogen_constructor.hh
+++ b/loop/src/hydrogen_constructor.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines functionality to construct hydrogens for amino acids.
 
 #ifndef PROMOD3_HYDROGEN_CONSTRUCTOR_HH
diff --git a/loop/src/hydrogen_rule_lookup.cc b/loop/src/hydrogen_rule_lookup.cc
index f1201c9f9b227a53df5517cb5c52eac0b44ba670..af209a9058eb8cd8e7307de287db4f5979424f9d 100644
--- a/loop/src/hydrogen_rule_lookup.cc
+++ b/loop/src/hydrogen_rule_lookup.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/hydrogen_rule_lookup.hh>
 
 namespace promod3 { namespace loop {
diff --git a/loop/src/hydrogen_rule_lookup.hh b/loop/src/hydrogen_rule_lookup.hh
index 43300434aeadc64c94725f152a28cb62b2fb8275..1114e3554f89812893b0c2237d6c332568ccc8fb 100644
--- a/loop/src/hydrogen_rule_lookup.hh
+++ b/loop/src/hydrogen_rule_lookup.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines rules to construct hydrogens for amino acids.
 
 #ifndef PROMOD3_HYDROGEN_RULE_LOOKUP_HH
diff --git a/loop/src/idx_handler.cc b/loop/src/idx_handler.cc
index dfc50c26c159112638e248fde20750fa17ba362c..688fdbbeb2104c7368a8e1f9effab2c9643ab78e 100644
--- a/loop/src/idx_handler.cc
+++ b/loop/src/idx_handler.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/idx_handler.hh>
 #include <promod3/core/message.hh>
 #include <ost/log.hh>
diff --git a/loop/src/idx_handler.hh b/loop/src/idx_handler.hh
index 193520286029bdf138bbd6c738a37405ef905d27..9cecb881e5f8f2338b03710371afb296d0117a31 100644
--- a/loop/src/idx_handler.hh
+++ b/loop/src/idx_handler.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_LOOP_IDX_HANDLER_HH
 #define PROMOD3_LOOP_IDX_HANDLER_HH
 
diff --git a/loop/src/loop_object_loader.cc b/loop/src/loop_object_loader.cc
index 4eeff56860e15a6603312f8fa62104ad1e3f87af..f05bd9dbc45bfb244fb1b5538daa3acd5198fb9a 100644
--- a/loop/src/loop_object_loader.cc
+++ b/loop/src/loop_object_loader.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/loop_object_loader.hh>
 #include <promod3/config.hh>
 #include <promod3/core/runtime_profiling.hh>
diff --git a/loop/src/loop_object_loader.hh b/loop/src/loop_object_loader.hh
index 0b89e68a50ba2f96e453d3a3d1aab52b2fbe6d21..b42a2ffe249c768fcc422391b3e76ab3f4954f68 100644
--- a/loop/src/loop_object_loader.hh
+++ b/loop/src/loop_object_loader.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_LOOP_OBJECT_LOADER_HH
 #define PROMOD3_LOOP_OBJECT_LOADER_HH
 
diff --git a/loop/src/mm_system_creator.cc b/loop/src/mm_system_creator.cc
index fdda4908ddbd0edaede2c01afc5e69f8caeb0f0b..6bdc36a4dd64e6b9407a81ac515ddfaeb975aa1e 100644
--- a/loop/src/mm_system_creator.cc
+++ b/loop/src/mm_system_creator.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/mm_system_creator.hh>
 
 #include <promod3/loop/hydrogen_constructor.hh>
diff --git a/loop/src/mm_system_creator.hh b/loop/src/mm_system_creator.hh
index 2602a27e8f752223f2aedc905a3b7b9f80d07318..dd4a41713e3d6103b3a275f14c1baf1cd5283913 100644
--- a/loop/src/mm_system_creator.hh
+++ b/loop/src/mm_system_creator.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_MM_SYSTEM_CREATOR_HH
 #define PROMOD3_MM_SYSTEM_CREATOR_HH
 
diff --git a/loop/src/paged_array.hh b/loop/src/paged_array.hh
index 3591e2915fb9b3acc07ce9ffd10720860ada420c..21c2cce8418d50494075cb01eb507e229876e13b 100644
--- a/loop/src/paged_array.hh
+++ b/loop/src/paged_array.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef OST_PAGED_ARRAY_HH
 #define OST_PAGED_ARRAY_HH
 
diff --git a/loop/src/psipred_prediction.cc b/loop/src/psipred_prediction.cc
index 00b3f460be3e9564c5d7eda160cbc9b31440ccb3..08251013ca1bebf8cbf3f112388d6e6f9ad405c0 100644
--- a/loop/src/psipred_prediction.cc
+++ b/loop/src/psipred_prediction.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/psipred_prediction.hh>
 
 namespace promod3{ namespace loop{
diff --git a/loop/src/psipred_prediction.hh b/loop/src/psipred_prediction.hh
index 31ff335c15ee553b6443a44f1b3addd75fb9276d..1b32ef591b21412aef43c05540b445d1ba5a262a 100644
--- a/loop/src/psipred_prediction.hh
+++ b/loop/src/psipred_prediction.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_LOOP_PSIPRED_PREDICTION_HH
 #define PROMOD_LOOP_PSIPRED_PREDICTION_HH
 
diff --git a/loop/src/sidechain_atom_constructor.cc b/loop/src/sidechain_atom_constructor.cc
index 0fb09cefbb5367fd9b24103448f62ee32a3db2dc..e1832ae3bb90d43df3acd79cfe118ee53a30aea9 100644
--- a/loop/src/sidechain_atom_constructor.cc
+++ b/loop/src/sidechain_atom_constructor.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/sidechain_atom_constructor.hh>
 #include <promod3/core/geom_base.hh>
 
diff --git a/loop/src/sidechain_atom_constructor.hh b/loop/src/sidechain_atom_constructor.hh
index 92b97f100d88fecb35447b9354991b2daaa0a9a9..0c6679e3a8d8e56623b383995db2275562eba768 100644
--- a/loop/src/sidechain_atom_constructor.hh
+++ b/loop/src/sidechain_atom_constructor.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines functionality to construct sidechain heavy atoms based on 
 ///        dihedral angles for amino acids.
 
diff --git a/loop/src/sidechain_atom_rule_lookup.cc b/loop/src/sidechain_atom_rule_lookup.cc
index 27d0b4f86b16d6eafd758e87bc4760c170e9bb56..70afd99afd898359ab34c39fd9780c8a2bced0aa 100644
--- a/loop/src/sidechain_atom_rule_lookup.cc
+++ b/loop/src/sidechain_atom_rule_lookup.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/sidechain_atom_rule_lookup.hh>
 #include <promod3/loop/amino_acid_atoms.hh>
 #include <ost/conop/amino_acids.hh>
diff --git a/loop/src/sidechain_atom_rule_lookup.hh b/loop/src/sidechain_atom_rule_lookup.hh
index 71805709bdccb274bf9a2c9d77f8f93ac785102d..38a35491938c689a1ee8ce69bbd93e9d7c50379a 100644
--- a/loop/src/sidechain_atom_rule_lookup.hh
+++ b/loop/src/sidechain_atom_rule_lookup.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 /// \brief Defines rules to construct sidechain heavy atoms from dihedral angles.
 
 #ifndef PROMOD3_SIDECHAIN_ATOM_RULE_LOOKUP_HH
diff --git a/loop/src/stem_geom.hh b/loop/src/stem_geom.hh
index a1d123c5375634eef346ea388a2e357ed8587441..b29565dacfa02f04db8e3fb982e76e3ed203d1a5 100644
--- a/loop/src/stem_geom.hh
+++ b/loop/src/stem_geom.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_MELD_FRAGMENT_HH
 #define PM3_MELD_FRAGMENT_HH
 
diff --git a/loop/src/structure_db.cc b/loop/src/structure_db.cc
index 7eb3fe33e6c722c526f44403d9f1c727c1c30cd1..b78558c11193b8b0af934e3183c26c7ee7afa71a 100644
--- a/loop/src/structure_db.cc
+++ b/loop/src/structure_db.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/structure_db.hh>
 #include <promod3/core/portable_binary_serializer.hh>
 #include <promod3/core/check_io.hh>
@@ -1331,8 +1347,41 @@ StructureDBPtr StructureDB::GetSubDB(const std::vector<uint>& indices) const{
 }
 
 void StructureDB::PrintStatistics() const{
-  std::cout << "number of chains      : " << coord_toc_.size() << std::endl;
-  std::cout << "number of backbone coords :"  << coords_.size() << std::endl;
+
+  std::cout << "db summary:" << std::endl << std::endl;
+  std::cout << "number of chains : " << coord_toc_.size() << std::endl;
+  std::cout << "number of backbone coords : "  << coords_.size() << std::endl;
+  std::cout << std::endl;
+
+  if(stored_data_ == 0) {
+    return;
+  }
+
+  std::cout << "db contains following optional data: " << std::endl << std::endl;
+
+  if(this->HasData(Dihedrals)) {
+    std::cout << "- backbone dihedral angles" << std::endl;
+  }
+
+  if(this->HasData(SolventAccessibilities)) {
+    std::cout << "- solvent accessibilities" << std::endl;
+  }
+
+  if(this->HasData(ResidueDepths)) {
+    std::cout << "- residue depths" << std::endl;
+  }
+
+  if(this->HasData(DSSP)) {
+    std::cout << "- dssp secondary structure assignments" << std::endl;
+  }
+
+  if(this->HasData(AAFrequencies)) {
+    std::cout << "- sequence profiles" << std::endl;
+  }
+
+  if(this->HasData(AAFrequenciesStruct)) {
+    std::cout << "- structure profiles" << std::endl;
+  }
 }
 
 ost::seq::ProfileHandlePtr StructureDB::GenerateStructureProfile(
diff --git a/loop/src/structure_db.hh b/loop/src/structure_db.hh
index a11db69ef12d31a3669ea5c986933ebadd94e640..228785d6c19ab6084783272cd5f9fff86deffefd 100644
--- a/loop/src/structure_db.hh
+++ b/loop/src/structure_db.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_LOOP_STRUCTURE_DB_HH
 #define PROMOD_LOOP_STRUCTURE_DB_HH
 
diff --git a/loop/src/structure_db_custom_types.hh b/loop/src/structure_db_custom_types.hh
index d636c7dbd21edb8a335fb91f51f4d2003a064548..49ec68b4867e0a95382d14fa83b09c37bf606c01 100644
--- a/loop/src/structure_db_custom_types.hh
+++ b/loop/src/structure_db_custom_types.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_LOOP_STRUCTURE_DB_CUSTOM_TYPES
 #define PROMOD_LOOP_STRUCTURE_DB_CUSTOM_TYPES
 
diff --git a/loop/src/torsion_sampler.cc b/loop/src/torsion_sampler.cc
index 11ee9137e8e5cd8d1af6b493d5f5f380bf28cb65..70d32064a3c7638d394b25209cbdb0ba670fc2d1 100644
--- a/loop/src/torsion_sampler.cc
+++ b/loop/src/torsion_sampler.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/torsion_sampler.hh>
 #include <promod3/core/check_io.hh>
 #include <promod3/core/portable_binary_serializer.hh>
diff --git a/loop/src/torsion_sampler.hh b/loop/src/torsion_sampler.hh
index d489e35c5fba307bf1fcb21bd92dba6c98d19bd3..4e5c9fd2f10fb3f5062319eac1f018e5ee32f759 100644
--- a/loop/src/torsion_sampler.hh
+++ b/loop/src/torsion_sampler.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_LOOP_TORSION_SAMPLER_HH
 #define PROMOD_LOOP_TORSION_SAMPLER_HH
 
diff --git a/loop/src/ushort_vec.hh b/loop/src/ushort_vec.hh
index 9016eff2fcdf4cc8d9c6e6ff2581542f4320ae65..6339c2ce524570f8b57b9c01afc4e2db3d7da30a 100644
--- a/loop/src/ushort_vec.hh
+++ b/loop/src/ushort_vec.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_USHORT_VEC_HH
 #define PROMOD_USHORT_VEC_HH
 
diff --git a/loop/tests/test_all_atom_env.cc b/loop/tests/test_all_atom_env.cc
index a3ecc8205a1916fee6c43c010102248c5128c706..0c2a45d3c4c1a7f2fc1965c4aec7e0922dbacabe 100644
--- a/loop/tests/test_all_atom_env.cc
+++ b/loop/tests/test_all_atom_env.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/all_atom_env.hh>
 #include <promod3/core/message.hh>
diff --git a/loop/tests/test_all_atom_positions.cc b/loop/tests/test_all_atom_positions.cc
index 14a21edaf8b21eb69c372bec36a20722c8880a6a..f50d5c5b40ee476385049e66059eca9857a1d71d 100644
--- a/loop/tests/test_all_atom_positions.cc
+++ b/loop/tests/test_all_atom_positions.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/all_atom_positions.hh>
 #include <promod3/core/message.hh>
diff --git a/loop/tests/test_amino_acid_atoms.cc b/loop/tests/test_amino_acid_atoms.cc
index a8b55b9d4829bb8cb54823816f66ac01ed4ecf7e..d4723925bbd0510426e36bf78a66ffea69145bf6 100644
--- a/loop/tests/test_amino_acid_atoms.cc
+++ b/loop/tests/test_amino_acid_atoms.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/amino_acid_atoms.hh>
 #include <promod3/core/message.hh>
diff --git a/loop/tests/test_backbone.cc b/loop/tests/test_backbone.cc
index 4b82781ca072c3ebd504f4a502a59e13a30a4958..8b7e31c938c78d32ce1d9d336436776960f1661f 100644
--- a/loop/tests/test_backbone.cc
+++ b/loop/tests/test_backbone.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/backbone.hh>
 #include <promod3/core/message.hh>
diff --git a/loop/tests/test_forcefield.cc b/loop/tests/test_forcefield.cc
index 1c7c54b9bf830681165657207ffb161522893fad..8c0722a397b01412f1413b52d43d3095836b25c2 100644
--- a/loop/tests/test_forcefield.cc
+++ b/loop/tests/test_forcefield.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/forcefield_lookup.hh>
 #include <promod3/core/message.hh>
diff --git a/loop/tests/test_hydrogens.cc b/loop/tests/test_hydrogens.cc
index 5d24f74da614f648defab26a9998fe61042263a1..523d10128b8df758752d9809dee468c4e2ffbeb9 100644
--- a/loop/tests/test_hydrogens.cc
+++ b/loop/tests/test_hydrogens.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/hydrogen_rule_lookup.hh>
 #include <promod3/loop/hydrogen_constructor.hh>
diff --git a/loop/tests/test_idx_handler.cc b/loop/tests/test_idx_handler.cc
index 1ae50995d44229053a85ea9c7280fef941d13726..a726fc2be0e34be231d4b60e6eed1b53d44121dd 100644
--- a/loop/tests/test_idx_handler.cc
+++ b/loop/tests/test_idx_handler.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/idx_handler.hh>
 #include <promod3/loop/backbone.hh>
diff --git a/loop/tests/test_mm_system_creator.cc b/loop/tests/test_mm_system_creator.cc
index b02651f48ec964ad680fda776d40e02125d595c1..0077c2a900b6d35f51ed7ec7ee2c95acfcd99d38 100644
--- a/loop/tests/test_mm_system_creator.cc
+++ b/loop/tests/test_mm_system_creator.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/mm_system_creator.hh>
 #include <promod3/core/message.hh>
diff --git a/loop/tests/test_psipred_prediction.cc b/loop/tests/test_psipred_prediction.cc
index 7053e5a1dc6eaf2f60ab062fca6765b0d13e632e..5dbc83c7ba8d5a08970886598342c328b733aa32 100644
--- a/loop/tests/test_psipred_prediction.cc
+++ b/loop/tests/test_psipred_prediction.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/psipred_prediction.hh>
 #include <promod3/core/message.hh>
 #define BOOST_TEST_DYN_LINK
diff --git a/loop/tests/test_sidechain_construction.cc b/loop/tests/test_sidechain_construction.cc
index 70c4ea2eaaff04530ffe3fdc2c613abc3a43d46b..2e65c53c7d40efce1db613e4d2836969429d6421 100644
--- a/loop/tests/test_sidechain_construction.cc
+++ b/loop/tests/test_sidechain_construction.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/sidechain_atom_rule_lookup.hh>
 #include <promod3/loop/sidechain_atom_constructor.hh>
diff --git a/loop/tests/test_structuredb.cc b/loop/tests/test_structuredb.cc
index 01cf26055402ab8a89363d2426287329d48a3dff..69715800d0b4bcbda3a3c70fef82a4d162cce1eb 100644
--- a/loop/tests/test_structuredb.cc
+++ b/loop/tests/test_structuredb.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/loop/structure_db.hh>
 #include <promod3/core/message.hh>
diff --git a/loop/tests/test_torsion_sampler.cc b/loop/tests/test_torsion_sampler.cc
index e956f094da3786b7a783e34f1d057e97598af5d6..af517a90beb8e9c6d989083895e71239757c4f6d 100644
--- a/loop/tests/test_torsion_sampler.cc
+++ b/loop/tests/test_torsion_sampler.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/loop/torsion_sampler.hh>
 #include <promod3/core/message.hh>
 #include <promod3/loop/loop_object_loader.hh>
diff --git a/loop/tests/tests.cc b/loop/tests/tests.cc
index 1ba3edee29d4c0accae2178df7e5dc482f294322..5757e0a2c6da50f5d690c41365dbb0913543503e 100644
--- a/loop/tests/tests.cc
+++ b/loop/tests/tests.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE promod3_loop
 #define BOOST_AUTO_TEST_MAIN
diff --git a/modelling/doc/algorithms.rst b/modelling/doc/algorithms.rst
index 7ff5ae3a33e08ccccdf6d98f87abe2748e1d0d19..51357bc0615a49e58f2ef12f3efad67eeb3b003d 100644
--- a/modelling/doc/algorithms.rst
+++ b/modelling/doc/algorithms.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Modelling Algorithms
 ================================================================================
 
diff --git a/modelling/doc/gap_handling.rst b/modelling/doc/gap_handling.rst
index e939f9f60fa779b43bfdb196e0649ebd28306a08..b70d39a57558559a9ee4f6240384ffdbeb4df34c 100644
--- a/modelling/doc/gap_handling.rst
+++ b/modelling/doc/gap_handling.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Handling Gaps
 ================================================================================
 
diff --git a/modelling/doc/index.rst b/modelling/doc/index.rst
index 27ed61013a17190ebef7f0afb0027241c0e19294..ce9be313f8c26c747a5e1d711c9bf44751ac8587 100644
--- a/modelling/doc/index.rst
+++ b/modelling/doc/index.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.modelling` - Protein Modelling
 ================================================================================
 
diff --git a/modelling/doc/loop_candidates.rst b/modelling/doc/loop_candidates.rst
index d0711c5a7c89292a61e3f1547ed28af62841382b..927107a0ddaa78b2bb6efe78b80c0f1dbc5aae1e 100644
--- a/modelling/doc/loop_candidates.rst
+++ b/modelling/doc/loop_candidates.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Handling Loop Candidates
 ================================================================================
 
diff --git a/modelling/doc/loop_closing.rst b/modelling/doc/loop_closing.rst
index 7ec7230b20a4e32fd9cc1f15a9e84ea7b549c113..21b842f5d1e25b00dc2f2cb863bf8124ccfb8f81 100644
--- a/modelling/doc/loop_closing.rst
+++ b/modelling/doc/loop_closing.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Fitting Loops Into Gaps
 ================================================================================
 
@@ -7,7 +23,7 @@ Loops often need to undergo conformational changes to fit into gaps defined by
 stem residues. |project| implements two algorithms performing this task:
 
   * Cyclic coordinate descent (CCD) [canutescu2003]_
-  * Kinematic closure (KIC) [mandell2009]_
+  * Kinematic closure (KIC) [coutsias2005]_
 
 In case of small gaps or small issues in the loop you might also consider the
 :class:`BackboneRelaxer`.
@@ -374,8 +390,4 @@ Example usage:
     :rtype:  :class:`~promod3.loop.MmSystemCreator`
 
 
-.. rubric:: Citations
-
-.. [canutescu2003] Canutescu AA and Dunbrack RL Jr. (2003). Cyclic coordinate descent: A robotics algorithm for protein loop closure. Protein Sci. 12(5):963–972.
 
-.. [mandell2009] Mandell DJ, Coutsias EA and Kortemme T (2009). Sub-angstrom accuracy in protein loop reconstruction by robotics-inspired conformational sampling. Nat Methods. 6(8):551-2.
diff --git a/modelling/doc/model_checking.rst b/modelling/doc/model_checking.rst
index 97d7f69a83735d2757ede0afee224f181afdd6d5..03763e178971929ce13573f5ac8d72dc6624434d 100644
--- a/modelling/doc/model_checking.rst
+++ b/modelling/doc/model_checking.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Model Checking
 ================================================================================
 
diff --git a/modelling/doc/monte_carlo.rst b/modelling/doc/monte_carlo.rst
index 56e572a8788749bde35c415893a964126c5e67b9..1cb924b406ab017598f909d34872c0394697cb72 100644
--- a/modelling/doc/monte_carlo.rst
+++ b/modelling/doc/monte_carlo.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Generating Loops De Novo
 ================================================================================
 
@@ -21,46 +37,7 @@ Carlo sampling to the N-terminal part of crambin:
 
 .. literalinclude:: ../../../tests/doc/scripts/modelling_monte_carlo.py
 
-.. method:: SampleMonteCarlo(sampler, closer, scorer, cooler, steps,\
-                             bb_list, initialize=True, seed=0,\
-                             lowest_energy_conformation=True)
-
-  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 *sampler* and closed by the *closer*. Upon scoring, this new
-  conformation gets accepted/rejected using a metropolis criterion based on the
-  temperature given by the *cooler* 
-  => acceptance probability: exp(-delta_score/T).
-  The result is stored in *bb_list* and is either the lowest energy conformation
-  ever encountered or the last accepted proposal.
-
-  :param sampler:       Sampler object capable of initializing and altering
-                        conformations.
-  :param closer:        Closer object to adapt a new conformation to
-                        the environment.
-  :param scorer:        Scorer object to score new loop conformations.
-  :param cooler:        Cooler object to control the temperature of the 
-                        Monte Carlo trajectory.
-  :param steps:         Number of Monte Carlo iterations to be performed.
-  :param bb_list:       The chosen conformation gets stored here.
-  :param initialize:    Whether a new bb_list should be generated as starting
-                        point, based on the samplers Initialize function.
-                        The input *bb_list* gets used otherwise.
-  :param seed:          Seed for internal random number generator.
-  :param lowest_energy_conformation:  If True, we choose the lowest scoring
-                                      conformation of the trajectory. Otherwise,
-                                      the last accepted proposal.
-
-  :type sampler:        :ref:`mc-sampler-object`
-  :type closer:         :ref:`mc-closer-object`
-  :type scorer:         :ref:`mc-scorer-object`
-  :type cooler:         :ref:`mc-cooler-object`
-  :type steps:          :class:`int`
-  :type bb_list:        :class:`~promod3.loop.BackboneList`
-  :type initialize:     :class:`bool`
-  :type seed:           :class:`int`
-  :type lowest_energy_conformation: :class:`bool`
-
+.. autofunction:: SampleMonteCarlo
 
 .. _mc-sampler-object:
 
@@ -69,7 +46,46 @@ Sampler Object
 
 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.
+for any Monte Carlo sampling pipeline. You can either use one of the 
+provided samplers or any object that implements the functionality of
+:class:`SamplerBase`.
+
+
+.. class:: SamplerBase
+
+  Abstract base class defining the functions that must be implemented by any 
+  sampler.
+
+  .. method:: Initialize(bb_list)
+
+    Supposed to initialize structural information from scratch. The sequence
+    of the generated :class:`promod3.loop.BackboneList` is taken from *bb_list*.
+
+    :param bb_list:     Passed by reference, so the resulting 
+                        :class:`promod3.loop.BackboneList` is assigned to this 
+                        parameter. Sequence / length stay the same.
+
+    :type bb_list:      :class:`promod3.loop.BackboneList`
+
+    :returns:           None
+
+  .. method:: ProposeStep(actual_positions, proposed_positions)
+
+    Takes current positions and proposes a new conformation. There is no 
+    guarantee on maintining any special RT state. The :ref:`mc-closer-object`
+    is supposed to sort that out. 
+
+    :param actual_positions: Starting point, must not change when calling this
+                             function.
+    :param proposed_positions: Passed by reference, so the resulting 
+                               :class:`promod3.loop.BackboneList` is assigned to 
+                               this parameter.
+
+    :type actual_positions: :class:`promod3.loop.BackboneList`
+    :type proposed_positions: :class:`promod3.loop.BackboneList`
+
+    :returns:           None
+
 
 .. class:: PhiPsiSampler(sequence, torsion_sampler, n_stem_phi=-1.0472,\
                          c_stem_psi=-0.78540, prev_aa='A', next_aa='A', seed=0)
@@ -237,9 +253,9 @@ for any Monte Carlo sampling pipeline.
   :param seed:          Seed for the internal random number generators
 
   :type sequence:       :class:`str`
-  :type fraggers:       :class:`str`
+  :type fraggers:       :class:`list`
   :type init_bb_list:   :class:`~promod3.loop.BackboneList`
-  :type samplint_start_index: :class:`int`
+  :type sampling_start_index: :class:`int`
   :type init_fragments: :class:`int`
   :type seed:           :class:`int`
 
@@ -276,7 +292,32 @@ 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
 the stems of the sampled conformation overlap with given stem residues or
-or simple stem superposition in case of terminal sampling.
+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 :class:`CloserBase`.
+
+.. class:: CloserBase
+
+  Abstract base class defining the functions that must be implemented by any 
+  closer.
+
+  .. method:: Close(actual_positions, closed_positions)
+
+    Takes current positions and proposes a new conformation that fits to a
+    given environment.
+
+    :param actual_positions: Starting point, must not change when calling this
+                             function.
+    :param closed_positions: Passed by reference, so the resulting 
+                             :class:`promod3.loop.BackboneList` is assigned to 
+                             this parameter.
+
+    :type actual_positions: :class:`promod3.loop.BackboneList`
+    :type closed_positions: :class:`promod3.loop.BackboneList`
+
+    :returns:           Whether closing procedure was successful
+    :rtype:             :class:`bool`
+
 
 .. class:: CCDCloser(n_stem, c_stem, sequence, torsion_sampler, seed)
 
@@ -305,7 +346,7 @@ or simple stem superposition in case of terminal sampling.
                          of :class:`~promod3.loop.TorsionSampler`
   :type seed:           :class:`int`
 
-  .. method:: Close(actual_positions,closed_positions)
+  .. method:: Close(actual_positions, closed_positions)
     
     :param actual_positions: Conformation to be closed.
     :param closed_positions: Closed conformation gets stored in here.
@@ -320,7 +361,8 @@ or simple stem superposition in case of terminal sampling.
 
   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. 
+  the stems given by the closer. There is no check for reasonable backbone
+  dihedral angles as it is the case for the :class:`CCDCloser`.
 
   :param n_stem:        Defining stem positions the closed conformation
                         should adapt.
@@ -331,7 +373,7 @@ or simple stem superposition in case of terminal sampling.
   :type n_stem:         :class:`ost.mol.ResidueHandle`
   :type c_stem:         :class:`ost.mol.ResidueHandle`
 
-  .. method:: Close(actual_positions,closed_positions)
+  .. method:: Close(actual_positions, closed_positions)
     
     :param actual_positions: Conformation to be closed.
     :param closed_positions: Closed conformation gets stored in here.
@@ -355,10 +397,10 @@ or simple stem superposition in case of terminal sampling.
   :param seed:          Seed for internal random generators.
 
   :type n_stem:         :class:`ost.mol.ResidueHandle`
-  :type n_stem:         :class:`ost.mol.ResidueHandle`
+  :type c_stem:         :class:`ost.mol.ResidueHandle`
   :type seed:           :class:`int`
 
-  .. method:: Close(actual_positions,closed_positions)
+  .. method:: Close(actual_positions, closed_positions)
     
     :param actual_positions: Conformation to be closed.
     :param closed_positions: Closed conformation gets stored in here.
@@ -371,26 +413,60 @@ or simple stem superposition in case of terminal sampling.
 
 .. class:: NTerminalCloser(c_stem)
 
-  The NTerminalCloser simply takes the conformation and closes by superposing
-  the c_stem with the desired positions.
+  The :class:`NTerminalCloser` simply takes the conformation and closes by 
+  superposing the c_stem with the desired positions.
 
   :param c_stem:        Defining stem positions the closed conformation should
                         adapt.
   :type c_stem:         :class:`ost.mol.ResidueHandle`
 
-  :returns:             Whether closing was successful
+
+  .. method:: Close(actual_positions, closed_positions)
+
+    :param actual_positions: Conformation to be closed (or in this case
+                             transformed in space).
+    :param closed_positions: Closed (transformed) conformation gets stored in 
+                             here.
+
+    :type actual_positions: :class:`~promod3.loop.BackboneList`
+    :type closed_positions: :class:`~promod3.loop.BackboneList`
+
+    :returns:           Whether closing was successful
 
 
 .. class:: CTerminalCloser(n_stem)
 
-  The CTerminalCloser simply takes the conformation and closes by superposing
-  the n_stem with the desired positions.
+  The :class:`CTerminalCloser` simply takes the conformation and closes by 
+  superposing the n_stem with the desired positions.
 
   :param n_stem:        Defining stem positions the closed conformation should
                         adapt.
   :type n_stem:         :class:`ost.mol.ResidueHandle`
 
-  :returns:             Whether closing was successful
+  .. method:: Close(actual_positions,closed_positions)
+
+    :param actual_positions: Conformation to be closed (or in this case
+                             transformed in space).
+    :param closed_positions: Closed (transformed) conformation gets stored in 
+                             here.
+
+    :type actual_positions: :class:`~promod3.loop.BackboneList`
+    :type closed_positions: :class:`~promod3.loop.BackboneList`
+
+    :returns:           Whether closing was successful
+
+
+.. class:: DeNovoCloser
+
+  In case of sampling a full stretch, you dont have external constraints. The 
+  closer has a rather boring job in this case.
+
+  .. method:: Close(actual_positions,closed_positions)
+
+    Does absolutely nothing, except copying over the coordinates from
+    *actual_positions* to *closed_positions* and return true.
+
+
 
         
 .. _mc-scorer-object:
@@ -399,10 +475,27 @@ Scorer Object
 --------------------------------------------------------------------------------
 
 The scorer asses a proposed conformation and are intended to return a pseudo
-energy, the lower the better.
+energy, the lower the better. You can either use the provided scorer or any
+object implementing the functionality defined in :class:`ScorerBase`. 
+
+
+.. class:: ScorerBase
 
+  Abstract base class defining the functions that must be implemented by any 
+  scorer.
+
+  .. method:: GetScore(bb_list)
 
-.. class:: LinearScorer(scorer, scorer_env, start_resnum, num_residues,
+    Takes coordinates and spits out a score given some internal structural 
+    environment.
+
+    :param bb_list:     Coordinates to be scored     
+    :type bb_list: :class:`promod3.loop.BackboneList`
+
+    :returns:           The score
+    :rtype:             :class:`float`
+
+.. class:: LinearScorer(scorer, scorer_env, start_resnum, num_residues,\
                         chain_idx, linear_weights)
 
   The LinearScorer allows to combine the scores available from
@@ -450,13 +543,31 @@ Cooler Object
 
 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.
+to their GetTemperature function. You can either use the provided cooler
+or any object implementing the functionality defined in 
+:class:`CoolerBase`.
+
+.. class:: CoolerBase
+
+  Abstract base class defining the functions that must be implemented by any 
+  cooler.
+
+  .. method:: GetTemperature()
+
+    :returns:           The Temperature
+    :rtype:             :class:`float`
+
+  .. method:: Reset()
+
+    Resets to original state, so a new Monte Carlo trajectory can be generated
+
 
 .. class:: ExponentialCooler(change_frequency, start_temperature, cooling_factor)
 
   The exponential cooler starts with a given *start_temperature* and counts the
-  calls to its GetTemperature function. According to the *change_frequency*, 
-  the returned temperature gets multiplied by the *cooling_factor*.
+  calls to its :meth:`GetTemperature` function. According to the 
+  *change_frequency*, the returned temperature gets multiplied by the 
+  *cooling_factor*.
 
   :param change_frequency: Frequency to change temperature
   :param start_temperature: temperature to start with
@@ -472,4 +583,5 @@ to their GetTemperature function.
 
   .. method:: Reset()
 
-    Sets current temperature back to *start_temperature*
+    Sets current temperature back to *start_temperature* and the 
+    internal counter to 0
diff --git a/modelling/doc/pipeline.rst b/modelling/doc/pipeline.rst
index 175b65c5d6554d15f76076e3bd3c530595a7cf64..54d86037d316ed87434fea7ae1cca2e3a2ae11d0 100644
--- a/modelling/doc/pipeline.rst
+++ b/modelling/doc/pipeline.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Modelling Pipeline
 ================================================================================
 
diff --git a/modelling/doc/sidechain_reconstruction.rst b/modelling/doc/sidechain_reconstruction.rst
index 72e93a0a96a3f793542c32062748295655c010b7..f6a076c6b780c809d729bf52882d7e7e1fc04cb0 100644
--- a/modelling/doc/sidechain_reconstruction.rst
+++ b/modelling/doc/sidechain_reconstruction.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Sidechain Reconstruction
 ================================================================================
 
@@ -144,9 +160,9 @@ SidechainReconstructor Class
     :param use_frm: If True, use flexible rotamer model, else rigid.
     :type use_frm:  :class:`bool`
     :param use_bbdep_lib: If True, use default backbone dependent rot. library
-                          (:meth:`Dunbrack <LoadDunbrackLib>`), else use
+                          (:meth:`LoadBBDepLib`), else use
                           backbone independent one
-                          (:meth:`Penultimate <LoadPenultimateLib>`).
+                          (:meth:`LoadLib`).
     :type use_bbdep_lib:  :class:`bool`
     :param rotamer_library: Custom rotamer library to be used.
     :type rotamer_library:  :class:`BBDepRotamerLib` / :class:`RotamerLib`
diff --git a/modelling/pymod/CMakeLists.txt b/modelling/pymod/CMakeLists.txt
index 3f6e6f13be2079f47e8a11c1ffb979971cfb5534..5e44247d6bd03f7f80cbaee99fe973700ce4dcda 100644
--- a/modelling/pymod/CMakeLists.txt
+++ b/modelling/pymod/CMakeLists.txt
@@ -22,6 +22,7 @@ set(MODELLING_PYMOD
   _denovo.py
   _fragger_handle.py
   _reconstruct_sidechains.py
+  _monte_carlo.py
 )
 
 pymod(NAME modelling
diff --git a/modelling/pymod/__init__.py b/modelling/pymod/__init__.py
index cdd41d485e453d2089b76a5a34c710559cd86a87..d81fc6ee63f97c01c6810036749a957c53f35205 100644
--- a/modelling/pymod/__init__.py
+++ b/modelling/pymod/__init__.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """Initialise the modelling module."""
 from _modelling import *
 from _closegaps import *
@@ -7,3 +23,4 @@ from _reconstruct_sidechains import *
 from _ring_punches import *
 from _denovo import *
 from _fragger_handle import *
+from _monte_carlo import *
diff --git a/modelling/pymod/_closegaps.py b/modelling/pymod/_closegaps.py
index aa857023be8b7543a56670d0b8db6e340a4edcf1..167379a70fa81bbfaa400f65050d617655b0664b 100644
--- a/modelling/pymod/_closegaps.py
+++ b/modelling/pymod/_closegaps.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''High-level functionality for modelling module to close gaps. Added in the
 __init__.py file. To be used directly by passing a ModellingHandle instance
 as argument.
diff --git a/modelling/pymod/_denovo.py b/modelling/pymod/_denovo.py
index 51dd26d0ca0b540c9b6523c66337f5aa0a96fa52..445c9574c829b4bc02f3eed107e68586bacdff34 100644
--- a/modelling/pymod/_denovo.py
+++ b/modelling/pymod/_denovo.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from promod3 import scoring, loop
 from _modelling import *
 
diff --git a/modelling/pymod/_fragger_handle.py b/modelling/pymod/_fragger_handle.py
index 95dee6db0f9c33dcdaf0bd3f5e78ba31c5202487..50ba6e50e6f3c7f000b90c0687cfcf83d864c79c 100644
--- a/modelling/pymod/_fragger_handle.py
+++ b/modelling/pymod/_fragger_handle.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''Python functionality to generate fraggers.'''
 
 from promod3.loop import *
diff --git a/modelling/pymod/_molprobity.py b/modelling/pymod/_molprobity.py
index ad431058365f6a80c702a9518fe237e2ac860adb..8f583e6ee2e90a2741c20d21394fa23d0a0a0ddb 100644
--- a/modelling/pymod/_molprobity.py
+++ b/modelling/pymod/_molprobity.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''Binding to external MolProbity tool to get scores.'''
 
 import ost
diff --git a/modelling/pymod/_monte_carlo.py b/modelling/pymod/_monte_carlo.py
new file mode 100644
index 0000000000000000000000000000000000000000..13a085ccac3c4cac8b8727540f62671f0bfc43f9
--- /dev/null
+++ b/modelling/pymod/_monte_carlo.py
@@ -0,0 +1,106 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+import random
+import math
+
+
+def SampleMonteCarlo(sampler, closer, scorer, cooler, steps, bb_list, 
+                     initialize, seed = 0, lowest_energy_conformation = True):
+    '''  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 *sampler* and closed by the *closer*. Upon scoring, this new
+    conformation gets accepted/rejected using a metropolis criterion based on 
+    the temperature given by the *cooler* 
+    => acceptance probability: exp(-delta_score/T).
+    The result is stored in *bb_list* (passed by reference, so NO return value) 
+    and is either the lowest energy conformation ever encountered or the last 
+    accepted proposal.
+
+    :param sampler:       Sampler object capable of initializing and altering
+                          conformations.
+    :param closer:        Closer object to adapt a new conformation to
+                          the environment.
+    :param scorer:        Scorer object to score new loop conformations.
+    :param cooler:        Cooler object to control the temperature of the 
+                          Monte Carlo trajectory.
+    :param steps:         Number of Monte Carlo iterations to be performed.
+    :param bb_list:       The chosen conformation gets stored here.
+    :param initialize:    Whether a new bb_list should be generated as starting
+                          point, based on the samplers Initialize function.
+                          The input *bb_list* gets used otherwise.
+    :param seed:          Seed for internal random number generator.
+    :param lowest_energy_conformation:  If True, we choose the lowest scoring
+                                        conformation of the trajectory. 
+                                        Otherwise, the last accepted proposal.
+
+    :type sampler:        :ref:`mc-sampler-object`
+    :type closer:         :ref:`mc-closer-object`
+    :type scorer:         :ref:`mc-scorer-object`
+    :type cooler:         :ref:`mc-cooler-object`
+    :type steps:          :class:`int`
+    :type bb_list:        :class:`~promod3.loop.BackboneList`
+    :type initialize:     :class:`bool`
+    :type seed:           :class:`int`
+    :type lowest_energy_conformation: :class:`bool`
+    '''
+
+    # Initialize from scratch if necessary
+    if initialize:
+        initialized = False
+        for i in range(100):
+            sampler.Initialize(bb_list)
+            if closer.Close(bb_list, bb_list):
+                initialized = True
+                break
+        if not initialized:
+            raise RuntimeError("Failed to initialize monte carlo protocol!")
+
+    # setup
+    random.seed(seed)
+    score = scorer.GetScore(bb_list)
+    closed = False
+    min_score = score
+    min_score_bb_list = bb_list.Copy()
+    proposed_bb_list = bb_list.Copy()
+
+    for i in range(steps):
+
+        # try several proposals (we might not be able to close at first attempt)
+        closed = False
+        for j in range(3):
+            sampler.ProposeStep(bb_list, proposed_bb_list)
+            if closer.Close(proposed_bb_list, proposed_bb_list):
+                closed = True
+                break
+
+        # check for success, try again in next step in case of failure
+        if not closed:
+            continue
+
+        # accept / reject based on Metropolis criterion
+        temperature = cooler.GetTemperature()
+        new_score = scorer.GetScore(proposed_bb_list)
+
+        if math.exp(-(new_score-score)/temperature) > random.random():
+            positions = proposed_bb_list.Copy()
+            score = new_score
+            if lowest_energy_conformation and score < min_score:
+                min_score = score
+                min_score_bb_list = positions
+
+    if lowest_energy_conformation:
+        bb_list = min_score_bb_list
diff --git a/modelling/pymod/_pipeline.py b/modelling/pymod/_pipeline.py
index fdea48505c30f4bb49832cd1182c89babe04acd0..56cc847c61da1238af93114613208ab3061fe2a6 100644
--- a/modelling/pymod/_pipeline.py
+++ b/modelling/pymod/_pipeline.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''High-level functionality for modelling module to build pipelines. Added in 
 the __init__.py file. To be used directly by passing a ModellingHandle instance
 as argument.
@@ -164,7 +180,8 @@ def _GetSimEntity(sim):
 
 
 def BuildSidechains(mhandle, merge_distance=4, fragment_db=None,
-                    structure_db=None, torsion_sampler=None):
+                    structure_db=None, torsion_sampler=None,
+                    rotamer_library=None):
     '''Build sidechains for model.
 
     This is a wrapper for :func:`promod3.modelling.ReconstructSidechains`, 
@@ -190,10 +207,16 @@ def BuildSidechains(mhandle, merge_distance=4, fragment_db=None,
                             if ring punches are found. A default one is loaded
                             if None.
     :type torsion_sampler:  :class:`~promod3.loop.TorsionSampler`
+    :param rotamer_library: Used as parameter for 
+                            :func:`modelling.ReconstructSidechains`, a default 
+                            one is loaded if None.
+    :type rotamer_library:  :class:`~promod3.sidechain.RotamerLib` or
+                            :class:`~promod3.sidechain.BBDepRotamerLib` 
     '''
     prof = core.StaticRuntimeProfiler.StartScoped('pipeline::BuildSidechains')
     ost.LogInfo("Rebuilding sidechains.")
-    ReconstructSidechains(mhandle.model, keep_sidechains=True)
+    ReconstructSidechains(mhandle.model, keep_sidechains=True, 
+                          rotamer_library=rotamer_library)
     # check for ring punches
     rings = GetRings(mhandle.model)
     ring_punches = GetRingPunches(rings, mhandle.model)
@@ -221,7 +244,8 @@ def BuildSidechains(mhandle, merge_distance=4, fragment_db=None,
         FillLoopsByDatabase(mhandle, fragment_db, structure_db,
                             torsion_sampler, ring_punch_detection=2)
         # re-build sidechains
-        ReconstructSidechains(mhandle.model, keep_sidechains=True)
+        ReconstructSidechains(mhandle.model, keep_sidechains=True,
+                              rotamer_library=rotamer_library)
         # restore gaps
         mhandle.gaps = StructuralGapList()
         for g in old_gaps:
@@ -459,6 +483,7 @@ def BuildFromRawModel(mhandle, use_amber_ff=False, extra_force_fields=list()):
     fragment_db = loop.LoadFragDB()
     structure_db = loop.LoadStructureDB()
     torsion_sampler = loop.LoadTorsionSamplerCoil()
+    rotamer_library = sidechain.LoadBBDepLib()
     merge_distance = 4
 
     # remove terminal gaps
@@ -471,7 +496,7 @@ def BuildFromRawModel(mhandle, use_amber_ff=False, extra_force_fields=list()):
 
     # build sidechains
     BuildSidechains(mhandle, merge_distance, fragment_db,
-                    structure_db, torsion_sampler)
+                    structure_db, torsion_sampler, rotamer_library)
 
     # minimize energy of final model using molecular mechanics
     MinimizeModelEnergy(mhandle, use_amber_ff=use_amber_ff,
diff --git a/modelling/pymod/_reconstruct_sidechains.py b/modelling/pymod/_reconstruct_sidechains.py
index cc465d832149d465348823cbfc67db6386235b93..d9a7dbd5541b9e7ca3102bf9e8cc78bda4b8f1e6 100644
--- a/modelling/pymod/_reconstruct_sidechains.py
+++ b/modelling/pymod/_reconstruct_sidechains.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from ost import geom, mol, conop
 from promod3 import core, sidechain
 import traceback
@@ -396,8 +412,7 @@ def ReconstructSidechains(ent, keep_sidechains=False, build_disulfids=True,
     :type consider_ligands:  :class:`bool`
 
     :param rotamer_library: A rotamer library to extract the rotamers from. The
-                            default is the :meth:`Dunbrack <LoadDunbrackLib>`
-                            library.
+                            default is to call :meth:`<LoadBBDepLib>`.
     :type rotamer_library:  :class:`BBDepRotamerLib` / :class:`RotamerLib`
 
     :param optimize_subrotamers: Only considered when *rotamer_model*
@@ -427,7 +442,7 @@ def ReconstructSidechains(ent, keep_sidechains=False, build_disulfids=True,
         raise RuntimeError("Only \"rrm\" and \"frm\" allowed for rotamer_model!")
 
     if rotamer_library == None: 
-        rotamer_library = sidechain.LoadDunbrackLib()
+        rotamer_library = sidechain.LoadBBDepLib()
     bbdep = False
     if type(rotamer_library) is sidechain.BBDepRotamerLib:
         bbdep = True
diff --git a/modelling/pymod/_ring_punches.py b/modelling/pymod/_ring_punches.py
index 969aca39d8b7daabb2dc354350314bc18ac13f80..2efed0c1cd7c479abc6c397ea2ab141d0b8301ae 100644
--- a/modelling/pymod/_ring_punches.py
+++ b/modelling/pymod/_ring_punches.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''Helper functions to deal with ring punchings.'''
 import ost
 from ost import geom
diff --git a/modelling/pymod/export_extension_scheme.cc b/modelling/pymod/export_extension_scheme.cc
index 56e96be00216cd1a66c624fdd95accf7325dadd1..26298341987427308fb16d1f70a2503c561ad6fd 100644
--- a/modelling/pymod/export_extension_scheme.cc
+++ b/modelling/pymod/export_extension_scheme.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 #include <promod3/modelling/extension_scheme.hh>
diff --git a/modelling/pymod/export_gap.cc b/modelling/pymod/export_gap.cc
index d2c8d07ff216564bb8e71d33c823a4399b095654..de39d2c23324a7d0c0d3fd2724272600ae7d454d 100644
--- a/modelling/pymod/export_gap.cc
+++ b/modelling/pymod/export_gap.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 #include <promod3/modelling/gap.hh>
diff --git a/modelling/pymod/export_gap_extender.cc b/modelling/pymod/export_gap_extender.cc
index 5c27c41b33ea38fbc8fa4789ebef5cc9ca093b35..3d530e190333a71ae9d1cdd01bed9ba059350596 100644
--- a/modelling/pymod/export_gap_extender.cc
+++ b/modelling/pymod/export_gap_extender.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/modelling/gap_extender.hh>
 #include <promod3/core/export_helper.hh>
diff --git a/modelling/pymod/export_loop_candidate.cc b/modelling/pymod/export_loop_candidate.cc
index 7bb657db9d310ff2319217e054fa184b6f2df44d..564395002d68cfbf3699526ef35e0cfa10b08611 100644
--- a/modelling/pymod/export_loop_candidate.cc
+++ b/modelling/pymod/export_loop_candidate.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/iterator.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
diff --git a/modelling/pymod/export_loop_closure.cc b/modelling/pymod/export_loop_closure.cc
index a6aa1a0da761152f0fab494f034725b1746c7205..0a28b6bea9201f6e848a5493c2d88f4135c69330 100644
--- a/modelling/pymod/export_loop_closure.cc
+++ b/modelling/pymod/export_loop_closure.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/iterator.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
diff --git a/modelling/pymod/export_model.cc b/modelling/pymod/export_model.cc
index db325e3d416a5b436da212f4ee0f550ac222a106..589242c563e995db7f7d96dd55f90e6c1ecf34b6 100644
--- a/modelling/pymod/export_model.cc
+++ b/modelling/pymod/export_model.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
 #include <promod3/modelling/model.hh>
diff --git a/modelling/pymod/export_monte_carlo.cc b/modelling/pymod/export_monte_carlo.cc
index 7d296ccf9550ec7db9ebf53c06aa4e4792370e0f..32950cdbb17e2ada13c0772bfdb72ec50d5bcb62 100644
--- a/modelling/pymod/export_monte_carlo.cc
+++ b/modelling/pymod/export_monte_carlo.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <boost/python/raw_function.hpp>
@@ -236,31 +252,6 @@ LinearScorerPtr LinearScorerInitWrapper(scoring::BackboneOverallScorerPtr scorer
   return p;
 }
 
-void MonteCarloWithoutRelaxer(MonteCarloSamplerPtr sampler,
-                              MonteCarloCloserPtr closer,
-                              MonteCarloScorerPtr scorer,
-                              MonteCarloCoolerPtr cooler,
-                              uint steps, loop::BackboneList& backbone_list, 
-                              bool initialize, uint seed,
-                              bool lowest_energy_conformation) {
-  SampleMonteCarlo(sampler, closer, scorer, cooler, steps, backbone_list,
-                   initialize, seed, lowest_energy_conformation);
-}
-
-void MonteCarloWithRelaxer(MonteCarloSamplerPtr sampler,
-                           MonteCarloCloserPtr closer,
-                           MonteCarloScorerPtr scorer,
-                           MonteCarloCoolerPtr cooler,
-                           uint steps, loop::BackboneList& backbone_list, 
-                           BackboneRelaxerPtr relaxer, uint relaxer_frequency, 
-                           uint relaxer_steps, bool initialize, uint seed,
-                           bool lowest_energy_conformation) {
-  SampleMonteCarlo(sampler, closer, scorer, cooler, steps, backbone_list,
-                   relaxer, relaxer_frequency, relaxer_steps, initialize,
-                   seed, lowest_energy_conformation);
-}
-
-
 }
 
 void export_monte_carlo() {
@@ -357,18 +348,4 @@ void export_monte_carlo() {
   register_ptr_to_python<NTerminalCloserPtr>();
   register_ptr_to_python<CTerminalCloserPtr>();
   register_ptr_to_python<MonteCarloCloserPtr>();
-
-  // export monte carlo sampler
-  def("SampleMonteCarlo", &MonteCarloWithoutRelaxer,
-      (arg("sampler"), arg("closer"), arg("scorer"), arg("cooler"),
-       arg("steps"), arg("backbone"), arg("initialize")=true, arg("seed")=0,
-       arg("lowest_energy_conformation")=true));
-
-  def("SampleMonteCarlo", &MonteCarloWithRelaxer,
-      (arg("sampler"), arg("closer"), arg("scorer"), arg("cooler"),
-       arg("steps"), arg("backbone"), arg("backbone_relaxer"),
-       arg("relaxer_frequency"), arg("relaxer_steps"), arg("initialize")=true,
-       arg("seed")=0, arg("lowest_energy_conformation")=true));
-
-
 }
diff --git a/modelling/pymod/export_rigid_blocks.cc b/modelling/pymod/export_rigid_blocks.cc
index 3c7584d80b6f39ca036dfe616d15f86a6ed59274..36763f3a089dc775e3cdbe21f5091dc1e3c0b7c7 100644
--- a/modelling/pymod/export_rigid_blocks.cc
+++ b/modelling/pymod/export_rigid_blocks.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/export_helper.hh>
 
diff --git a/modelling/pymod/export_score_container.cc b/modelling/pymod/export_score_container.cc
index 237e1d415f0dc52125c369ad2b5aebbde1c5d6ad..4afef319bfd48498b6929b542a1afd561b893066 100644
--- a/modelling/pymod/export_score_container.cc
+++ b/modelling/pymod/export_score_container.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/message.hh>
 #include <promod3/core/export_helper.hh>
diff --git a/modelling/pymod/export_scoring_weights.cc b/modelling/pymod/export_scoring_weights.cc
index 11e3c18eb54a48f5162e88bab3c0286d4f8aca55..c100ec806c7ae8a888b567d526729b75696a345e 100644
--- a/modelling/pymod/export_scoring_weights.cc
+++ b/modelling/pymod/export_scoring_weights.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/message.hh>
 #include <promod3/core/export_helper.hh>
diff --git a/modelling/pymod/export_sidechain_reconstructor.cc b/modelling/pymod/export_sidechain_reconstructor.cc
index 5c8306f3becb3f13b9c99b3ac0e5906ebf7895a9..0d270147df0de325c646d536ca627b307476ac9b 100644
--- a/modelling/pymod/export_sidechain_reconstructor.cc
+++ b/modelling/pymod/export_sidechain_reconstructor.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/export_helper.hh>
 #include <promod3/modelling/sidechain_reconstructor.hh>
diff --git a/modelling/pymod/wrap_modelling.cc b/modelling/pymod/wrap_modelling.cc
index 72125d290d12735a145389f9d47b30a9eca7366e..7e4affa848f8deca25c2f428db14751cc328d533 100644
--- a/modelling/pymod/wrap_modelling.cc
+++ b/modelling/pymod/wrap_modelling.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 
 void export_gap();
diff --git a/modelling/src/all_atom_relaxer.cc b/modelling/src/all_atom_relaxer.cc
index 9fe1dc51136b70c71d5b4945978375c06f00d0e5..a7dd1ab6922425971a8afe85a1f20ace74b4e3e8 100644
--- a/modelling/src/all_atom_relaxer.cc
+++ b/modelling/src/all_atom_relaxer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/all_atom_relaxer.hh>
 #include <promod3/loop/hydrogen_constructor.hh>
 #include <promod3/core/runtime_profiling.hh>
diff --git a/modelling/src/all_atom_relaxer.hh b/modelling/src/all_atom_relaxer.hh
index 9235a13f7980d05b37a06d51ef09c41637bd39ed..1e594df529d38a0a9656e4fd9d5d7ddae72d0ce8 100644
--- a/modelling/src/all_atom_relaxer.hh
+++ b/modelling/src/all_atom_relaxer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_MODELLING_ALL_ATOM_RELAXER_HH
 #define PROMOD3_MODELLING_ALL_ATOM_RELAXER_HH
 
diff --git a/modelling/src/backbone_relaxer.cc b/modelling/src/backbone_relaxer.cc
index ded52f6a222d2cf2135de02027563fdc94ce9a13..c2212c9289fd13882973879164ab080461b883d2 100644
--- a/modelling/src/backbone_relaxer.cc
+++ b/modelling/src/backbone_relaxer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/backbone_relaxer.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <promod3/loop/amino_acid_atoms.hh>
diff --git a/modelling/src/backbone_relaxer.hh b/modelling/src/backbone_relaxer.hh
index 78d142e43c207597bf9e7fb127ffe3706ebda1cd..0d5499a3e2403536537ae8e373872646270320e3 100644
--- a/modelling/src/backbone_relaxer.hh
+++ b/modelling/src/backbone_relaxer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_BACKBONE_RELAXER_HH
 #define PROMOD_MODELLING_BACKBONE_RELAXER_HH
 
diff --git a/modelling/src/ccd.cc b/modelling/src/ccd.cc
index bc913bba3f4b76fec10cc5f2a3fd513d6acbc006..10ffafaed32c2ff836f26c1cbaee253149e7152a 100644
--- a/modelling/src/ccd.cc
+++ b/modelling/src/ccd.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/ccd.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <promod3/core/geom_base.hh>
diff --git a/modelling/src/ccd.hh b/modelling/src/ccd.hh
index 344228a1391ee488b43d1e1a595e36dd332638f1..4d82a32f07e3a58b6aa2ea6d19fbfda348a1fbdd 100644
--- a/modelling/src/ccd.hh
+++ b/modelling/src/ccd.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_CCD_HH
 #define PROMOD_MODELLING_CCD_HH
 
diff --git a/modelling/src/extension_scheme.cc b/modelling/src/extension_scheme.cc
index da4fd528548047fc800ade063867ff3850557d89..5e3535a83815df1fa3b6735f1a0b23e26fe86e1c 100644
--- a/modelling/src/extension_scheme.cc
+++ b/modelling/src/extension_scheme.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/extension_scheme.hh>
 
 namespace promod3 { namespace modelling{
diff --git a/modelling/src/extension_scheme.hh b/modelling/src/extension_scheme.hh
index c9f183ded6c881c67757a5812b13dde3232f02f6..46de03491585b5bf5db1203bb50709d807eb5ecc 100644
--- a/modelling/src/extension_scheme.hh
+++ b/modelling/src/extension_scheme.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_EXTENSION_SCHEME_HH
 #define PROMOD_MODELLING_EXTENSION_SCHEME_HH
 
diff --git a/modelling/src/gap.cc b/modelling/src/gap.cc
index df052586abaab7fa9dea6db806a4f713647a4ed8..5c13071eaff51ce8f8dd708f17feb17fdf11a78e 100644
--- a/modelling/src/gap.cc
+++ b/modelling/src/gap.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <ost/log.hh>
 
 #include <promod3/modelling/gap.hh>
diff --git a/modelling/src/gap.hh b/modelling/src/gap.hh
index 4bbe3347fb9819619e4f9c09661c35a63c232919..b8bb9d5ec0ccfcbc616b2ef1e33a1b99a78263a5 100644
--- a/modelling/src/gap.hh
+++ b/modelling/src/gap.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_MODELLING_GAP_HH
 #define PM3_MODELLING_GAP_HH
 
diff --git a/modelling/src/gap_extender.cc b/modelling/src/gap_extender.cc
index 02492976d7c358524506d21166eee585647b6272..2d723c4a5a31476c9814fdcee3a3cb789f43f003 100644
--- a/modelling/src/gap_extender.cc
+++ b/modelling/src/gap_extender.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/gap_extender.hh>
 #include <algorithm>
 
diff --git a/modelling/src/gap_extender.hh b/modelling/src/gap_extender.hh
index 63217f96e04ee0042b54052c35c69b69fdc70d48..625b6f5877bff9d0aece6039d1a06d042c25cf2d 100644
--- a/modelling/src/gap_extender.hh
+++ b/modelling/src/gap_extender.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_MODELLING_GAP_EXTENDER_HH
 #define PM3_MODELLING_GAP_EXTENDER_HH
 
diff --git a/modelling/src/kic.cc b/modelling/src/kic.cc
index fb7005aedd659dd59c21dbb7513657945e62726a..8571fa0759d1e63ef531b5ebd7b535ba0d017e79 100644
--- a/modelling/src/kic.cc
+++ b/modelling/src/kic.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/kic.hh>
 #include <promod3/core/eigen_types.hh>
 #include <promod3/core/message.hh>
diff --git a/modelling/src/kic.hh b/modelling/src/kic.hh
index 367e7969828f5fc8bccb8b86ef3ce75a79e05dcc..02166346104e1a054768c06664839d921cc8d457 100644
--- a/modelling/src/kic.hh
+++ b/modelling/src/kic.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_KIC_HH
 #define PROMOD_MODELLING_KIC_HH
 
diff --git a/modelling/src/loop_candidate.cc b/modelling/src/loop_candidate.cc
index 5aa7cccee59836bc3589f851f741bf1e158c6a4e..8539705677d6bec217f1d4869f8ef662fc2768b1 100644
--- a/modelling/src/loop_candidate.cc
+++ b/modelling/src/loop_candidate.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/loop_candidate.hh>
 #include <promod3/modelling/kic.hh>
 #include <promod3/modelling/scoring_weights.hh>
diff --git a/modelling/src/loop_candidate.hh b/modelling/src/loop_candidate.hh
index 0b30ecf4bf2b51c2422ca0b26ec7607d805be3e0..14c6accf2145747158a2bad14165b1ac98e7d8bf 100644
--- a/modelling/src/loop_candidate.hh
+++ b/modelling/src/loop_candidate.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_MODELLING_LOOP_CANDIDATE_HH
 #define PM3_MODELLING_LOOP_CANDIDATE_HH
 
diff --git a/modelling/src/model.cc b/modelling/src/model.cc
index 5740b93207b3c9d07a9dc790c1fe63f457609ad3..a4ef588ead11793811ba8b82a636adf7271c888f 100644
--- a/modelling/src/model.cc
+++ b/modelling/src/model.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <ctype.h>
 #include <ost/log.hh>
 #include <ost/dyn_cast.hh>
@@ -973,8 +989,6 @@ void BuildRawChain(const ost::seq::AlignmentHandle& aln,
   core::ScopedTimerPtr prof = core::StaticRuntimeProfiler::StartScoped(
                                 "modelling::BuildRawChain", 2);
 
-  // FIXME: While conseptually simple, this function is way too long for my 
-  //        taste. It should be chopped into smaller pieces.
   if (aln.GetCount()!=2) {
     throw promod3::Error("alignment must contain exactly two sequences");
   }
@@ -1036,7 +1050,7 @@ void BuildRawChain(const ost::seq::AlignmentHandle& aln,
     String name=conop::OneLetterCodeToResidueName(col[0]);    
     ResidueHandle dst_res=edi.AppendResidue(chain, name, ResNum(res_num));
     dst_res.SetIsProtein(true);
-    bool form_peptide_bond=false;
+    bool consecutive_residues=false;
     if (last_num+1!=res_num) {
       // that's an insertion
       gap_list.push_back(StructuralGap(before, dst_res, gap_seq));
@@ -1044,12 +1058,9 @@ void BuildRawChain(const ost::seq::AlignmentHandle& aln,
     } else if (last_index > -1 && last_index+1 != i) {
       // that's a deletion
       gap_list.push_back(StructuralGap(before, dst_res, ""));
-      //form_peptide_bond=true;
     } else {
-      form_peptide_bond=true;
+      consecutive_residues=true;
     }
-    last_num=res_num;
-    last_index=i;
     bool has_cbeta=false;
     if (toupper(col[0])==toupper(col[1])) {
       CopyConserved(src_res, dst_res, edi, has_cbeta);
@@ -1072,13 +1083,21 @@ void BuildRawChain(const ost::seq::AlignmentHandle& aln,
     if (spdbv_style) {
       InsertDummyAtoms(dst_res, edi);
     }
-    if (form_peptide_bond && before.IsValid()) {
+    if (consecutive_residues && before.IsValid()) {
       AtomHandle c_before=before.FindAtom("C");
       AtomHandle n_this=dst_res.FindAtom("N");
-      edi.Connect(c_before, n_this);
+      if(ost::conop::IsBondFeasible(c_before, n_this)) {
+        edi.Connect(c_before, n_this);
+      } else {
+        // not possible to generate feasible peptide bond
+        // add gap to enforce rebuilding during the modelling process
+        gap_list.push_back(StructuralGap(before, dst_res, ""));
+      }
     }
-    before=dst_res;
 
+    last_num=res_num;
+    last_index=i;
+    before=dst_res;
   }
   // check if we have added anything at all
   if (last_num == 0) {
diff --git a/modelling/src/model.hh b/modelling/src/model.hh
index e42a2c8db6ee029ad4f7547faf6511b9f5be4fd2..e7503d8a3bbac7a73579d55b477eb8aaa63c03db 100644
--- a/modelling/src/model.hh
+++ b/modelling/src/model.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_MODELLING_MODEL_HH
 #define PM3_MODELLING_MODEL_HH
 
diff --git a/modelling/src/monte_carlo.cc b/modelling/src/monte_carlo.cc
index 374fb05206799ba3106d26b95c173f8e018d4039..3c9782d12104409fedb32ff17ad2784c69f31cac 100644
--- a/modelling/src/monte_carlo.cc
+++ b/modelling/src/monte_carlo.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/monte_carlo.hh>
 
 namespace promod3 { namespace modelling {
@@ -63,72 +79,5 @@ void SampleMonteCarlo(MonteCarloSamplerPtr sampler, MonteCarloCloserPtr closer,
   if (lowest_energy_conformation) positions = min_score_bb_list;
 }
 
-void SampleMonteCarlo(MonteCarloSamplerPtr sampler, MonteCarloCloserPtr closer,
-                      MonteCarloScorerPtr scorer, MonteCarloCoolerPtr cooler,
-                      uint steps, loop::BackboneList& positions,
-                      BackboneRelaxerPtr relaxer, uint relaxer_frequency,
-                      uint relaxer_steps, bool initialize, uint seed,
-                      bool lowest_energy_conformation) {
-
-  loop::BackboneList proposed_positions;
-
-  boost::mt19937 rgen(seed);
-  boost::uniform_01<boost::mt19937> zeroone(rgen);
-
-  Real score, new_score, temperature;
-
-  if (initialize) {
-    //try to initialize 
-    bool initialized = false;
-    for (int i = 0; i < 100; ++i) {
-      sampler->Initialize(positions);
-      if (closer->Close(positions, positions)) {
-        initialized = true;
-        break;
-      }
-    }
-    if (!initialized) {
-      throw promod3::Error("Failed to initialize monte carlo sampling protocol!");
-    }
-  }
-
-  score = scorer->GetScore(positions);
-  bool closed = false;
-
-  uint successful_steps = 0;
-  Real min_score = score;
-  loop::BackboneList min_score_bb_list = positions;
-
-  for (uint i = 0; i < steps; ++i) {
-    //try several proposals!
-    closed = false;
-    for (int j = 0; j < 3; ++j) {
-      sampler->ProposeStep(positions, proposed_positions);
-      if (closer->Close(proposed_positions, proposed_positions)) {
-        closed = true;
-        break;
-      }
-    }
-    if (!closed) continue;
-    temperature = cooler->GetTemperature();
-    new_score = scorer->GetScore(proposed_positions);
-    if (std::exp(-(new_score-score)/temperature) > zeroone()) {
-      positions.swap(proposed_positions);
-      score = new_score;
-      ++successful_steps;
-      if (successful_steps % relaxer_frequency == 0) {
-        relaxer->Run(positions, relaxer_steps);
-      }
-      if (lowest_energy_conformation && score < min_score) {
-        min_score = score;
-        min_score_bb_list = positions;
-      }
-    }
-  }
-
-  // update return value if needed
-  if (lowest_energy_conformation) positions = min_score_bb_list;
-}
-
 }}//ns
 
diff --git a/modelling/src/monte_carlo.hh b/modelling/src/monte_carlo.hh
index 8f6d82c32d13329b191fe0001573dfd4c291a21c..1e573957efa0ace1aa8fcd4c999e89a4ed5a686a 100644
--- a/modelling/src/monte_carlo.hh
+++ b/modelling/src/monte_carlo.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_MONTE_CARLO_HH
 #define PROMOD_MODELLING_MONTE_CARLO_HH
 
@@ -18,14 +34,6 @@ namespace promod3 { namespace modelling {
                         uint steps, loop::BackboneList& backbone_list,
                         bool initialize = true, uint seed = 0,
                         bool lowest_energy_conformation = true);
-
-  void SampleMonteCarlo(MonteCarloSamplerPtr sampler, MonteCarloCloserPtr closer,
-                        MonteCarloScorerPtr scorer, MonteCarloCoolerPtr cooler,
-                        uint steps, loop::BackboneList& backbone_list,
-                        BackboneRelaxerPtr relaxer, uint relaxer_frequency,
-                        uint relaxer_steps, bool initialize = true, uint seed = 0,
-                        bool lowest_energy_conformation = true);
-
 }}
 
 #endif
diff --git a/modelling/src/monte_carlo_closer.cc b/modelling/src/monte_carlo_closer.cc
index 3d3090efb57e5cb1b63841523bc5e2edc7b82516..02d20b40c2d288eb4463852b8af83bf8df38fd07 100644
--- a/modelling/src/monte_carlo_closer.cc
+++ b/modelling/src/monte_carlo_closer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/monte_carlo_closer.hh>
 #include <promod3/modelling/kic.hh>
 #include <promod3/modelling/ccd.hh>
diff --git a/modelling/src/monte_carlo_closer.hh b/modelling/src/monte_carlo_closer.hh
index 239f11c93701ec2947f7084aed5bb7e8dadcbf0c..28feb029c3e847bc1018553f06aa4e7b99699de9 100644
--- a/modelling/src/monte_carlo_closer.hh
+++ b/modelling/src/monte_carlo_closer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_MONTE_CARLO_CLOSER_HH
 #define PROMOD_MODELLING_MONTE_CARLO_CLOSER_HH
 
diff --git a/modelling/src/monte_carlo_cooler.cc b/modelling/src/monte_carlo_cooler.cc
index 1a99a55d1281b031ae61858f952b9c98ffae31a0..1b50af2133687bd419a3c3c00a6c6594d0b61005 100644
--- a/modelling/src/monte_carlo_cooler.cc
+++ b/modelling/src/monte_carlo_cooler.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/monte_carlo_cooler.hh>
 
 namespace promod3 { namespace modelling {
diff --git a/modelling/src/monte_carlo_cooler.hh b/modelling/src/monte_carlo_cooler.hh
index acf12e5f2e7573b824ec8bffa706152c52046390..8906e454ec90c02fb9dfab4747103298431aa45d 100644
--- a/modelling/src/monte_carlo_cooler.hh
+++ b/modelling/src/monte_carlo_cooler.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_MONTE_CARLO_COOLER_HH
 #define PROMOD_MODELLING_MONTE_CARLO_COOLER_HH
 
diff --git a/modelling/src/monte_carlo_sampler.cc b/modelling/src/monte_carlo_sampler.cc
index e2d69b7675523fa369504003e2a9e12e25385393..31e398be7b38a72144447a14908d89705b2748e8 100644
--- a/modelling/src/monte_carlo_sampler.cc
+++ b/modelling/src/monte_carlo_sampler.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/monte_carlo_sampler.hh>
 
 
diff --git a/modelling/src/monte_carlo_sampler.hh b/modelling/src/monte_carlo_sampler.hh
index e80478fd2e9629e8a26e485df6d90bd628f85781..e3e7223c9f2f229b858672ce6ffed92f769322d3 100644
--- a/modelling/src/monte_carlo_sampler.hh
+++ b/modelling/src/monte_carlo_sampler.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_MONTE_CARLO_SAMPLER_HH
 #define PROMOD_MODELLING_MONTE_CARLO_SAMPLER_HH
 
diff --git a/modelling/src/monte_carlo_scorer.cc b/modelling/src/monte_carlo_scorer.cc
index ba536e7d772fc8b8d506c8375269e4d9fb528da1..e13fb44305136f832ec8b885b4ab80cfdbe18029 100644
--- a/modelling/src/monte_carlo_scorer.cc
+++ b/modelling/src/monte_carlo_scorer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/monte_carlo_scorer.hh>
 
 namespace promod3 { namespace modelling {
diff --git a/modelling/src/monte_carlo_scorer.hh b/modelling/src/monte_carlo_scorer.hh
index a6707b359e0a138f296120815e524bfd9f4488b8..b478805833423e8246510fd02a2de3b1a08b87ec 100644
--- a/modelling/src/monte_carlo_scorer.hh
+++ b/modelling/src/monte_carlo_scorer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_MONTE_CARLO_SCORER_HH
 #define PROMOD_MODELLING_MONTE_CARLO_SCORER_HH
 
diff --git a/modelling/src/rigid_blocks.cc b/modelling/src/rigid_blocks.cc
index df46c90fc4195cf3c47b6f4bb09a2b9ec5301e7f..d334a932ce55795573d6a857d9da314ac5710910 100644
--- a/modelling/src/rigid_blocks.cc
+++ b/modelling/src/rigid_blocks.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/rigid_blocks.hh>
 #include <promod3/core/cluster.hh>
 
diff --git a/modelling/src/rigid_blocks.hh b/modelling/src/rigid_blocks.hh
index a210c6e77ab0e4b9aba403f09420d37145b2561d..9cddf9254d38c8a4bd11ebdfdcd1609da244f131 100644
--- a/modelling/src/rigid_blocks.hh
+++ b/modelling/src/rigid_blocks.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD_MODELLING_RIGID_BLOCKS_HH
 #define PROMOD_MODELLING_RIGID_BLOCKS_HH
 
diff --git a/modelling/src/score_container.cc b/modelling/src/score_container.cc
index 5cbaf767239e742459ba58096debc49ee7113ca3..0a707265a03cae4f76d129685f7c52cedb85c385 100644
--- a/modelling/src/score_container.cc
+++ b/modelling/src/score_container.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/score_container.hh>
 
 namespace promod3 { namespace modelling {
diff --git a/modelling/src/score_container.hh b/modelling/src/score_container.hh
index cd5b235b6c8b15966eb2cb971785955ecdd95d56..08ba76781e32113371941d02731ef68d1070a4a4 100644
--- a/modelling/src/score_container.hh
+++ b/modelling/src/score_container.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_MODELLING_SCORE_CONTAINER_HH
 #define PROMOD3_MODELLING_SCORE_CONTAINER_HH
 
diff --git a/modelling/src/scoring_weights.cc b/modelling/src/scoring_weights.cc
index ac8ad4f8fd8408a604842f5c54744ed6a1e50f05..aa484910b25a2926bbef7775795e5c61191c9864 100644
--- a/modelling/src/scoring_weights.cc
+++ b/modelling/src/scoring_weights.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/scoring_weights.hh>
 #include <promod3/core/message.hh>
 
diff --git a/modelling/src/scoring_weights.hh b/modelling/src/scoring_weights.hh
index b51158e330ef1f476c266751f4cdbf9a9f872406..72f59dc84b018be59b454c40c26822ddb78093cc 100644
--- a/modelling/src/scoring_weights.hh
+++ b/modelling/src/scoring_weights.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_MODELLING_SCORING_WEIGHTS_HH
 #define PROMOD3_MODELLING_SCORING_WEIGHTS_HH
 
diff --git a/modelling/src/sidechain_env_listener.cc b/modelling/src/sidechain_env_listener.cc
index d72e09f30a9c918c87d1569aabe9be055c6de17f..19d97aa12f345b8c6b81bc184457b9c7cb7e7226 100644
--- a/modelling/src/sidechain_env_listener.cc
+++ b/modelling/src/sidechain_env_listener.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/sidechain_env_listener.hh>
 #include <promod3/sidechain/sidechain_object_loader.hh>
 #include <promod3/core/runtime_profiling.hh>
@@ -14,11 +30,11 @@ SidechainEnvListener::SidechainEnvListener(bool use_frm, bool use_bbdep_lib,
                                            , env_(20.0), env_data_(NULL) {
   // check
   if (use_frm_ && !use_bbdep_lib_) {
-    throw promod3::Error("Cannot use PenultimateLib with FRMRotamers!");
+    throw promod3::Error("Cannot use non backbone dependent lib with FRMRotamers!");
   }
   // setup library
-  if (use_bbdep_lib_) bbdep_library_ = sidechain::LoadDunbrackLib();
-  else library_ = sidechain::LoadPenultimateLib();
+  if (use_bbdep_lib_) bbdep_library_ = sidechain::LoadBBDepLib();
+  else library_ = sidechain::LoadLib();
 
 }
 
diff --git a/modelling/src/sidechain_env_listener.hh b/modelling/src/sidechain_env_listener.hh
index 2f8c14a1349f80b6d36464debc298b7aa3161d01..309930e65e0b0db0469a36c1338e7c39db22a118 100644
--- a/modelling/src/sidechain_env_listener.hh
+++ b/modelling/src/sidechain_env_listener.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SIDECHAIN_ENV_LISTENER_HH
 #define PM3_SIDECHAIN_ENV_LISTENER_HH
 
diff --git a/modelling/src/sidechain_reconstructor.cc b/modelling/src/sidechain_reconstructor.cc
index 9bc1dabac79df3bc9474f41108bf61e1ac12f887..3e63c3221e189cb5cca392298fcc34545581e971 100644
--- a/modelling/src/sidechain_reconstructor.cc
+++ b/modelling/src/sidechain_reconstructor.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/modelling/sidechain_reconstructor.hh>
 #include <promod3/sidechain/disulfid.hh>
 #include <promod3/sidechain/rotamer_graph.hh>
diff --git a/modelling/src/sidechain_reconstructor.hh b/modelling/src/sidechain_reconstructor.hh
index 6c1a4ac06e05a0683a960579b39883d7007c39e4..167493b0ecae058728ba4a02ce9584658d6e4d96 100644
--- a/modelling/src/sidechain_reconstructor.hh
+++ b/modelling/src/sidechain_reconstructor.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SIDECHAIN_RECONSTRUCTOR_HH
 #define PM3_SIDECHAIN_RECONSTRUCTOR_HH
 
diff --git a/modelling/tests/CMakeLists.txt b/modelling/tests/CMakeLists.txt
index 41792a8b7cd90a6cec0593b801e8cd39df877696..be4d60a8f70218533b3bcd555da3114454075299 100644
--- a/modelling/tests/CMakeLists.txt
+++ b/modelling/tests/CMakeLists.txt
@@ -55,6 +55,7 @@ set(MODELLING_TEST_DATA
   data/del.fasta
   data/ff_NAD.dat
   data/gly.pdb
+  data/gly_shifted_nter.pdb
   data/hetero-punched.pdb
   data/ins.fasta
   data/modelCApartial-5tgl1A.pdb
diff --git a/modelling/tests/data/gly_shifted_nter.pdb b/modelling/tests/data/gly_shifted_nter.pdb
new file mode 100644
index 0000000000000000000000000000000000000000..bc8949cdf00fcc944fccf1f1d7fdad9b7ce6daf6
--- /dev/null
+++ b/modelling/tests/data/gly_shifted_nter.pdb
@@ -0,0 +1,81 @@
+ATOM      1  N   GLY A   1      -9.301  13.863  14.812  1.00 46.35           N  
+ATOM      2  CA  GLY A   1      -8.174  14.241  15.713  1.00 45.84           C  
+ATOM      3  C   GLY A   1      -7.595  13.051  16.465  1.00 44.35           C  
+ATOM      4  O   GLY A   1      -8.219  11.989  16.526  1.00 46.54           O  
+ATOM      9  N   GLY A   2      -6.383  13.240  16.995  1.00 42.02           N  
+ATOM     10  CA  GLY A   2      -5.611  12.243  17.755  1.00 39.04           C  
+ATOM     11  C   GLY A   2      -5.093  11.042  16.960  1.00 35.73           C  
+ATOM     12  O   GLY A   2      -5.875  10.322  16.336  1.00 35.25           O  
+ATOM     18  N   GLY A   3      -5.757   8.838  14.934  1.00 32.59           N  
+ATOM     19  CA  GLY A   3      -5.167   7.704  14.210  1.00 30.22           C  
+ATOM     20  C   GLY A   3      -5.475   6.389  14.924  1.00 28.03           C  
+ATOM     21  O   GLY A   3      -5.774   6.389  16.125  1.00 25.91           O  
+ATOM     25  N   GLY A   4      -5.434   5.288  14.176  1.00 26.73           N  
+ATOM     26  CA  GLY A   4      -5.705   3.960  14.726  1.00 26.95           C  
+ATOM     27  C   GLY A   4      -4.622   3.524  15.706  1.00 27.12           C  
+ATOM     28  O   GLY A   4      -3.426   3.545  15.366  1.00 27.18           O  
+ATOM     35  N   GLY A   5      -5.020   3.161  16.948  1.00 27.05           N  
+ATOM     36  CA  GLY A   5      -4.064   2.725  17.976  1.00 26.49           C  
+ATOM     37  C   GLY A   5      -3.515   1.307  17.792  1.00 25.98           C  
+ATOM     38  O   GLY A   5      -2.801   0.795  18.659  1.00 26.77           O  
+ATOM     42  N   GLY A   6      -3.807   0.705  16.641  1.00 23.73           N  
+ATOM     43  CA  GLY A   6      -3.371  -0.650  16.363  1.00 22.05           C  
+ATOM     44  C   GLY A   6      -2.311  -0.858  15.292  1.00 21.12           C  
+ATOM     45  O   GLY A   6      -1.814  -1.970  15.124  1.00 19.47           O  
+ATOM     56  N   GLY A   7      -1.980   0.191  14.544  1.00 22.58           N  
+ATOM     57  CA  GLY A   7      -0.962   0.055  13.501  1.00 20.39           C  
+ATOM     58  C   GLY A   7       0.393   0.457  14.047  1.00 22.27           C  
+ATOM     59  O   GLY A   7       0.645   1.639  14.340  1.00 22.00           O  
+ATOM     67  N   GLY A   8       1.271  -0.539  14.140  1.00 21.40           N  
+ATOM     68  CA  GLY A   8       2.612  -0.344  14.678  1.00 21.91           C  
+ATOM     69  C   GLY A   8       3.734  -0.393  13.645  1.00 22.34           C  
+ATOM     70  O   GLY A   8       4.910  -0.258  13.998  1.00 24.21           O  
+ATOM     78  N   GLY A   9       3.365  -0.539  12.371  1.00 20.22           N  
+ATOM     79  CA  GLY A   9       4.342  -0.585  11.293  1.00 20.67           C  
+ATOM     80  C   GLY A   9       5.264  -1.780  11.345  1.00 20.79           C  
+ATOM     81  O   GLY A   9       4.834  -2.874  11.700  1.00 19.22           O  
+ATOM     82  N   GLY A  10       6.545  -1.555  11.072  1.00 20.29           N  
+ATOM     83  CA  GLY A  10       7.521  -2.635  11.071  1.00 22.16           C  
+ATOM     84  C   GLY A  10       8.055  -3.014  12.464  1.00 23.01           C  
+ATOM     85  O   GLY A  10       9.266  -3.098  12.676  1.00 23.84           O  
+ATOM     91  N   GLY A  11       7.141  -3.248  13.409  1.00 24.30           N  
+ATOM     92  CA  GLY A  11       7.527  -3.666  14.757  1.00 23.54           C  
+ATOM     93  C   GLY A  11       7.811  -5.171  14.643  1.00 23.07           C  
+ATOM     94  O   GLY A  11       7.027  -5.913  14.030  1.00 23.44           O  
+ATOM     99  N   GLY A  12       9.005  -5.608  15.082  1.00 23.03           N  
+ATOM    100  CA  GLY A  12       9.328  -7.039  15.000  1.00 23.30           C  
+ATOM    101  C   GLY A  12       8.373  -7.936  15.805  1.00 22.52           C  
+ATOM    102  O   GLY A  12       7.733  -7.476  16.760  1.00 21.80           O  
+ATOM    106  N   GLY A  13       8.271  -9.196  15.382  1.00 22.06           N  
+ATOM    107  CA  GLY A  13       7.433 -10.219  16.020  1.00 22.83           C  
+ATOM    108  C   GLY A  13       7.699 -10.347  17.529  1.00 24.10           C  
+ATOM    109  O   GLY A  13       6.768 -10.261  18.334  1.00 23.86           O  
+ATOM    117  N   GLY A  14       8.974 -10.480  17.898  1.00 22.59           N  
+ATOM    118  CA  GLY A  14       9.386 -10.612  19.299  1.00 23.66           C  
+ATOM    119  C   GLY A  14       9.109  -9.356  20.121  1.00 23.97           C  
+ATOM    120  O   GLY A  14       8.824  -9.445  21.320  1.00 21.85           O  
+ATOM    122  N   GLY A  15       9.149  -8.199  19.455  1.00 23.41           N  
+ATOM    123  CA  GLY A  15       8.880  -6.917  20.103  1.00 25.09           C  
+ATOM    124  C   GLY A  15       7.378  -6.717  20.320  1.00 23.56           C  
+ATOM    125  O   GLY A  15       6.968  -6.064  21.278  1.00 23.45           O  
+ATOM    131  N   GLY A  16       6.569  -7.318  19.442  1.00 21.80           N  
+ATOM    132  CA  GLY A  16       5.106  -7.272  19.532  1.00 20.39           C  
+ATOM    133  C   GLY A  16       4.711  -8.157  20.718  1.00 20.37           C  
+ATOM    134  O   GLY A  16       3.856  -7.788  21.511  1.00 18.06           O  
+ATOM    136  N   GLY A  17       5.429  -9.273  20.876  1.00 20.11           N  
+ATOM    137  CA  GLY A  17       5.215 -10.213  21.983  1.00 21.59           C  
+ATOM    138  C   GLY A  17       5.492  -9.561  23.332  1.00 22.42           C  
+ATOM    139  O   GLY A  17       4.665  -9.622  24.238  1.00 23.01           O  
+ATOM    145  N   GLY A  18       6.639  -8.890  23.414  1.00 24.69           N  
+ATOM    146  CA  GLY A  18       7.114  -8.182  24.603  1.00 26.91           C  
+ATOM    147  C   GLY A  18       6.147  -7.077  25.056  1.00 26.71           C  
+ATOM    148  O   GLY A  18       5.800  -7.000  26.231  1.00 27.59           O  
+ATOM    154  N   GLY A  19       5.683  -6.273  24.099  1.00 25.69           N  
+ATOM    155  CA  GLY A  19       4.764  -5.161  24.348  1.00 25.99           C  
+ATOM    156  C   GLY A  19       3.375  -5.643  24.772  1.00 23.81           C  
+ATOM    157  O   GLY A  19       2.828  -5.155  25.769  1.00 24.09           O  
+ATOM    162  N   GLY A  20       2.830  -6.601  24.019  1.00 19.41           N  
+ATOM    163  CA  GLY A  20       1.496  -7.148  24.282  1.00 21.16           C  
+ATOM    164  C   GLY A  20       1.366  -8.006  25.540  1.00 20.66           C  
+ATOM    165  O   GLY A  20       0.301  -8.035  26.151  1.00 20.51           O  
+END
diff --git a/modelling/tests/test_close_gaps.py b/modelling/tests/test_close_gaps.py
index 988cb6078aac2da0ad8a19ba9441ce4fbe2c8aec..43a2e2d599f62613f9f8379f996112b2f9242627 100644
--- a/modelling/tests/test_close_gaps.py
+++ b/modelling/tests/test_close_gaps.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Unit tests for modelling components to close gaps.
 """
diff --git a/modelling/tests/test_gap_extension.py b/modelling/tests/test_gap_extension.py
index a5504bc191c8b534112c47444a6ae217b2fe8618..2c7b5d93665cfbf7ac70df1b741d3f374ad2fcd6 100644
--- a/modelling/tests/test_gap_extension.py
+++ b/modelling/tests/test_gap_extension.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import unittest
 from promod3 import modelling
 from ost import io,seq
diff --git a/modelling/tests/test_loop_candidates.cc b/modelling/tests/test_loop_candidates.cc
index 70c92d55fb35c002c0d3077aaaa1c334b9df29b5..f82acf29f4c931c589960898fa936d53c5fdf290 100644
--- a/modelling/tests/test_loop_candidates.cc
+++ b/modelling/tests/test_loop_candidates.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/modelling/loop_candidate.hh>
 
diff --git a/modelling/tests/test_loop_closing.cc b/modelling/tests/test_loop_closing.cc
index 5a7b9d475f651dd39a955400f2fb8264e3c3c555..7d1c163f405f0a512ced58284e38f92ba90858d5 100644
--- a/modelling/tests/test_loop_closing.cc
+++ b/modelling/tests/test_loop_closing.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/modelling/kic.hh>
 #include <promod3/modelling/ccd.hh>
diff --git a/modelling/tests/test_modelling.py b/modelling/tests/test_modelling.py
index 7e1bebee4221149467c1cb435103ab598968bdc2..f7169d4d60577dddc3fd54429d67627e49765343 100644
--- a/modelling/tests/test_modelling.py
+++ b/modelling/tests/test_modelling.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Unit tests for modelling.
 """
@@ -51,6 +67,7 @@ class ModellingTests(unittest.TestCase):
         aln.AttachView(1, tpl.CreateFullView())
         result = modelling.BuildRawModel(aln)
         seq1 = seq.SequenceFromChain('MODEL', result.model.chains[0])
+        self.assertEqual(len(result.gaps), 0)
         self.assertEqual(seq1.string, aln.sequences[0].string)
 
     def testDeletion(self):
@@ -77,6 +94,19 @@ class ModellingTests(unittest.TestCase):
         self.assertEqual(result.gaps[0].after, residues[2])
         self.assertEqual(result.gaps[0].seq, 'AV')
 
+    def testNonFeasiblePeptideBond(self):
+        # test if the result contains a gap when two residues cannot be 
+        # connected with a feasible peptide bond
+        tpl = io.LoadPDB('data/gly_shifted_nter.pdb')
+        aln = io.LoadAlignment('data/seq.fasta')
+        aln.AttachView(1, tpl.CreateFullView())
+        result = modelling.BuildRawModel(aln)
+        residues = result.model.residues
+        self.assertEqual(len(result.gaps), 1)
+        self.assertEqual(result.gaps[0].before, residues[1])
+        self.assertEqual(result.gaps[0].after, residues[2])
+        self.assertEqual(result.gaps[0].seq, '')
+
     def testTer(self):
         # test if the result contains two terminal gaps, one at the beginning,
         # one at the end
diff --git a/modelling/tests/test_pipeline.py b/modelling/tests/test_pipeline.py
index b43d05a308e0530df362d3b3e4e2018b31cba31f..0654915a03a25ef84c71702846839c7c85b4a517 100644
--- a/modelling/tests/test_pipeline.py
+++ b/modelling/tests/test_pipeline.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Unit tests for modelling pipeline components.
 We go from a fake cut in crambin to reconstruct that same protein.
diff --git a/modelling/tests/test_ring_punches.py b/modelling/tests/test_ring_punches.py
index 901cfbc04e10a7dedbb7e7ebb3f5e1e738cacd2a..64d1b1b80cbd8a6bfda65f14f6d051366f939cc4 100644
--- a/modelling/tests/test_ring_punches.py
+++ b/modelling/tests/test_ring_punches.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 """
 Unit tests to detect ring punchings.
 """
diff --git a/modelling/tests/test_sidechain_reconstruction.py b/modelling/tests/test_sidechain_reconstruction.py
index 37c82e652036a155f409d6f1e7ce4c9f45e88d4d..7b5a988ff484b7513187db97dc4e00da246c7d86 100644
--- a/modelling/tests/test_sidechain_reconstruction.py
+++ b/modelling/tests/test_sidechain_reconstruction.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 import unittest
 from ost import io, mol, geom
 from promod3 import loop, sidechain, modelling
@@ -8,8 +24,8 @@ class SidechainTests(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
         '''Load libs here for all tests.'''
-        cls.bbdep_rotamer_library = sidechain.LoadDunbrackLib() # DEFAULT
-        cls.rotamer_library = sidechain.LoadPenultimateLib()
+        cls.bbdep_rotamer_library = sidechain.LoadBBDepLib() # DEFAULT
+        cls.rotamer_library = sidechain.LoadLib()
 
     #######################################################################
     # HELPERs
diff --git a/modelling/tests/test_sidechain_reconstructor.cc b/modelling/tests/test_sidechain_reconstructor.cc
index e6f9a9a2ee5f6e5ead668361f4e00857e284feca..7e730c697d6401bc8170bac20f3bdea6f33cd573 100644
--- a/modelling/tests/test_sidechain_reconstructor.cc
+++ b/modelling/tests/test_sidechain_reconstructor.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/modelling/sidechain_reconstructor.hh>
 #include <promod3/core/message.hh>
diff --git a/modelling/tests/tests.cc b/modelling/tests/tests.cc
index 956b0f2712eee2fcb1cc6ae9b9f183a4caa360cb..b497ab9838fe7aeeb97fcc164d0fa443164c0a06 100644
--- a/modelling/tests/tests.cc
+++ b/modelling/tests/tests.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE promod3_modelling
 #define BOOST_AUTO_TEST_MAIN
diff --git a/scoring/data/convert_binaries.py b/scoring/data/convert_binaries.py
index d7b5ff7c2978492f5bc0902ce706ac32921e4ae5..4a6210bf1a76efad00ab6768f686166e1515ec87 100644
--- a/scoring/data/convert_binaries.py
+++ b/scoring/data/convert_binaries.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''Convert files from portable to raw.'''
 import sys
 import os
diff --git a/scoring/doc/all_atom_scorers.rst b/scoring/doc/all_atom_scorers.rst
index 0a1b39b1613522dd671df0b73b32e98dcaac55eb..bcb3cdc43ed0e78becf8a07467928571d60bf604 100644
--- a/scoring/doc/all_atom_scorers.rst
+++ b/scoring/doc/all_atom_scorers.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 All Atom Scorers
 ================================================================================
 
diff --git a/scoring/doc/backbone_score_env.rst b/scoring/doc/backbone_score_env.rst
index 25980a4d34ba90890e7686c87838fa8dcd0f1679..11ea33ce9e947a60b120cc82e658231249e48082 100644
--- a/scoring/doc/backbone_score_env.rst
+++ b/scoring/doc/backbone_score_env.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Backbone Score Environment
 ================================================================================
 
@@ -187,9 +203,9 @@ Pairwise function classes
 
   Inherits all functionality of :class:`PairwiseFunction`.
   Defines a constraint function. The score for a distance between *min_dist* and
-  *max_dist* is determined by liner interpolation assuming the first and last 
-  value exactly lying on *min_dist* ang *max_dist*. For distances outside the 
-  range defined by *min_dist* and *max_dist*, the score is 0.0.
+  *max_dist* is determined by linear interpolation assuming the first and last 
+  value exactly lying on *min_dist* and *max_dist*. For distances outside the 
+  range defined by *min_dist* and *max_dist*, the returned score is 0.0.
 
   :param min_dist:    Minimal distance to be considered
   :param max_dist:    Maximal distance to be considered
@@ -200,9 +216,6 @@ Pairwise function classes
   :type max_dist:     :class:`float`
   :type values:       :class:`list` of :class:`float`
 
-
-  :returns:           Index of added constraint definition
-
   :raises: :exc:`~exceptions.RuntimeError` if *min_dist* >= *max_dist* or when
            *min_dist* or *max_dist* are negative or when *values* contains no
            elements
@@ -211,7 +224,7 @@ Pairwise function classes
 
   Inherits all functionality of :class:`PairwiseFunction`.
   Defines a simple contact function. The score value is *score* if
-  distance < *max_dist* and 0 otherwise.
+  distance < *max_dist* and 0.0 otherwise.
 
   :param max_dist:    Maximal distance to be in contact
   :param score:       Value that gets returned if in contact
diff --git a/scoring/doc/backbone_scorers.rst b/scoring/doc/backbone_scorers.rst
index 55a07ec77cc2e0ebc0b619c90c4ebaf824e9531a..68a45cab6d736cc1963c245bb0c5cf1e0e140e08 100644
--- a/scoring/doc/backbone_scorers.rst
+++ b/scoring/doc/backbone_scorers.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Backbone Scorers
 ================================================================================
 
@@ -249,10 +265,10 @@ CBetaScorer class
   The scorer needs to be initialized either by loading a predefined scorer (e.g.
   :func:`LoadCBetaScorer`) or by setting all energies (see :meth:`SetEnergy`).
 
-  :param cutoff: Radius in which other cbeta atoms are counted.
+  :param cutoff: Radius in which other cbeta atoms are considered.
   :type cutoff:  :class:`float`
   :param bins: Number of equally sized bins to discretize distances (range
-               of [0,*cutoff*]).
+               of [0, *cutoff*]).
   :type bins:  :class:`int`
   :param seq_sep: Minimal separation in sequence two cbeta atoms must have to
                   be considered.
diff --git a/scoring/doc/index.rst b/scoring/doc/index.rst
index 983d6b5587c5f70fc9088e6bdac386567fef16c3..d21154f06951fcdb6bbbe1c11f329f69f24bd57c 100644
--- a/scoring/doc/index.rst
+++ b/scoring/doc/index.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.scoring` - Loop Scoring
 ================================================================================
 
@@ -7,7 +23,11 @@
 .. currentmodule:: promod3.scoring
 
 Tools and algorithms to score loops. The scoring system is split between an
-environment which contains model-specific data and scorers which evaluate loops.
+environment and scorers.
+Several scorers can be attached to the same environment containing the
+actual structural data of the current modelling problem.
+The environment is updated as the modelling proceeds and manages efficient
+spatial lookups to be used by the attached scorers.
 
 In this example, we load a structure, setup a score environment, link a few
 scorers to it and finally score some loops:
diff --git a/scoring/doc/other_scoring_functions.rst b/scoring/doc/other_scoring_functions.rst
index f505232e026655cdebf83d068269e805eb99fedd..80487531f986d6004e6764b8a8575be11b8bf6de 100644
--- a/scoring/doc/other_scoring_functions.rst
+++ b/scoring/doc/other_scoring_functions.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Other Scoring Functions
 ================================================================================
 
@@ -53,4 +69,3 @@ Scoring Functions from SCWRL3
 
 
 
-.. [canutescu2003b] Canutescu AA, Shelenkov AA, Dunbrack RL Jr. (2003). A graph-theory algorithm for rapid protein side-chain prediction. Protein Sci (2003).
diff --git a/scoring/pymod/__init__.py b/scoring/pymod/__init__.py
index 9a977e84016d8b94a0396beac02175298fa2cbb8..e00f68205fd1fecacb0edb1d4e8582ca3323e9c5 100644
--- a/scoring/pymod/__init__.py
+++ b/scoring/pymod/__init__.py
@@ -1 +1,17 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from _scoring import *
diff --git a/scoring/pymod/export_all_atom_score.cc b/scoring/pymod/export_all_atom_score.cc
index ddaa3f50594fadf0dad1e71ee833d26e1d970777..a3990a887e39b885b65d9f6f319f216fd0e926bb 100644
--- a/scoring/pymod/export_all_atom_score.cc
+++ b/scoring/pymod/export_all_atom_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/export_helper.hh>
 #include <promod3/scoring/all_atom_score_base.hh>
diff --git a/scoring/pymod/export_backbone_score.cc b/scoring/pymod/export_backbone_score.cc
index 8bc2b5800aac45118768dc14f9f0a44427bf0b36..78722280ad48d79749bb8a778d3fbd7b839782b5 100644
--- a/scoring/pymod/export_backbone_score.cc
+++ b/scoring/pymod/export_backbone_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/export_helper.hh>
 #include <promod3/scoring/backbone_score_base.hh>
diff --git a/scoring/pymod/export_constraint_constructor.cc b/scoring/pymod/export_constraint_constructor.cc
index 2de16edbb11164c91ee0604a102ab8e0c9ecc78a..0005e736b693643f62f44b68b5e2abf82aa81241 100644
--- a/scoring/pymod/export_constraint_constructor.cc
+++ b/scoring/pymod/export_constraint_constructor.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/core/export_helper.hh>
 #include <promod3/scoring/constraint_constructor.hh>
diff --git a/scoring/pymod/export_density_scorer.cc b/scoring/pymod/export_density_scorer.cc
index f022f963aee63b41120ca950a1db90d89b14ffec..b887a2daf1c6ea65c228ca23cbd1bd5c37f152a0 100644
--- a/scoring/pymod/export_density_scorer.cc
+++ b/scoring/pymod/export_density_scorer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/scoring/density_score.hh>
 
diff --git a/scoring/pymod/export_object_loader.cc b/scoring/pymod/export_object_loader.cc
index 73e8909c4ad1e7912773065470191c24f90e85a7..7c4791327e1fde416bcb15960eb2e5c2c65ca517 100644
--- a/scoring/pymod/export_object_loader.cc
+++ b/scoring/pymod/export_object_loader.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/scoring/scoring_object_loader.hh>
 
diff --git a/scoring/pymod/export_pairwise_functions.cc b/scoring/pymod/export_pairwise_functions.cc
index b43f195c41a12ff6c293699127bd54be882de60d..4aa5bfc121d8166367db1da217f5dd0ac7765716 100644
--- a/scoring/pymod/export_pairwise_functions.cc
+++ b/scoring/pymod/export_pairwise_functions.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/scoring/pairwise_scoring_function.hh>
 #include <promod3/core/export_helper.hh>
diff --git a/scoring/pymod/export_scwrl3_energy_functions.cc b/scoring/pymod/export_scwrl3_energy_functions.cc
index 54c5a8e1e8155b575dc8d0971eeaee102c683a89..58136cc8d88d6483fcd9eeaaf7188c7cfb2fc9b4 100644
--- a/scoring/pymod/export_scwrl3_energy_functions.cc
+++ b/scoring/pymod/export_scwrl3_energy_functions.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/scoring/scwrl3_energy_functions.hh>
 #include <promod3/core/export_helper.hh>
diff --git a/scoring/pymod/wrap_scoring.cc b/scoring/pymod/wrap_scoring.cc
index 4b717f9cbc40743c1e84fcef141dc8e95bdb874f..a162eec0d2403fe153587642000859552249934e 100644
--- a/scoring/pymod/wrap_scoring.cc
+++ b/scoring/pymod/wrap_scoring.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 
 void export_BackboneScore();
diff --git a/scoring/src/all_atom_clash_score.cc b/scoring/src/all_atom_clash_score.cc
index eb011421297ff1de8c10f6fbd5a14533c2c2706e..de47faeaf2bbd6c0c3569c73c9699d2789941db9 100644
--- a/scoring/src/all_atom_clash_score.cc
+++ b/scoring/src/all_atom_clash_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/all_atom_clash_score.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <promod3/core/check_io.hh>
diff --git a/scoring/src/all_atom_clash_score.hh b/scoring/src/all_atom_clash_score.hh
index df69a60646241c8a1c563c8234b7bc30283ee193..39f0ae6bbc80448e9ab25c048bff543933deb27a 100644
--- a/scoring/src/all_atom_clash_score.hh
+++ b/scoring/src/all_atom_clash_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_ALL_ATOM_CLASH_SCORE_HH
 #define PM3_SCORING_ALL_ATOM_CLASH_SCORE_HH
 
diff --git a/scoring/src/all_atom_interaction_env_listener.cc b/scoring/src/all_atom_interaction_env_listener.cc
index 122ab3a28456c0fdacc1d1a5465414ceb98d0e4e..c5cff244cb8cf863e2661a2fe7a0478cbf10673d 100644
--- a/scoring/src/all_atom_interaction_env_listener.cc
+++ b/scoring/src/all_atom_interaction_env_listener.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/all_atom_interaction_env_listener.hh>
 #include <promod3/core/runtime_profiling.hh>
 
diff --git a/scoring/src/all_atom_interaction_env_listener.hh b/scoring/src/all_atom_interaction_env_listener.hh
index f97a9da63f065f0be185e992a423724c1acaca49..bf6f800b0d4a7c9ab18d9db9a35a802b0cc62313 100644
--- a/scoring/src/all_atom_interaction_env_listener.hh
+++ b/scoring/src/all_atom_interaction_env_listener.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_ALL_ATOM_SCORE_ENV_LISTENER_HH
 #define PM3_SCORING_ALL_ATOM_SCORE_ENV_LISTENER_HH
 
diff --git a/scoring/src/all_atom_interaction_score.cc b/scoring/src/all_atom_interaction_score.cc
index 35c9f4955e2a13070a4b6ff4fa3b93731a90ac4f..2ccc192e07d4b74e807ebd8d6774db4c0dd3fa8c 100644
--- a/scoring/src/all_atom_interaction_score.cc
+++ b/scoring/src/all_atom_interaction_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/all_atom_interaction_score.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <promod3/core/check_io.hh>
diff --git a/scoring/src/all_atom_interaction_score.hh b/scoring/src/all_atom_interaction_score.hh
index 5aadd05c56ca9b67ac8f86259ef6e06d9350c1fa..0e2166a1c1ed5a020cfbfd3a480dd23fd8c286d4 100644
--- a/scoring/src/all_atom_interaction_score.hh
+++ b/scoring/src/all_atom_interaction_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_ALL_ATOM_INTERACTION_SCORE_HH
 #define PM3_SCORING_ALL_ATOM_INTERACTION_SCORE_HH
 
diff --git a/scoring/src/all_atom_overall_scorer.cc b/scoring/src/all_atom_overall_scorer.cc
index 314f22d7c5e5336bc30fe62b09af20e414561489..891fa9448fa0373eefbcf04feacae82a951cb343 100644
--- a/scoring/src/all_atom_overall_scorer.cc
+++ b/scoring/src/all_atom_overall_scorer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/all_atom_overall_scorer.hh>
 
 namespace promod3 { namespace scoring {
diff --git a/scoring/src/all_atom_overall_scorer.hh b/scoring/src/all_atom_overall_scorer.hh
index ac090a46f7f55b58aba5dd27a09f4a9c0c6c04a1..81770d349d0d94da8b24456b3c92c60221771090 100644
--- a/scoring/src/all_atom_overall_scorer.hh
+++ b/scoring/src/all_atom_overall_scorer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_ALL_ATOM_OVERALL_SCORER_HH
 #define PM3_SCORING_ALL_ATOM_OVERALL_SCORER_HH
 
diff --git a/scoring/src/all_atom_packing_score.cc b/scoring/src/all_atom_packing_score.cc
index aef0d0a0ee488290b48cf5546d863f761c640cdb..786ba8601894329127dc9fd32ee015129efc604e 100644
--- a/scoring/src/all_atom_packing_score.cc
+++ b/scoring/src/all_atom_packing_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/all_atom_packing_score.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <promod3/core/check_io.hh>
diff --git a/scoring/src/all_atom_packing_score.hh b/scoring/src/all_atom_packing_score.hh
index 71cf70ea1a9359398923571105c41bd6e7a6b71f..899b6b1ccd8ab0e6d1989fbdc7966a6c16230246 100644
--- a/scoring/src/all_atom_packing_score.hh
+++ b/scoring/src/all_atom_packing_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_ALL_ATOM_PACKING_SCORE_HH
 #define PM3_SCORING_ALL_ATOM_PACKING_SCORE_HH
 
diff --git a/scoring/src/all_atom_score_base.hh b/scoring/src/all_atom_score_base.hh
index ba17cb0843b8523633bdcb24d530d3a53f89cfcb..abf7100ee54d1e805402f10bf5a99ca21958122a 100644
--- a/scoring/src/all_atom_score_base.hh
+++ b/scoring/src/all_atom_score_base.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_ALL_ATOM_SCORE_BASE_HH
 #define PM3_SCORING_ALL_ATOM_SCORE_BASE_HH
 
diff --git a/scoring/src/backbone_overall_scorer.cc b/scoring/src/backbone_overall_scorer.cc
index bfa296653be248bcbdca2e27ebe81328abe01840..5af0d12fde653c8dea2a1c4595dd512a7e060152 100644
--- a/scoring/src/backbone_overall_scorer.cc
+++ b/scoring/src/backbone_overall_scorer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/backbone_overall_scorer.hh>
 
 namespace promod3 { namespace scoring {
diff --git a/scoring/src/backbone_overall_scorer.hh b/scoring/src/backbone_overall_scorer.hh
index 94af847f50e8e9bcd99414526e420cdc33da6902..61db071b109699502779aa38506338b692c20f87 100644
--- a/scoring/src/backbone_overall_scorer.hh
+++ b/scoring/src/backbone_overall_scorer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_BACKBONE_OVERALL_SCORER_HH
 #define PM3_SCORING_BACKBONE_OVERALL_SCORER_HH
 
diff --git a/scoring/src/backbone_score_base.cc b/scoring/src/backbone_score_base.cc
index 30888ec88eac26787f32d63406ea5f686404ae07..05ab62387a203e50e5b5607c736c8c356b971f1c 100644
--- a/scoring/src/backbone_score_base.cc
+++ b/scoring/src/backbone_score_base.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/backbone_score_base.hh>
 
 
diff --git a/scoring/src/backbone_score_base.hh b/scoring/src/backbone_score_base.hh
index 8631f8a888f3cea59db7c5c4ba5638723c17d2e1..0b8ad73d8cae64341db1b66644d24586aff3335d 100644
--- a/scoring/src/backbone_score_base.hh
+++ b/scoring/src/backbone_score_base.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_BACKBONE_SCORE_HH
 #define PM3_SCORING_BACKBONE_SCORE_HH
 
diff --git a/scoring/src/cb_packing_score.cc b/scoring/src/cb_packing_score.cc
index 0f0b307df7677da899b0d155d7ced9cd72775f56..5d98abc3cda936181be58e2b68741957a5a7a73a 100644
--- a/scoring/src/cb_packing_score.cc
+++ b/scoring/src/cb_packing_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/cb_packing_score.hh>
 
 
diff --git a/scoring/src/cb_packing_score.hh b/scoring/src/cb_packing_score.hh
index 0f3e5518e8a17eb2c9eaf7b041a3deafe6c337fb..97772e275154cb1b9f8dd59e48022df843b59b2a 100644
--- a/scoring/src/cb_packing_score.hh
+++ b/scoring/src/cb_packing_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_CB_PACKING_SCORE_HH
 #define PM3_SCORING_CB_PACKING_SCORE_HH
 
diff --git a/scoring/src/cbeta_env_listener.cc b/scoring/src/cbeta_env_listener.cc
index 6b8092f5c7ca8d6c93cc9b0cbe1208e48e88b044..9bb3021a9cc222bb69276766ae30aa83412821cb 100644
--- a/scoring/src/cbeta_env_listener.cc
+++ b/scoring/src/cbeta_env_listener.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/cbeta_env_listener.hh>
 
 
diff --git a/scoring/src/cbeta_env_listener.hh b/scoring/src/cbeta_env_listener.hh
index af07e116c9f8386fa9db2313f8ea8b31d5e3ed9c..fd86b4e0a18785332e85eb85677429c82db93d6e 100644
--- a/scoring/src/cbeta_env_listener.hh
+++ b/scoring/src/cbeta_env_listener.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_CBETA_ENV_LISTENER_HH
 #define PM3_SCORING_CBETA_ENV_LISTENER_HH
 
diff --git a/scoring/src/cbeta_score.cc b/scoring/src/cbeta_score.cc
index 1932a20038350aa5d03f1f9c898abd8b62070de3..17eb90f88ce95b67a761477f3b47901d70c71636 100644
--- a/scoring/src/cbeta_score.cc
+++ b/scoring/src/cbeta_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/cbeta_score.hh>
 
 
diff --git a/scoring/src/cbeta_score.hh b/scoring/src/cbeta_score.hh
index c2686975efc7e187710954e1d3d32952c35134b2..2a4cb7b629b6c1194d814fcbab80061c1d9108ea 100644
--- a/scoring/src/cbeta_score.hh
+++ b/scoring/src/cbeta_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_CBETA_SCORE_HH
 #define PM3_SCORING_CBETA_SCORE_HH
 
diff --git a/scoring/src/clash_env_listener.cc b/scoring/src/clash_env_listener.cc
index 3bf1c656436207a3eb23c2d551d83cb9ed7fe838..f9ff06382e686b1d94a00d2447a244eb05fd732e 100644
--- a/scoring/src/clash_env_listener.cc
+++ b/scoring/src/clash_env_listener.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/clash_env_listener.hh>
 
 
diff --git a/scoring/src/clash_env_listener.hh b/scoring/src/clash_env_listener.hh
index cb4ee362b1d30c99823e6e3517879a7c56103fa7..3d8c121c8f6f7c03fdd2bcf20a0486424fa39075 100644
--- a/scoring/src/clash_env_listener.hh
+++ b/scoring/src/clash_env_listener.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_CLASH_ENV_LISTENER_HH
 #define PM3_SCORING_CLASH_ENV_LISTENER_HH
 
diff --git a/scoring/src/clash_score.cc b/scoring/src/clash_score.cc
index c7c2849124252180da3e5af0f76a4b63dc4f632f..f0589dc74a28a4fc4ba94650b8f6bb220e9e72fc 100644
--- a/scoring/src/clash_score.cc
+++ b/scoring/src/clash_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/clash_score.hh>
 #include <promod3/scoring/scwrl3_energy_functions.hh>
 
diff --git a/scoring/src/clash_score.hh b/scoring/src/clash_score.hh
index 2a06194ca6bb549c887f362bcb18641dc132511c..23251cc607083e34f1e8277e2430efa04c24ff97 100644
--- a/scoring/src/clash_score.hh
+++ b/scoring/src/clash_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_CLASH_SCORE_HH
 #define PM3_SCORING_CLASH_SCORE_HH
 
diff --git a/scoring/src/constraint_constructor.cc b/scoring/src/constraint_constructor.cc
index 15e200177219085de069322553b78a6615bd9ba3..127b78aef46598d94336df7d502cf27108f41bea 100644
--- a/scoring/src/constraint_constructor.cc
+++ b/scoring/src/constraint_constructor.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/constraint_constructor.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <promod3/core/cluster.hh>
diff --git a/scoring/src/constraint_constructor.hh b/scoring/src/constraint_constructor.hh
index e722bf6c694596bd39d7094dd6058b86ca833bbf..75e2b393032c419cce6a7f63dbe6047fd567e724 100644
--- a/scoring/src/constraint_constructor.hh
+++ b/scoring/src/constraint_constructor.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_CONSTRAINT_CONSTRUCTOR_HH
 #define PM3_SCORING_CONSTRAINT_CONSTRUCTOR_HH
 
diff --git a/scoring/src/density_score.cc b/scoring/src/density_score.cc
index 803a843b68e1dd8396d27b3cd67ef916c5232649..7ad2daac39745dc1d4f3f1efc24d759438c42822 100644
--- a/scoring/src/density_score.cc
+++ b/scoring/src/density_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/density_score.hh>
 
 namespace promod3{ namespace scoring{
diff --git a/scoring/src/density_score.hh b/scoring/src/density_score.hh
index d5e5123c3f733f2976e47c8928d32b6d11dc8f57..fe698cd36eaa5a1b79d52f7357840839be8eb823 100644
--- a/scoring/src/density_score.hh
+++ b/scoring/src/density_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_DENSITY_SCORE_HH
 #define PM3_SCORING_DENSITY_SCORE_HH
 
diff --git a/scoring/src/hbond_env_listener.cc b/scoring/src/hbond_env_listener.cc
index 08a64dce7b0f74939f5d6b7e04580e54038891e2..afe63391a632ba1d1260b7ee6350d73bb95df854 100644
--- a/scoring/src/hbond_env_listener.cc
+++ b/scoring/src/hbond_env_listener.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/hbond_env_listener.hh>
 #include <set>
 
diff --git a/scoring/src/hbond_env_listener.hh b/scoring/src/hbond_env_listener.hh
index d5e6ea01849d5de7f3d08abfe36652040bccfee5..7b45cdc6eeea1cc8c7aa8a88866928ff0caaff1f 100644
--- a/scoring/src/hbond_env_listener.hh
+++ b/scoring/src/hbond_env_listener.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_HBOND_ENV_LISTENER_HH
 #define PM3_SCORING_HBOND_ENV_LISTENER_HH
 
diff --git a/scoring/src/hbond_score.cc b/scoring/src/hbond_score.cc
index 19940c002455a7087c7966fbbdcbe7e1bfef8dd8..e7955422b6cf9ee7aaf668040e101a44e0c141b0 100644
--- a/scoring/src/hbond_score.cc
+++ b/scoring/src/hbond_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/hbond_score.hh>
 
 namespace promod3{ namespace scoring{
diff --git a/scoring/src/hbond_score.hh b/scoring/src/hbond_score.hh
index e8211fd43cc83e65585c049b9485c704ed17aa9b..895e93d4f37bfde32cc7221c66fb387f7164284b 100644
--- a/scoring/src/hbond_score.hh
+++ b/scoring/src/hbond_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_HBOND_SCORE_HH
 #define PM3_SCORING_HBOND_SCORE_HH
 
diff --git a/scoring/src/pairwise_score.cc b/scoring/src/pairwise_score.cc
index 1a0ef644e17b316b17ab735e0d34576efa8b2962..fd8f6c421317b2c9961a40393783bf906487ef0e 100644
--- a/scoring/src/pairwise_score.cc
+++ b/scoring/src/pairwise_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/pairwise_score.hh>
 
 namespace promod3{ namespace scoring{
diff --git a/scoring/src/pairwise_score.hh b/scoring/src/pairwise_score.hh
index dcd712e8d3e8ef3564d04252e7a73d2d73435826..60c59f869f3b38974569405c79c5b8502b98f03e 100644
--- a/scoring/src/pairwise_score.hh
+++ b/scoring/src/pairwise_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_PAIRWISE_SCORE_HH
 #define PM3_PAIRWISE_SCORE_HH
 
diff --git a/scoring/src/pairwise_scoring_function.hh b/scoring/src/pairwise_scoring_function.hh
index 5edcf6af1ba5e860429261463b83fe0872963ec0..823f445510f57d7d901616935c3da1801def55bd 100644
--- a/scoring/src/pairwise_scoring_function.hh
+++ b/scoring/src/pairwise_scoring_function.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_PAIRWISE_SCORING_FUNCTION_HH
 #define PM3_PAIRWISE_SCORING_FUNCTION_HH
 
diff --git a/scoring/src/reduced_env_listener.cc b/scoring/src/reduced_env_listener.cc
index 14025821515000582ab9144edf70db3abe4e6f31..1d52b029c1d4d83c7f7ab4154b717cd8e051b27d 100644
--- a/scoring/src/reduced_env_listener.cc
+++ b/scoring/src/reduced_env_listener.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/reduced_env_listener.hh>
 
 
diff --git a/scoring/src/reduced_env_listener.hh b/scoring/src/reduced_env_listener.hh
index 52d405e2ac27c5e427f85e1a5e0b9ea5308bd872..1cfce4d80f5aa91efc64bc6d543d0db68d6fcc56 100644
--- a/scoring/src/reduced_env_listener.hh
+++ b/scoring/src/reduced_env_listener.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_REDUCED_ENV_LISTENER_HH
 #define PM3_SCORING_REDUCED_ENV_LISTENER_HH
 
diff --git a/scoring/src/reduced_score.cc b/scoring/src/reduced_score.cc
index a8e992ae8a68642a34d5fdf864ca5e6376945d91..c0b9b245ebe2d467274b488daadf3b21f59c5140 100644
--- a/scoring/src/reduced_score.cc
+++ b/scoring/src/reduced_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/reduced_score.hh>
 
 
diff --git a/scoring/src/reduced_score.hh b/scoring/src/reduced_score.hh
index e41f784c28bfba0b9e053e11e594eb4105b9f24f..bcfa027202dacc3d58fd0da4455a20c4341bd34c 100644
--- a/scoring/src/reduced_score.hh
+++ b/scoring/src/reduced_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_REDUCED_SCORE_HH
 #define PM3_SCORING_REDUCED_SCORE_HH
 
diff --git a/scoring/src/scoring_object_loader.cc b/scoring/src/scoring_object_loader.cc
index fff223a9fb260b0b4eddbad3d6fae500a45a42b5..563e679bd0a6e77c5f443f5246e17d45970d37ea 100644
--- a/scoring/src/scoring_object_loader.cc
+++ b/scoring/src/scoring_object_loader.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/scoring_object_loader.hh>
 #include <promod3/config.hh>
 #include <promod3/core/runtime_profiling.hh>
diff --git a/scoring/src/scoring_object_loader.hh b/scoring/src/scoring_object_loader.hh
index b406f72dd735e51ff470f34326c4cd8095603c07..62ab321c9855c8f63e15b0f3355e95788b9070d4 100644
--- a/scoring/src/scoring_object_loader.hh
+++ b/scoring/src/scoring_object_loader.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_SCORING_OBJECT_LOADER_HH
 #define PROMOD3_SCORING_OBJECT_LOADER_HH
 
diff --git a/scoring/src/scwrl3_energy_functions.hh b/scoring/src/scwrl3_energy_functions.hh
index 7db72ebf5611fd7424e940a63f26c1de8b49222d..2829e91b3e085ef30f3c402ef559f4a4f930575a 100644
--- a/scoring/src/scwrl3_energy_functions.hh
+++ b/scoring/src/scwrl3_energy_functions.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCWRL3_ENERGY_FUNCTIONS_HH
 #define PM3_SCWRL3_ENERGY_FUNCTIONS_HH
 
diff --git a/scoring/src/ss_agreement_env_listener.cc b/scoring/src/ss_agreement_env_listener.cc
index e9a090ee09d03511f421b2d052773ae9798cb647..5350a8ba15e64b74a461aacfec6e23b7fd4c4f99 100644
--- a/scoring/src/ss_agreement_env_listener.cc
+++ b/scoring/src/ss_agreement_env_listener.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/ss_agreement_env_listener.hh>
 
 namespace promod3{ namespace scoring{
diff --git a/scoring/src/ss_agreement_env_listener.hh b/scoring/src/ss_agreement_env_listener.hh
index ad87b4e96753def90f56ff538fa63db1dc30361d..775099fc69e2f704e3ca91a6788d8685a02a168e 100644
--- a/scoring/src/ss_agreement_env_listener.hh
+++ b/scoring/src/ss_agreement_env_listener.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_SSAGREEMENT_ENV_LISTENER_HH
 #define PM3_SCORING_SSAGREEMENT_ENV_LISTENER_HH
 
diff --git a/scoring/src/ss_agreement_score.cc b/scoring/src/ss_agreement_score.cc
index be4d6640415ed05e6074a9fcdda8e5af5d2677d2..cf92f38ef370e6025d262d929b7417b0d5054d04 100644
--- a/scoring/src/ss_agreement_score.cc
+++ b/scoring/src/ss_agreement_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/ss_agreement_score.hh>
 
 namespace promod3 { namespace scoring {
diff --git a/scoring/src/ss_agreement_score.hh b/scoring/src/ss_agreement_score.hh
index 7e9960cffd65184225e68480da4755be32444282..a34698d840731163620bde3ee985825bd1302ff0 100644
--- a/scoring/src/ss_agreement_score.hh
+++ b/scoring/src/ss_agreement_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_SS_AGREEMENT_SCORE_HH
 #define PM3_SCORING_SS_AGREEMENT_SCORE_HH
 
diff --git a/scoring/src/torsion_score.cc b/scoring/src/torsion_score.cc
index 65cca939dda0a6a59d7ce1bf057a8b9e6329f5bb..22907b1543197ee8f193a07169f2b0dee9296601 100644
--- a/scoring/src/torsion_score.cc
+++ b/scoring/src/torsion_score.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/scoring/torsion_score.hh>
 
 namespace promod3{ namespace scoring{
diff --git a/scoring/src/torsion_score.hh b/scoring/src/torsion_score.hh
index 4cd298c83dab5097d0544b8825e636b540064a3d..d80c42d599a317d0d7b9e64bf56453b07f49bbcb 100644
--- a/scoring/src/torsion_score.hh
+++ b/scoring/src/torsion_score.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PM3_SCORING_TORSION_SCORE_HH
 #define PM3_SCORING_TORSION_SCORE_HH
 
diff --git a/scoring/tests/test_all_atom_scorer.cc b/scoring/tests/test_all_atom_scorer.cc
index e1736b216d42e8cd8d70ef564a89e74f45bdcf2c..cf5ac6c945ce52b05d5bd32dde2fef8865c4eb27 100644
--- a/scoring/tests/test_all_atom_scorer.cc
+++ b/scoring/tests/test_all_atom_scorer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/core/message.hh>
 #include <promod3/loop/all_atom_env.hh>
 #include <promod3/scoring/scoring_object_loader.hh>
diff --git a/scoring/tests/test_backbone_score_base.cc b/scoring/tests/test_backbone_score_base.cc
index 3706e45ab0cd23c3a05e689ebf2d12a4acfb7a44..b9e5e1d2eb3138e1ff6d4c035270f56a61931867 100644
--- a/scoring/tests/test_backbone_score_base.cc
+++ b/scoring/tests/test_backbone_score_base.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/scoring/backbone_score_base.hh>
 #define BOOST_TEST_DYN_LINK
diff --git a/scoring/tests/test_backbone_scorer.cc b/scoring/tests/test_backbone_scorer.cc
index 49922b4b65c3292dcf9b519bb4d96c2b0d80ba4c..56e8be5a3afcd8aa6e7807aa0fcd602f4176177d 100644
--- a/scoring/tests/test_backbone_scorer.cc
+++ b/scoring/tests/test_backbone_scorer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/scoring/backbone_score_base.hh>
 #include <promod3/scoring/backbone_overall_scorer.hh>
diff --git a/scoring/tests/tests.cc b/scoring/tests/tests.cc
index 9ef67f35e664a43f5b72a48108fe82cef9747477..afe7f82308e8672d821fb286ec92f9c02481bc35 100644
--- a/scoring/tests/tests.cc
+++ b/scoring/tests/tests.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE promod3_scoring
 #define BOOST_AUTO_TEST_MAIN
diff --git a/scripts/pm.in b/scripts/pm.in
index 84618642d6816343ed92a8c0a9ad7d93ad246519..3bafd55c7c8985fdd1c678d90ea82aed4275973f 100755
--- a/scripts/pm.in
+++ b/scripts/pm.in
@@ -1,5 +1,20 @@
 #!/bin/bash
 
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 # Wrapper script that dispatches the actions to the actual Python script. It 
 # autodetects the most important directories and sets LD_LIBRARY_PATH and 
 # friends.
diff --git a/sidechain/data/CMakeLists.txt b/sidechain/data/CMakeLists.txt
index 5af403815d4d5139f71becbfabe6fd1e9bb21ffe..c8224cba31cbdd8fd99abe5e3696f8aae0c4cb72 100644
--- a/sidechain/data/CMakeLists.txt
+++ b/sidechain/data/CMakeLists.txt
@@ -1,5 +1,5 @@
 # convert files
-convert_module_data(MODULE sidechain FILE 2010DunbrackLib.dat
-                    SCRIPT convert_lib.py ARGS BBDepRotamerLib)
-convert_module_data(MODULE sidechain FILE PenultimateLib.dat
+convert_module_data(MODULE sidechain FILE lib.dat
                     SCRIPT convert_lib.py ARGS RotamerLib)
+convert_module_data(MODULE sidechain FILE bb_dep_lib.dat
+                    SCRIPT convert_lib.py ARGS BBDepRotamerLib)
diff --git a/sidechain/data/convert_lib.py b/sidechain/data/convert_lib.py
index 56082fa17e686e9df0883933c8e35bc8ccd59f2c..515dc9280f5d3894bdc89f5233633f779cdab8d3 100644
--- a/sidechain/data/convert_lib.py
+++ b/sidechain/data/convert_lib.py
@@ -1,3 +1,19 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 '''Convert files from portable to raw.'''
 import sys
 import os
diff --git a/sidechain/data/portable_PenultimateLib.dat b/sidechain/data/portable_PenultimateLib.dat
deleted file mode 100644
index 67f192bc441a000d7d004990dc05c02f1211e959..0000000000000000000000000000000000000000
Binary files a/sidechain/data/portable_PenultimateLib.dat and /dev/null differ
diff --git a/sidechain/data/portable_2010DunbrackLib.dat b/sidechain/data/portable_bb_dep_lib.dat
similarity index 68%
rename from sidechain/data/portable_2010DunbrackLib.dat
rename to sidechain/data/portable_bb_dep_lib.dat
index 17b0544726980826dd8cad59b17f024796a58370..800aa84be0fc4b8f88856633f64d06ce575b4a42 100644
Binary files a/sidechain/data/portable_2010DunbrackLib.dat and b/sidechain/data/portable_bb_dep_lib.dat differ
diff --git a/sidechain/data/portable_lib.dat b/sidechain/data/portable_lib.dat
new file mode 100644
index 0000000000000000000000000000000000000000..38bf7f375c233b919fcb606507f26bb63dca4da1
Binary files /dev/null and b/sidechain/data/portable_lib.dat differ
diff --git a/sidechain/doc/disulfid.rst b/sidechain/doc/disulfid.rst
index 1cee3075640728b8c205c8bf9d9ff0128d6eeb9d..d078a6c5a65e20f2b4fc682f26a1e5b7853d6a92 100644
--- a/sidechain/doc/disulfid.rst
+++ b/sidechain/doc/disulfid.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Disulfid Bond Evaluation
 ================================================================================
 
diff --git a/sidechain/doc/frame.rst b/sidechain/doc/frame.rst
index d5e355915971ca7a0cd140036d366d9812f777e3..d8365f4a5316d2efebaaaafb50a87238b1b3ac2d 100644
--- a/sidechain/doc/frame.rst
+++ b/sidechain/doc/frame.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Frame
 ================================================================================
 
diff --git a/sidechain/doc/graph.rst b/sidechain/doc/graph.rst
index 118c72eabb98ed98acdc13eafcb6f3af4bbbb867..44606b2766a57c90bfa7f74d86cfc720ddf4ed71 100644
--- a/sidechain/doc/graph.rst
+++ b/sidechain/doc/graph.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Rotamer Graph
 ================================================================================
 
@@ -6,7 +22,7 @@ Rotamer Graph
 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
+overall solution has to be found. ProMod3 implements a
 :class:`promod3.core.GraphMinimizer` that allows to find solutions using
 tree decomposition, A* and Monte Carlo algorithms.
 
diff --git a/sidechain/doc/index.rst b/sidechain/doc/index.rst
index c0a24dce4ca854bcd16c85d29094dcd1ff799f71..aeac7212ce7a9232b81c95d2178cb32d07ff6595 100644
--- a/sidechain/doc/index.rst
+++ b/sidechain/doc/index.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 :mod:`~promod3.sidechain` - Sidechain Modelling
 ================================================================================
 
@@ -9,7 +25,7 @@
 Tools and algorithms to model sidechains given backbone coordinates. The full
 module is heavily based on SCWRL4 [krivov2009]_ . 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
+as well as a flexible model. Both models are implemented in ProMod3 and can be
 applied in flexible ways.
 
 The following code fragment shows an example of a basic sidechain reconstruction
@@ -37,4 +53,3 @@ Contents:
    subrotamer_optimizer
 
 
-.. [krivov2009] Krivov GG, Shapovalov MV and Dunbrack RL Jr. (2009). Improved prediction of protein side-chain conformations with SCWRL4. Proteins.
diff --git a/sidechain/doc/loading.rst b/sidechain/doc/loading.rst
index b795abc601ad9c617895d86a63316a14623727bf..83e9390b16d8b8726c23a58f79dfdbf0eff22790 100644
--- a/sidechain/doc/loading.rst
+++ b/sidechain/doc/loading.rst
@@ -1,32 +1,50 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Loading Rotamer Libraries
 ================================================================================
 
 .. currentmodule:: promod3.sidechain
 
-Since the PROMOD3 sidechain modelling algorithms are mainly designed after the 
-work of the Dunbrack lab [krivov2009]_ , their backbone dependent rotamer 
-library is probably the way to go. There exists a binary version of their 
-2010 libary [shapovalov2011]_ , that can
-directly be loaded. As an alternative, there is also a binary file containing
-the backbone independent Penultimate library [lovell2000]_ .
+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 [shapovalov2011]_. 
+You can request a licence `here <http://dunbrack.fccc.edu/bbdep2010/>`_
+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 :meth:`LoadBBDepLib` / :meth:`LoadLib`.
 
-.. method:: LoadDunbrackLib()
+.. method:: LoadBBDepLib()
 
-  Loads the 2010 backbone dependent rotamer library from the dunbrack lab.
-  The library has been generated using the ReadDunbrackFile function
-  using the file with smoothing factor 5 and nonrotameric dihedrals
-  sampled in 20 degree steps.
+  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.
 
-  :returns:             The requested library
+  :returns:             The requested Library
   :rtype:               :class:`BBDepRotamerLib`
 
 
-.. method:: LoadPenultimateLib()
+.. method:: LoadLib()
 
-  Loads the backbone independent Penultimate library. The values for the dihedral
-  angles are directly extracted from the publication without considering the
-  probabilities specific for helices/sheets. Due to no assigned standard
-  deviations, the flexible rotamer model won't produce meaningful results.
+  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.
 
   :returns:             The requested library
   :rtype:               :class:`RotamerLib`
@@ -36,8 +54,9 @@ the backbone independent Penultimate library [lovell2000]_ .
 
   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 nonrotameric sidechains 
-  cannot be read.
+  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
 
   :param filename:      Name of the file
   :type param:          :class:`str`
@@ -49,9 +68,3 @@ the backbone independent Penultimate library [lovell2000]_ .
 
   :returns: The read library
   :rtype:   :class:`BBDepRotamerLib`
-
-
-.. [shapovalov2011] Shapovalov MV and Dunbrack RL Jr. (2011). A smoothed backbone-dependent rotamer library for proteins derived from adaptive kernel density estimates and regressions. Structure.
-
-.. [lovell2000] Lovell SC, Word JM, Richardson JS, Richardson DC (2000). The penultimate rotamer library. Proteins.
-
diff --git a/sidechain/doc/rotamer.rst b/sidechain/doc/rotamer.rst
index 40f882320bb51f59b604a6ea7de7106d8582ca2a..30b3c7ca3b06602a1fbade371a3abdbc5a4e9029 100644
--- a/sidechain/doc/rotamer.rst
+++ b/sidechain/doc/rotamer.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Rotamers
 ================================================================================
 
@@ -7,7 +23,7 @@ A rotamer represents an amino acid sidechain and is basically a set of
 :class:`Particle` objects. There exist two types. The :class:`RRMRotamer` and 
 :class:`FRMRotamer`. 
 To gather all possible rotamers for one particular sidechain position,
-PROMOD3 offers the :class:`RRMRotamerGroup` and :class:`FRMRotamerGroup`.
+ProMod3 offers the :class:`RRMRotamerGroup` and :class:`FRMRotamerGroup`.
 Pairwise interactions between particles give raise to pairwise energies between 
 rotamers. Nevertheless, the energy calculation itself happens on the level
 of RotamerGroups and is mostly hidden away in the construction of the
@@ -264,7 +280,7 @@ Rotamers
 
   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
+  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.
 
diff --git a/sidechain/doc/rotamer_constructor.rst b/sidechain/doc/rotamer_constructor.rst
index 36c76a2c0857dc5bdbd5b3257e24e8b2bde5eaac..82f9626c2afedb57149fc5c55042ee13dcd8fcb8 100644
--- a/sidechain/doc/rotamer_constructor.rst
+++ b/sidechain/doc/rotamer_constructor.rst
@@ -1,10 +1,26 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Rotamer Constructor
 ================================================================================
 
 .. currentmodule:: promod3.sidechain
 
 Instead of creating rotamers by yourself, you can simply use the convenient
-functionality provided by PROMOD3
+functionality provided by ProMod3
 
 
 Constructing Rotamers and Frame Residues
diff --git a/sidechain/doc/rotamer_id.rst b/sidechain/doc/rotamer_id.rst
index 7eac7b85ca8de53c2ee27619089aa93a1907da66..746a51641352c7295152567a742eda8befedc803 100644
--- a/sidechain/doc/rotamer_id.rst
+++ b/sidechain/doc/rotamer_id.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 RotamerID
 ================================================================================
 
diff --git a/sidechain/doc/rotamer_lib.rst b/sidechain/doc/rotamer_lib.rst
index 21ca7e4e93a69de5fe2a556da1e1b66a128d4ab1..0069c3888b70f7ad37acbf984cd3c95470af9840 100644
--- a/sidechain/doc/rotamer_lib.rst
+++ b/sidechain/doc/rotamer_lib.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Rotamer Library
 ================================================================================
 
@@ -9,7 +25,7 @@ sidechain can completely be described in terms of dihedral angles. Preferred
 combinations of such dihedral angles are a result of steric properties and
 can be gathered in rotamer libraries. Different libraries exist in the field
 and their main difference is, whether the provided sidechain conformations 
-are dependent on their backbone or not. PROMOD3 provides you with a 
+are dependent on their backbone or not. ProMod3 provides you with a 
 :class:`BBDepRotamerLib` organizing rotamers for the different aminoacids 
 in equidistant phi/psi bins, as well as a simple :class:`RotamerLib`.
 Both libraries are containers for :class:`RotamerLibEntry` and are optimized
@@ -168,10 +184,12 @@ The Backbone Dependent Rotamer Library
     added to the library or can be interpolated.
     In the first option, *phi* and *psi* simply get transformed to the 
     according bin using following formalism: bin = round((angle + pi)/bin_size).
-    In case of interpolation, the chi angles and the according standard 
-    deviations of the rotamers get bilinearly interpolated using the 
-    corresponding rotamers with same configuration from the neighbouring bins. 
-    This behaviour can be controlled with the SetInterpolate function.
+    In case of interpolation, the chi angles of rotameric dihedral angles and the 
+    according standard deviations of the rotamers get bilinearly interpolated 
+    using the corresponding rotamers with same configuration from the 
+    neighbouring bins. No interplation is applied to non-rotameric dihedral
+    angles (chi2 in ASP, ASN, HIS, PHE, TRP, TYR; chi3 in GLU, GLN).
+    This behaviour can be controlled with :meth:`SetInterpolate`.
     The query function follows following strategies in case of 
     special *id* requests.
 
@@ -220,7 +238,8 @@ The Backbone Dependent Rotamer Library
 
   .. method:: SetInterpolate(interpolate)
 
-    :param interpolate: Controls behaviour when QueryLib function gets called
+    :param interpolate: Controls behaviour when :meth:`QueryLib` 
+                        gets called
 
     :type interpolate:  :class:`bool`    
 
@@ -302,9 +321,9 @@ functionalities.
 
     Creates a :class:`RotamerLibEntry` from the given *res*.
     The function tries to automatically identify the :class:`RotamerID` based
-    on the residue name. The probability gets set to zero and the standard 
-    deviations to 0. All not required chi angles with their corresponding 
-    standard deviations are NaN.
+    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.
 
     :param res:         Source of dihedral angles
 
@@ -418,4 +437,55 @@ functionalities.
     :returns:           :class:`bool` Whether both dihedrals are defined 
                         (not NaN) and within the specified threshold
 
+Rotamer Configurations  
+--------------------------------------------------------------------------------
+
+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.
+
+.. class:: DihedralConfiguration
+
+  Enumerates the possible sidechain dihedral configurations
+
+  .. hlist::
+    :columns: 1
+
+    * TRANS - Trans configuration (120 < angle < -120)
+    * GAUCHE_PLUS - Gauche+ configuration (0 < angle < 120)
+    * GAUCHE_MINUS - Gauce- configuration (-120 < angle < 0)
+    * NON_ROTAMERIC - Dihedral without SP3-SP3 bond
+    * INVALID - Invalid configuration, e.g. chi3 of ALA (doesnt exist...)
+
+.. method:: GetRotamericConfiguration(angle)
+
+  Evaluates the *angle* according to the ranges specified for 
+  :class:`DihedralConfiguration`. 
+
+  :param angle:         Angle to be evaluated
+  :type angle:          :class:`float`
+
+  :returns:             TRANS, GAUCHE_PLUS or GAUCHE_MINUS.
+                        INVALID if *angle* is NaN.
+
+.. method:: GetDihedralConfiguration(entry, id, dihedral_idx) 
+
+  Estimates configuration of a sidechain dihedral angle in a specific 
+  :class:`RotamerLibEntry` with the knowledge of its identity. This allows
+  to also return NON_ROTAMERIC (e.g. chi2 for ASN).
+
+  :param entry:         Sidechain dihedral angle comes from here
+  :param id:            Identity of rotamer
+  :param dihedral_idx:  Specifies angle (0 => chi1, ..., 3 => chi4)
+
+  :type entry:          :class:`RotamerLibEntry`
+  :type id:             :class:`RotamerID`
+  :type dihedral_idx:   :class:`int`
+
+  :returns:             Result of :meth:`GetRotamericConfiguration` if specified
+                        angle is Rotameric, NON_ROTAMERIC if specified angle is 
+                        valid and non rotameric, INVALID otherwise.
+                        
 
diff --git a/sidechain/doc/subrotamer_optimizer.rst b/sidechain/doc/subrotamer_optimizer.rst
index e4124466394f2bdc0248aa40056a590f5b556dcb..27315888d85598b7f8830e1241b5139c65af0db5 100644
--- a/sidechain/doc/subrotamer_optimizer.rst
+++ b/sidechain/doc/subrotamer_optimizer.rst
@@ -1,3 +1,19 @@
+..  Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+..                           Biozentrum - University of Basel
+..  
+..  Licensed under the Apache License, Version 2.0 (the "License");
+..  you may not use this file except in compliance with the License.
+..  You may obtain a copy of the License at
+..  
+..    http://www.apache.org/licenses/LICENSE-2.0
+..  
+..  Unless required by applicable law or agreed to in writing, software
+..  distributed under the License is distributed on an "AS IS" BASIS,
+..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+..  See the License for the specific language governing permissions and
+..  limitations under the License.
+
+
 Subrotamer Optimization
 ================================================================================
 
diff --git a/sidechain/pymod/__init__.py b/sidechain/pymod/__init__.py
index a915c37e3d03af93e9e14a35f2d00d40c3deae7b..311426d9e13dc020e82e4f64a0afad86803bc11a 100644
--- a/sidechain/pymod/__init__.py
+++ b/sidechain/pymod/__init__.py
@@ -1,2 +1,18 @@
+# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+#                          Biozentrum - University of Basel
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
 from _sidechain import *
 
diff --git a/sidechain/pymod/export_connector.cc b/sidechain/pymod/export_connector.cc
index b1eaecfef8424924044036ebf0cb24659306f3da..39742c354089d84aab6bd8611ece0d8d4ad80009 100644
--- a/sidechain/pymod/export_connector.cc
+++ b/sidechain/pymod/export_connector.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 
 #include <promod3/sidechain/sidechain_connector.hh>
diff --git a/sidechain/pymod/export_disulfid.cc b/sidechain/pymod/export_disulfid.cc
index b346dc8e834f462a09cdd0a0391775fba05df7d8..86fb589469481cb181736cab155a7455c6101724 100644
--- a/sidechain/pymod/export_disulfid.cc
+++ b/sidechain/pymod/export_disulfid.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/iterator.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
diff --git a/sidechain/pymod/export_frame.cc b/sidechain/pymod/export_frame.cc
index 7d4beedc0938544dbe4abb911002026f5f6eb117..c1aec78b2b9ceeb50b9931fb6ebc2415882dafb5 100644
--- a/sidechain/pymod/export_frame.cc
+++ b/sidechain/pymod/export_frame.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/sidechain/frame.hh>
diff --git a/sidechain/pymod/export_particle.cc b/sidechain/pymod/export_particle.cc
index 7a94286d5652c3adce7a422fb36d15e5500b2d4a..64eb1a0660bcf678d29ebde03afe41d2e3e93377 100644
--- a/sidechain/pymod/export_particle.cc
+++ b/sidechain/pymod/export_particle.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/sidechain/particle.hh>
diff --git a/sidechain/pymod/export_rotamer.cc b/sidechain/pymod/export_rotamer.cc
index 77b138df2e3e5251483d8cca23531fdefe269c82..80468074311b622982c4326c50f579d8293ecf23 100644
--- a/sidechain/pymod/export_rotamer.cc
+++ b/sidechain/pymod/export_rotamer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/core/export_helper.hh>
diff --git a/sidechain/pymod/export_rotamer_cruncher.cc b/sidechain/pymod/export_rotamer_cruncher.cc
index 0a1458d35f48dfe1d0b4f25727f4cb238182b683..c38ae85bdc4b6df92e2d571b83b8f4fd3470f592 100644
--- a/sidechain/pymod/export_rotamer_cruncher.cc
+++ b/sidechain/pymod/export_rotamer_cruncher.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/sidechain/rotamer_cruncher.hh>
diff --git a/sidechain/pymod/export_rotamer_density.cc b/sidechain/pymod/export_rotamer_density.cc
index 60b9a1eafe6b8178704b4062a7f9dc02f1e10836..942f5f50d3ffe23ee7a40365027f2b9384e92cd2 100644
--- a/sidechain/pymod/export_rotamer_density.cc
+++ b/sidechain/pymod/export_rotamer_density.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/core/export_helper.hh>
diff --git a/sidechain/pymod/export_rotamer_graph.cc b/sidechain/pymod/export_rotamer_graph.cc
index 782d0e81d070cf83c1ee3220d5483f80e09e6998..001ba6cacb13a0a1284299ebb53b58b155cbf9f9 100644
--- a/sidechain/pymod/export_rotamer_graph.cc
+++ b/sidechain/pymod/export_rotamer_graph.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/core/graph_minimizer.hh>
diff --git a/sidechain/pymod/export_rotamer_ids.cc b/sidechain/pymod/export_rotamer_ids.cc
index 69988eab1a8b15dc3643bdcca12f0ee64c589d58..28fb24e7569c56611c92cb30f94c736e1b4cea19 100644
--- a/sidechain/pymod/export_rotamer_ids.cc
+++ b/sidechain/pymod/export_rotamer_ids.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/sidechain/rotamer_id.hh>
 
diff --git a/sidechain/pymod/export_rotamer_lib.cc b/sidechain/pymod/export_rotamer_lib.cc
index dbe530a62b0114d9642962fb2854fe5f2f2c183f..0e5286b7b09698e141e7b729fe015d2a350be95a 100644
--- a/sidechain/pymod/export_rotamer_lib.cc
+++ b/sidechain/pymod/export_rotamer_lib.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/iterator.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
@@ -139,6 +155,20 @@ void export_RotamerLib(){
   register_ptr_to_python<RotamerLibPtr>();
 
 
+  enum_<DihedralConfiguration>("DihedralConfiguration")
+    .value("INVALID", INVALID)
+    .value("TRANS", TRANS)
+    .value("GAUCHE_MINUS", GAUCHE_MINUS)
+    .value("GAUCHE_PLUS", GAUCHE_PLUS)
+    .value("NON_ROTAMERIC", NON_ROTAMERIC)
+    .export_values()
+  ;
+
+  def("GetRotamericConfiguration", &GetRotamericConfiguration, (arg("angle")));
+  def("GetDihedralConfiguration", &GetDihedralConfiguration, (arg("entry"),
+                                                              arg("id"),
+                                                              arg("dihedral_idx")));
+
   def("ReadDunbrackFile",&ReadDunbrackFile,(arg("filename")));
   def("ReadDaggetFile",&ReadDaggetFile,arg("filename"));
 
diff --git a/sidechain/pymod/export_scwrl_rotamer_constructor.cc b/sidechain/pymod/export_scwrl_rotamer_constructor.cc
index 539288e3e6363cee544e8815c484c83da32e6971..7b7bd10d64be7304ab9e22cce4f2b5a2f03fa76b 100644
--- a/sidechain/pymod/export_scwrl_rotamer_constructor.cc
+++ b/sidechain/pymod/export_scwrl_rotamer_constructor.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
 #include <promod3/core/export_helper.hh>
diff --git a/sidechain/pymod/export_sidechain_object_loader.cc b/sidechain/pymod/export_sidechain_object_loader.cc
index 98b539ce31f42ec1136f6fe4243352852fa920d3..ab7ce781a316d83f16ec05abc9fb20ac4e6e8899 100644
--- a/sidechain/pymod/export_sidechain_object_loader.cc
+++ b/sidechain/pymod/export_sidechain_object_loader.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <promod3/sidechain/sidechain_object_loader.hh>
 
@@ -6,6 +22,6 @@ using namespace promod3::sidechain;
 using namespace boost::python;
 
 void export_SidechainObjectLoader(){
-  def("LoadDunbrackLib", &LoadDunbrackLib);
-  def("LoadPenultimateLib", &LoadPenultimateLib);
+  def("LoadBBDepLib", &LoadBBDepLib);
+  def("LoadLib", &LoadLib);
 }
\ No newline at end of file
diff --git a/sidechain/pymod/export_subrotamer_optimizer.cc b/sidechain/pymod/export_subrotamer_optimizer.cc
index 1b168786700daca626ac00b535921e04c6808663..e562637a0cd94415809b7605c425e685c25e1afe 100644
--- a/sidechain/pymod/export_subrotamer_optimizer.cc
+++ b/sidechain/pymod/export_subrotamer_optimizer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 #include <boost/python/iterator.hpp>
 #include <boost/python/register_ptr_to_python.hpp>
diff --git a/sidechain/pymod/wrap_sidechain.cc b/sidechain/pymod/wrap_sidechain.cc
index 840b5d3b405eab5f532b7f6cd2de1eccf1a34c4b..f74e4610bb543c1530f8b47e2489675da8f774fe 100644
--- a/sidechain/pymod/wrap_sidechain.cc
+++ b/sidechain/pymod/wrap_sidechain.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <boost/python.hpp>
 
 void export_Connector();
diff --git a/sidechain/src/bb_dep_rotamer_lib.cc b/sidechain/src/bb_dep_rotamer_lib.cc
index 20bbe7ee31b36798e84440f46939eef176d00b86..e99ba2e96afdc414b5d66bba06792d767694640b 100644
--- a/sidechain/src/bb_dep_rotamer_lib.cc
+++ b/sidechain/src/bb_dep_rotamer_lib.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/bb_dep_rotamer_lib.hh>
 #include <promod3/core/check_io.hh>
 #include <promod3/core/runtime_profiling.hh>
@@ -8,7 +24,8 @@ namespace{
     return a.probability > b.probability;
   }
 
-  inline Real BilinearInterpolation(Real f00, Real f10, Real f01, Real f11, Real x, Real y){
+  inline Real BilinearInterpolation(Real f00, Real f10, Real f01, Real f11, 
+                                    Real x, Real y) {
     return f00 + (f10-f00)*x + (f01-f00)*y + (f00-f10-f01+f11)*x*y;
   }
 
@@ -18,7 +35,8 @@ namespace{
     return a;
   }
 
-  inline Real CircularBilinearInterpolation(Real f00, Real f10, Real f01, Real f11, Real x, Real y){
+  inline Real CircularBilinearInterpolation(Real f00, Real f10, Real f01, Real f11, 
+                                            Real x, Real y) {
     
     Real interpol_one;
     Real interpol_two;
@@ -33,6 +51,20 @@ namespace{
     diff = BoundAngle(interpol_two-interpol_one);
     return BoundAngle(interpol_one + diff*y);
   }
+
+  inline Real NearestNeighbourInterpolation(Real f00, Real f10, Real f01, Real f11, 
+                                            Real x, Real y) {
+    if(x > Real(0.5) && y > Real(0.5)) {
+      return f11;
+    }
+    if(x > Real(0.5)) {
+      return f10;
+    }
+    if(y > Real(0.5)) {
+      return f01;
+    }
+    return f00;
+  }
 }
 
 
@@ -425,52 +457,125 @@ std::pair<RotamerLibEntry*,uint> BBDepRotamerLib::QueryLib(RotamerID id, Real ph
     Real sig4;
 
     for(uint i = 0; i < it->second.second; ++i){
-      probability = BilinearInterpolation(static_data_[pos00].probability,
-                                          static_data_[pos10].probability,
-                                          static_data_[pos01].probability,
-                                          static_data_[pos11].probability,
-                                          x,y);
+
+      // Rotameric dihedral angles have clear configurations: GAUCHE_MINUS,
+      // GAUCHE_PLUS, TRANS etc. Its therefore possible to interpolate
+      // a dihedral angle of same configuration, even the probability in between 
+      // them. However, in the non-rotameric case, this assignment is less 
+      // clear. Therefore the messy interpolation.
+
+      if(HasNonRotameric(id)) {
+        probability = NearestNeighbourInterpolation(static_data_[pos00].probability,
+                                                    static_data_[pos10].probability,
+                                                    static_data_[pos01].probability,
+                                                    static_data_[pos11].probability,
+                                                    x,y);
+
+      } else {
+        probability = BilinearInterpolation(static_data_[pos00].probability,
+                                            static_data_[pos10].probability,
+                                            static_data_[pos01].probability,
+                                            static_data_[pos11].probability,
+                                            x,y);
+      }
+
       summed_probability += probability;
-      chi1 = CircularBilinearInterpolation(static_data_[pos00].chi1,
-                                           static_data_[pos10].chi1,
-                                           static_data_[pos01].chi1,
-                                           static_data_[pos11].chi1,
-                                           x,y);
-      chi2 = CircularBilinearInterpolation(static_data_[pos00].chi2,
-                                           static_data_[pos10].chi2,
-                                           static_data_[pos01].chi2,
-                                           static_data_[pos11].chi2,
-                                           x,y);
-      chi3 = CircularBilinearInterpolation(static_data_[pos00].chi3,
-                                           static_data_[pos10].chi3,
-                                           static_data_[pos01].chi3,
-                                           static_data_[pos11].chi3,
-                                           x,y);
-      chi4 = CircularBilinearInterpolation(static_data_[pos00].chi4,
-                                           static_data_[pos10].chi4,
-                                           static_data_[pos01].chi4,
-                                           static_data_[pos11].chi4,
-                                           x,y);
-      sig1 = BilinearInterpolation(static_data_[pos00].sig1,
-                                   static_data_[pos10].sig1,
-                                   static_data_[pos01].sig1,
-                                   static_data_[pos11].sig1,
-                                   x,y);
-      sig2 = BilinearInterpolation(static_data_[pos00].sig2,
-                                   static_data_[pos10].sig2,
-                                   static_data_[pos01].sig2,
-                                   static_data_[pos11].sig2,
-                                   x,y);
-      sig3 = BilinearInterpolation(static_data_[pos00].sig3,
-                                   static_data_[pos10].sig3,
-                                   static_data_[pos01].sig3,
-                                   static_data_[pos11].sig3,
-                                   x,y);
-      sig4 = BilinearInterpolation(static_data_[pos00].sig4,
-                                   static_data_[pos10].sig4,
-                                   static_data_[pos01].sig4,
-                                   static_data_[pos11].sig4,
-                                   x,y);
+
+      if(IsRotameric(id, 0)) {
+        chi1 = CircularBilinearInterpolation(static_data_[pos00].chi1,
+                                             static_data_[pos10].chi1,
+                                             static_data_[pos01].chi1,
+                                             static_data_[pos11].chi1,
+                                             x,y);
+        sig1 = BilinearInterpolation(static_data_[pos00].sig1,
+                                     static_data_[pos10].sig1,
+                                     static_data_[pos01].sig1,
+                                     static_data_[pos11].sig1,
+                                     x,y);
+      } else {
+        chi1 = NearestNeighbourInterpolation(static_data_[pos00].chi1,
+                                             static_data_[pos10].chi1,
+                                             static_data_[pos01].chi1,
+                                             static_data_[pos11].chi1,
+                                             x,y);
+        sig1 = NearestNeighbourInterpolation(static_data_[pos00].sig1,
+                                             static_data_[pos10].sig1,
+                                             static_data_[pos01].sig1,
+                                             static_data_[pos11].sig1,
+                                             x,y);        
+      }
+
+      if(IsRotameric(id, 1)) {
+        chi2 = CircularBilinearInterpolation(static_data_[pos00].chi2,
+                                             static_data_[pos10].chi2,
+                                             static_data_[pos01].chi2,
+                                             static_data_[pos11].chi2,
+                                             x,y);
+        sig2 = BilinearInterpolation(static_data_[pos00].sig2,
+                                     static_data_[pos10].sig2,
+                                     static_data_[pos01].sig2,
+                                     static_data_[pos11].sig2,
+                                     x,y);
+      } else {
+        chi2 = NearestNeighbourInterpolation(static_data_[pos00].chi2,
+                                             static_data_[pos10].chi2,
+                                             static_data_[pos01].chi2,
+                                             static_data_[pos11].chi2,
+                                             x,y);
+        sig2 = NearestNeighbourInterpolation(static_data_[pos00].sig2,
+                                             static_data_[pos10].sig2,
+                                             static_data_[pos01].sig2,
+                                             static_data_[pos11].sig2,
+                                             x,y);        
+      }
+
+      if(IsRotameric(id, 2)) {
+        chi3 = CircularBilinearInterpolation(static_data_[pos00].chi3,
+                                             static_data_[pos10].chi3,
+                                             static_data_[pos01].chi3,
+                                             static_data_[pos11].chi3,
+                                             x,y);
+        sig3 = BilinearInterpolation(static_data_[pos00].sig3,
+                                     static_data_[pos10].sig3,
+                                     static_data_[pos01].sig3,
+                                     static_data_[pos11].sig3,
+                                     x,y);
+      } else {
+        chi3 = NearestNeighbourInterpolation(static_data_[pos00].chi3,
+                                             static_data_[pos10].chi3,
+                                             static_data_[pos01].chi3,
+                                             static_data_[pos11].chi3,
+                                             x,y);
+        sig3 = NearestNeighbourInterpolation(static_data_[pos00].sig3,
+                                             static_data_[pos10].sig3,
+                                             static_data_[pos01].sig3,
+                                             static_data_[pos11].sig3,
+                                             x,y);
+      }
+
+      if(IsRotameric(id, 3)) {
+        chi4 = CircularBilinearInterpolation(static_data_[pos00].chi4,
+                                             static_data_[pos10].chi4,
+                                             static_data_[pos01].chi4,
+                                             static_data_[pos11].chi4,
+                                             x,y);
+        sig4 = BilinearInterpolation(static_data_[pos00].sig4,
+                                     static_data_[pos10].sig4,
+                                     static_data_[pos01].sig4,
+                                     static_data_[pos11].sig4,
+                                     x,y);
+      } else {
+        chi4 = NearestNeighbourInterpolation(static_data_[pos00].chi4,
+                                             static_data_[pos10].chi4,
+                                             static_data_[pos01].chi4,
+                                             static_data_[pos11].chi4,
+                                             x,y);
+        sig4 = NearestNeighbourInterpolation(static_data_[pos00].sig4,
+                                             static_data_[pos10].sig4,
+                                             static_data_[pos01].sig4,
+                                             static_data_[pos11].sig4,
+                                             x,y);        
+      }
 
       ++pos00;
       ++pos01;
@@ -481,7 +586,6 @@ std::pair<RotamerLibEntry*,uint> BBDepRotamerLib::QueryLib(RotamerID id, Real ph
 
       result_buffer_.push_back(RotamerLibEntry(probability, chi1, chi2, chi3, chi4,
                                                sig1, sig2, sig3, sig4));
-
     }
 
     for(std::vector<RotamerLibEntry>::iterator i = result_buffer_.begin();
diff --git a/sidechain/src/bb_dep_rotamer_lib.hh b/sidechain/src/bb_dep_rotamer_lib.hh
index a01a042f4598998e1d3e48e4b29e98ce941e4df6..c88b19feabe09600944fa453fb675555ab92416a 100644
--- a/sidechain/src/bb_dep_rotamer_lib.hh
+++ b/sidechain/src/bb_dep_rotamer_lib.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_BB_DEP_ROTAMER_LIB_HH
 #define PROMOD3_BB_DEP_ROTAMER_LIB_HH
 
diff --git a/sidechain/src/disulfid.cc b/sidechain/src/disulfid.cc
index 620658f2e17954b972d0b996dd3664a9db293b53..5cdb808cf97ab4b6dcba60b7d88b16419d51f00d 100644
--- a/sidechain/src/disulfid.cc
+++ b/sidechain/src/disulfid.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/disulfid.hh>
 #include <promod3/sidechain/rotamer.hh>
 #include <promod3/sidechain/particle.hh>
diff --git a/sidechain/src/disulfid.hh b/sidechain/src/disulfid.hh
index ac6aa87e196c4e4f0873c9068e7e932798021aca..6dd98a4ae27b14b2a4c6a624fb3bc57d9ccb7c30 100644
--- a/sidechain/src/disulfid.hh
+++ b/sidechain/src/disulfid.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_SIDECHAIN_DISULFID_HH
 #define PROMOD3_SIDECHAIN_DISULFID_HH
 
diff --git a/sidechain/src/frame.cc b/sidechain/src/frame.cc
index 6f79ead37f8ff176f441a7108915b7547b4b0c39..891e2959674a32fe2bfae76ef33fd636e5cddd42 100644
--- a/sidechain/src/frame.cc
+++ b/sidechain/src/frame.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/frame.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <ost/mol/xcs_editor.hh>
diff --git a/sidechain/src/frame.hh b/sidechain/src/frame.hh
index 1ba20cec8f4eae40a4b9cb03908ce52db20bbf8a..b073bb0989e60eb581a17f33d299de0bdc201368 100644
--- a/sidechain/src/frame.hh
+++ b/sidechain/src/frame.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_FRAME_HH
 #define PROMOD3_FRAME_HH
 
diff --git a/sidechain/src/particle.cc b/sidechain/src/particle.cc
index 91fa11d16ce2d64ad14f47746da934174d4ee3e6..e4c79f01a01b4216a97b30cc3c53b0dedb2dc785 100644
--- a/sidechain/src/particle.cc
+++ b/sidechain/src/particle.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/particle.hh>
 
 
diff --git a/sidechain/src/particle.hh b/sidechain/src/particle.hh
index 663a37f676fa8a89c1567d807ee6927bf68afec9..9675e0ccf95afc8bd9682641c0e8673e0bcae711 100644
--- a/sidechain/src/particle.hh
+++ b/sidechain/src/particle.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_PARTICLE_HH
 #define PROMOD3_PARTICLE_HH
 
diff --git a/sidechain/src/rotamer.cc b/sidechain/src/rotamer.cc
index 71443cb8feb51f25abc7805f41a5973777f51e99..41d1f9e2b4678ce83c72ff8b4368b43f4f5ab4d4 100644
--- a/sidechain/src/rotamer.cc
+++ b/sidechain/src/rotamer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/rotamer.hh>
 #include <promod3/core/runtime_profiling.hh>
 
diff --git a/sidechain/src/rotamer.hh b/sidechain/src/rotamer.hh
index 45ce313939a798828f47988b1158678907f7c0d2..068f3578fe5f0da278425c593d33a4db226c5d3b 100644
--- a/sidechain/src/rotamer.hh
+++ b/sidechain/src/rotamer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_ROTAMER_HH
 #define PROMOD3_ROTAMER_HH
 
diff --git a/sidechain/src/rotamer_cruncher.cc b/sidechain/src/rotamer_cruncher.cc
index f6769858fe96e0124513e3b61b0586ed2a975aab..dfe7c57ca9ca1092b69f81600f1b97b2e1b13242 100644
--- a/sidechain/src/rotamer_cruncher.cc
+++ b/sidechain/src/rotamer_cruncher.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/sidechain/rotamer_cruncher.hh>
 
diff --git a/sidechain/src/rotamer_cruncher.hh b/sidechain/src/rotamer_cruncher.hh
index fecff6096bf14f93d02e737f9ba3b943374a4793..bd4e6e95981342d5184252325309d8d46d5e25bd 100644
--- a/sidechain/src/rotamer_cruncher.hh
+++ b/sidechain/src/rotamer_cruncher.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_ROTAMER_CRUNCHER_HH
 #define PROMOD3_ROTAMER_CRUNCHER_HH
 
diff --git a/sidechain/src/rotamer_density.cc b/sidechain/src/rotamer_density.cc
index 92c1fd1fa056baf3e85342d6020cb0150537d504..c3502ef25841181adbc9641c5ea972b400b3570d 100644
--- a/sidechain/src/rotamer_density.cc
+++ b/sidechain/src/rotamer_density.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/rotamer_density.hh>
 
 namespace promod3{ namespace sidechain{
diff --git a/sidechain/src/rotamer_density.hh b/sidechain/src/rotamer_density.hh
index 3f9d4236cb69a6a15241d9d8294c6c1cca0763b1..acf38b55dda8d3b61a742db27256c19a6b4981bf 100644
--- a/sidechain/src/rotamer_density.hh
+++ b/sidechain/src/rotamer_density.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_ROTAMER_DENSITY_HH
 #define PROMOD3_ROTAMER_DENSITY_HH
 
diff --git a/sidechain/src/rotamer_graph.cc b/sidechain/src/rotamer_graph.cc
deleted file mode 100644
index dff604b654ce11ec96ba155db7812207cfd3330f..0000000000000000000000000000000000000000
--- a/sidechain/src/rotamer_graph.cc
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <promod3/sidechain/rotamer_graph.hh>
-
-
-namespace promod3 { namespace sidechain {
-
-RotamerGraph::~RotamerGraph() { }
-
-template<typename RotamerGroupPtr>
-RotamerGraphPtr RotamerGraph::CreateFromList(
-                const std::vector<RotamerGroupPtr>& rotamer_groups) {
-
-  core::ScopedTimerPtr prof = core::StaticRuntimeProfiler::StartScoped(
-                                "RotamerGraph::CreateFromList", 2);
-
-  RotamerGraphPtr graph(new RotamerGraph);
-
-  // let's create the nodes
-  uint counter = 0;
-  std::vector<Real> self_energies;
-  for(uint i = 0; i < rotamer_groups.size(); ++i) {
-    RotamerGroupPtr rot_group = rotamer_groups[i];
-    self_energies.resize(rot_group->size());
-    for(uint j = 0; j < rot_group->size(); ++j){
-      self_energies[j] = (*rot_group)[j]->GetSelfEnergy();
-    }
-    graph->AddNode(self_energies);
-  }
-
-  // let's create the edges
-  for(uint i = 0; i < rotamer_groups.size(); ++i){
-    for(uint j = i+1; j < rotamer_groups.size(); ++j){
-      promod3::core::EMatXX emat;
-      if(rotamer_groups[i]->CalculatePairwiseEnergies(rotamer_groups[j],
-                                                      0.01, emat)) {
-        graph->AddEdge(i, j, emat);
-      }
-    }
-  }
-
-  return graph;
-}
-
-}}//ns
-
diff --git a/sidechain/src/rotamer_graph.hh b/sidechain/src/rotamer_graph.hh
index 4e447b684191e0b33b7ab4ef4c8aae860ba3aebd..7ff2c37769467ebf5bc94625b410d91be2c9586e 100644
--- a/sidechain/src/rotamer_graph.hh
+++ b/sidechain/src/rotamer_graph.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_ROTAMER_GRAPH_COMPONENTS_HH
 #define PROMOD3_ROTAMER_GRAPH_COMPONENTS_HH
 
diff --git a/sidechain/src/rotamer_group.cc b/sidechain/src/rotamer_group.cc
index dd20d27cb85307258a8b00c7693430a018bf49ce..ed6fde6c96b03d07a152f5211bf6f9102ca55e05 100644
--- a/sidechain/src/rotamer_group.cc
+++ b/sidechain/src/rotamer_group.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/rotamer_group.hh>
 #include <promod3/core/runtime_profiling.hh>
 
diff --git a/sidechain/src/rotamer_group.hh b/sidechain/src/rotamer_group.hh
index 0ed5555e040b2a5f87c45dcdad5568b23ae90a08..b2556becc273619a187b085275e7fde33395dc08 100644
--- a/sidechain/src/rotamer_group.hh
+++ b/sidechain/src/rotamer_group.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_ROTAMER_GROUP_HH
 #define PROMOD3_ROTAMER_GROUP_HH
 
diff --git a/sidechain/src/rotamer_id.cc b/sidechain/src/rotamer_id.cc
index e5427def61b2a9256650f0c62060d9118c83ea5b..76a11c985ca94b97b74d59959017142ce96df195 100644
--- a/sidechain/src/rotamer_id.cc
+++ b/sidechain/src/rotamer_id.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/rotamer_id.hh>
 #include <promod3/core/runtime_profiling.hh>
 
diff --git a/sidechain/src/rotamer_id.hh b/sidechain/src/rotamer_id.hh
index 2ba2cb2e02701b758b1fd493140bb0dd97fe8a0b..407924d50f0170192ec3233d4040395d196b4a4b 100644
--- a/sidechain/src/rotamer_id.hh
+++ b/sidechain/src/rotamer_id.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_ROTAMER_ID_HH
 #define PROMOD3_ROTAMER_ID_HH
 
diff --git a/sidechain/src/rotamer_lib.cc b/sidechain/src/rotamer_lib.cc
index 10ae3e6438f212aaac69a6e9b7b893e604d0ddde..5c5fa4db1d322226dccd453f46e0798a8aefd0b3 100644
--- a/sidechain/src/rotamer_lib.cc
+++ b/sidechain/src/rotamer_lib.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/rotamer_lib.hh>
 #include <promod3/core/check_io.hh>
 #include <promod3/core/runtime_profiling.hh>
diff --git a/sidechain/src/rotamer_lib.hh b/sidechain/src/rotamer_lib.hh
index f6fdbe02df6c48158ad1eda3e12e7114f8a07dd5..49e8fb7bce78fb5e0df9a95409240c865ac76b64 100644
--- a/sidechain/src/rotamer_lib.hh
+++ b/sidechain/src/rotamer_lib.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_ROTAMER_LIB_HH
 #define PROMOD3_ROTAMER_LIB_HH
 
diff --git a/sidechain/src/rotamer_lib_entry.cc b/sidechain/src/rotamer_lib_entry.cc
index 3ab17d9de0b06254b501b0e85c7352fb584c3e40..5379598395a65a9484c410714b45d3b3c5f39b27 100644
--- a/sidechain/src/rotamer_lib_entry.cc
+++ b/sidechain/src/rotamer_lib_entry.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/rotamer_lib_entry.hh>
 
 namespace{
@@ -33,7 +49,7 @@ promod3::sidechain::RotamerLibEntryPtr FromARG(const ost::mol::ResidueHandle& re
        cd.IsValid() && ne.IsValid() && cz.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -61,7 +77,7 @@ promod3::sidechain::RotamerLibEntryPtr FromASN(const ost::mol::ResidueHandle& re
        od1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -85,7 +101,7 @@ promod3::sidechain::RotamerLibEntryPtr FromASP(const ost::mol::ResidueHandle& re
        od1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -110,7 +126,7 @@ promod3::sidechain::RotamerLibEntryPtr FromGLN(const ost::mol::ResidueHandle& re
        cd.IsValid() && oe1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -137,7 +153,7 @@ promod3::sidechain::RotamerLibEntryPtr FromGLU(const ost::mol::ResidueHandle& re
        cd.IsValid() && oe1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -165,7 +181,7 @@ promod3::sidechain::RotamerLibEntryPtr FromLYS(const ost::mol::ResidueHandle& re
        cd.IsValid() && ce.IsValid() && nz.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -191,7 +207,7 @@ promod3::sidechain::RotamerLibEntryPtr FromSER(const ost::mol::ResidueHandle& re
   if(!(n.IsValid() && ca.IsValid() && cb.IsValid() && og.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -211,7 +227,7 @@ promod3::sidechain::RotamerLibEntryPtr FromCYS(const ost::mol::ResidueHandle& re
   if(!(n.IsValid() && ca.IsValid() && cb.IsValid() && sg.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -234,7 +250,7 @@ promod3::sidechain::RotamerLibEntryPtr FromMET(const ost::mol::ResidueHandle& re
        sd.IsValid() && ce.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -260,7 +276,7 @@ promod3::sidechain::RotamerLibEntryPtr FromTRP(const ost::mol::ResidueHandle& re
        cd1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -284,7 +300,7 @@ promod3::sidechain::RotamerLibEntryPtr FromTYR(const ost::mol::ResidueHandle& re
        cd1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -306,7 +322,7 @@ promod3::sidechain::RotamerLibEntryPtr FromTHR(const ost::mol::ResidueHandle& re
   if(!(n.IsValid() && ca.IsValid() && cb.IsValid() && og1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -326,7 +342,7 @@ promod3::sidechain::RotamerLibEntryPtr FromVAL(const ost::mol::ResidueHandle& re
   if(!(n.IsValid() && ca.IsValid() && cb.IsValid() && cg1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -348,7 +364,7 @@ promod3::sidechain::RotamerLibEntryPtr FromILE(const ost::mol::ResidueHandle& re
        cd1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -372,7 +388,7 @@ promod3::sidechain::RotamerLibEntryPtr FromLEU(const ost::mol::ResidueHandle& re
        cd1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -396,7 +412,7 @@ promod3::sidechain::RotamerLibEntryPtr FromPRO(const ost::mol::ResidueHandle& re
        cd.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -420,7 +436,7 @@ promod3::sidechain::RotamerLibEntryPtr FromHIS(const ost::mol::ResidueHandle& re
        nd1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -444,7 +460,7 @@ promod3::sidechain::RotamerLibEntryPtr FromPHE(const ost::mol::ResidueHandle& re
        cd1.IsValid())){
     std::stringstream ss;
     ss << "Could not find all atoms required to get ";
-    ss << "all rotamer diheral angles!";
+    ss << "all rotamer dihedral angles!";
     throw promod3::Error(ss.str());
   }
 
@@ -698,4 +714,113 @@ bool RotamerLibEntry::SimilarDihedral(RotamerLibEntryPtr other, uint dihedral_id
   return this->SimilarDihedral(other,dihedral_idx,thresh,id);
 }
 
+bool HasNonRotameric(RotamerID id) {
+
+  return id == ASN || id == ASP || id == GLN || id == GLU || id == PHE ||
+         id == TYR || id == HIS || id == TRP;
+}
+
+bool IsRotameric(RotamerID id, int dihedral_idx) {
+
+  if(dihedral_idx == 0) {
+    return id!=GLY && id!=ALA && id!=XXX; // all others are rotameric
+  }
+
+  if(dihedral_idx == 1) {
+    return id == ARG || id == GLN || id == GLU || id == ILE || id == LEU || 
+           id == LYS || id == MET;
+  }
+
+  if(dihedral_idx == 2) {
+    return id == ARG || id == LYS || id == MET;
+  }
+
+  if(dihedral_idx == 3) {
+    return id == ARG || id == LYS;
+  }
+
+  return false;
+}
+
+DihedralConfiguration GetRotamericConfiguration(Real angle) {
+
+  if(angle != angle) {
+    return INVALID;
+  }
+
+  if(angle > Real(0.0) && angle < Real(2.09439510239)) {
+    return GAUCHE_PLUS;
+  }  
+
+  if(angle < Real(0.0) && angle > Real(-2.09439510239)) {
+    return GAUCHE_MINUS;
+  }
+
+  return TRANS;  
+}
+
+DihedralConfiguration GetDihedralConfiguration(const RotamerLibEntry& entry,
+                                               RotamerID id,
+                                               uint dihedral_idx) {
+
+  if(dihedral_idx > 3) {
+    return INVALID;
+  }
+
+  switch(dihedral_idx) {
+
+    case 0: {
+      if(entry.chi1 != entry.chi1) {
+        return INVALID;
+      }
+      if(id == GLY || id == ALA || id == XXX) {
+        return INVALID;
+      }
+      return GetRotamericConfiguration(entry.chi1);
+    }
+
+    case 1: {
+      if(entry.chi2 != entry.chi2) {
+        return INVALID;
+      }
+      if(id == ASN || id == ASP || id == PHE || id == TYR || id == HIS || 
+         id == TRP) {
+        return NON_ROTAMERIC;
+      }
+      if(id == ARG || id == GLN || id == GLU || id == ILE || id == LEU || 
+         id == LYS || id == MET) {
+        return GetRotamericConfiguration(entry.chi2);
+      }
+      return INVALID;
+    }
+
+    case 2: {
+      if(entry.chi3 != entry.chi3) {
+        return INVALID;
+      }
+      if(id == ARG || id == LYS || id == MET) {
+        return GetRotamericConfiguration(entry.chi3);
+      }
+      if(id == GLN || id == GLU) {
+        return NON_ROTAMERIC;
+      }
+      return INVALID;
+    }
+
+    case 3: {
+      if(entry.chi4 != entry.chi4) {
+        return INVALID;
+      }
+      if(id == ARG || id == LYS) {
+        return GetRotamericConfiguration(entry.chi4);
+      }
+      return INVALID;
+    }
+
+    default: {
+      throw promod3::Error("Invalid dihedral idx!");
+    }
+  }
+}
+
 }} //ns
diff --git a/sidechain/src/rotamer_lib_entry.hh b/sidechain/src/rotamer_lib_entry.hh
index 7e8afd80771dbd5e55b40fc6572efacc2bfa42e2..45dc6bb826d419deee441d144c196ec9a19a3d10 100644
--- a/sidechain/src/rotamer_lib_entry.hh
+++ b/sidechain/src/rotamer_lib_entry.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_ROTAMER_LIB_ENTRY_HH
 #define PROMOD3_ROTAMER_LIB_ENTRY_HH
 
@@ -21,6 +37,7 @@ namespace promod3{ namespace sidechain{
 struct RotamerLibEntry;
 typedef boost::shared_ptr<RotamerLibEntry> RotamerLibEntryPtr;
 
+
 struct RotamerLibEntry{
 
   RotamerLibEntry(Real p, Real c1, Real c2, Real c3, Real c4, 
@@ -96,6 +113,20 @@ struct RotamerLibEntry{
 };
 
 
+enum DihedralConfiguration {
+  INVALID, TRANS, GAUCHE_MINUS, GAUCHE_PLUS, NON_ROTAMERIC
+};
+
+bool HasNonRotameric(RotamerID id);
+
+bool IsRotameric(RotamerID id, int dihedral_idx);
+
+DihedralConfiguration GetRotamericConfiguration(Real angle);
+
+DihedralConfiguration GetDihedralConfiguration(const RotamerLibEntry& entry, 
+                                               RotamerID id,
+                                               uint dihedral_idx);
+
 }} //ns
 
 #endif
diff --git a/sidechain/src/rotamer_lib_reader.cc b/sidechain/src/rotamer_lib_reader.cc
index 4025bd4d502641685d443eff4dc66705a5c4d811..3f381fb2c335a9971c08fd00986da23a6bf75f8e 100644
--- a/sidechain/src/rotamer_lib_reader.cc
+++ b/sidechain/src/rotamer_lib_reader.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/rotamer_lib_reader.hh>
 
 namespace promod3{ namespace sidechain{
diff --git a/sidechain/src/rotamer_lib_reader.hh b/sidechain/src/rotamer_lib_reader.hh
index 606a4c37787b436dde260e867758f034eac48880..1abcdd30fa16954877e4fd64aa8eaa8761fe5e9a 100644
--- a/sidechain/src/rotamer_lib_reader.hh
+++ b/sidechain/src/rotamer_lib_reader.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_ROTAMER_LIB_READER_HH
 #define PROMOD3_ROTAMER_LIB_READER_HH
 
diff --git a/sidechain/src/scwrl_rotamer_constructor.cc b/sidechain/src/scwrl_rotamer_constructor.cc
index ed8d8da2f04790a7c2d7b72f5eb189de82c1a420..bb1ab96b5866998a0f6ec66d341905f830ca44e5 100644
--- a/sidechain/src/scwrl_rotamer_constructor.cc
+++ b/sidechain/src/scwrl_rotamer_constructor.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/scwrl_rotamer_constructor.hh>
 #include <promod3/core/runtime_profiling.hh>
 #include <promod3/core/message.hh>
@@ -602,7 +618,7 @@ SCWRLRotamerLookup::SCWRLRotamerLookup(bool cb_in_sidechain) {
     AddFRMFixParticle(LYS, 3, 7);
   }
 
-  sidechain_infos_[LYS].has_hydrogens = true;
+  backbone_infos_[LYS].has_hydrogens = true;
   AddBBInfo(LYS, NParticle, -0.35, "N", promod3::loop::BB_N_INDEX, false);
   AddBBInfo(LYS, CH1Particle, 0.1, "CA", promod3::loop::BB_CA_INDEX, false);
   AddBBInfo(LYS, CParticle, 0.55, "C", promod3::loop::BB_C_INDEX, false);
@@ -1708,6 +1724,20 @@ FrameResiduePtr SCWRLRotamerConstructor::ConstructSidechainFrameResidue(
 
   //set bb hydrogen
   if(info.has_hydrogens){
+    // to construct hydrogens, we might also need backbone atoms in the buffer
+    const SCWRLRotamerInfo& bb_info = rotamer_lookup_.GetBackboneInfo(id);
+
+    for(uint i = 0; i < bb_info.particles.size(); ++i){
+      if(!bb_info.particles[i].is_hydrogen){
+        ost::mol::AtomHandle a = res.FindAtom(bb_info.particles[i].name);
+        if(!a.IsValid()){
+          throw promod3::Error("Expected atom " + bb_info.particles[i].name + 
+                               " to be present in input residue!");
+        }
+        pos_buffer_->SetPos(id, bb_info.particles[i].atom_idx, a.GetPos());
+      }
+    }
+
     promod3::loop::ConstructHydrogens(*pos_buffer_, id, *hydrogen_buffer_, true, 
                                       promod3::loop::PROT_STATE_HISH);
   }
@@ -1739,12 +1769,10 @@ FrameResiduePtr SCWRLRotamerConstructor::ConstructSidechainFrameResidue(
 
   for(uint i = 0; i < info.particles.size(); ++i){
     if(!info.particles[i].is_hydrogen){
-
       if(!all_atom.IsSet(aa_res_idx, info.particles[i].atom_idx)){
         throw promod3::Error("Expected atom " + info.particles[i].name +
                              " to be set in all_atom");
       }
-
       pos_buffer_->SetPos(id, info.particles[i].atom_idx, 
                           all_atom.GetPos(aa_res_idx, info.particles[i].atom_idx));
     }
@@ -1752,6 +1780,20 @@ FrameResiduePtr SCWRLRotamerConstructor::ConstructSidechainFrameResidue(
 
   //set hydrogens
   if(info.has_hydrogens){
+    // to construct hydrogens, we might also need backbone atoms in the buffer
+    const SCWRLRotamerInfo& bb_info = rotamer_lookup_.GetBackboneInfo(id);
+
+    for(uint i = 0; i < bb_info.particles.size(); ++i){
+      if(!bb_info.particles[i].is_hydrogen){
+        if(!all_atom.IsSet(aa_res_idx, bb_info.particles[i].atom_idx)){
+          throw promod3::Error("Expected atom " + bb_info.particles[i].name +
+                               " to be set in all_atom");
+        }
+        pos_buffer_->SetPos(id, bb_info.particles[i].atom_idx, 
+                            all_atom.GetPos(aa_res_idx, bb_info.particles[i].atom_idx));
+      }
+    }
+
     promod3::loop::ConstructHydrogens(*pos_buffer_, id, *hydrogen_buffer_, true, 
                                       promod3::loop::PROT_STATE_HISH);
   }
diff --git a/sidechain/src/scwrl_rotamer_constructor.hh b/sidechain/src/scwrl_rotamer_constructor.hh
index 8beea0819bacefa5d12de50ce1500740b23c20ed..28915f2fa59bf841721061eaf45f76e7f87dc360 100644
--- a/sidechain/src/scwrl_rotamer_constructor.hh
+++ b/sidechain/src/scwrl_rotamer_constructor.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_SCWRL_ROTAMER_CONSTRUCTOR_HH
 #define PROMOD3_SCWRL_ROTAMER_CONSTRUCTOR_HH
 
diff --git a/sidechain/src/sidechain_connector.cc b/sidechain/src/sidechain_connector.cc
index c8e5c21966e75605c268289514016fbbc1beafae..ca9250bc5478bb77445205062345abc031075023 100644
--- a/sidechain/src/sidechain_connector.cc
+++ b/sidechain/src/sidechain_connector.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/sidechain_connector.hh>
 #include <promod3/core/runtime_profiling.hh>
 
diff --git a/sidechain/src/sidechain_connector.hh b/sidechain/src/sidechain_connector.hh
index 4a74884544e0ea68cc52d148159d0b85e5e1e482..55617577d7708b5233afb38f94b8ef2d7ceb048e 100644
--- a/sidechain/src/sidechain_connector.hh
+++ b/sidechain/src/sidechain_connector.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_SIDECHAIN_CONNECTOR_HH
 #define PROMOD3_SIDECHAIN_CONNECTOR_HH
 
diff --git a/sidechain/src/sidechain_object_loader.cc b/sidechain/src/sidechain_object_loader.cc
index 9480ad2bc87050cef37b4f1c505c3c446d7c2881..62850f20a5f5142c475594a896efb41599e858e9 100644
--- a/sidechain/src/sidechain_object_loader.cc
+++ b/sidechain/src/sidechain_object_loader.cc
@@ -1,21 +1,37 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/sidechain_object_loader.hh>
 #include <promod3/config.hh>
 #include <promod3/core/runtime_profiling.hh>
 
 namespace promod3{ namespace sidechain{
 
-BBDepRotamerLibPtr LoadDunbrackLib(){
+BBDepRotamerLibPtr LoadBBDepLib(){
   core::ScopedTimerPtr prof = core::StaticRuntimeProfiler::StartScoped(
-                                "sidechain::LoadDunbrackLib", 2);
-  String path = GetProMod3BinaryPath("sidechain_data", "2010DunbrackLib.dat");
+                                "sidechain::LoadBBDepLib", 2);
+  String path = GetProMod3BinaryPath("sidechain_data", "bb_dep_lib.dat");
   BBDepRotamerLibPtr p = BBDepRotamerLib::Load(path);
   return p;  
 }
 
-RotamerLibPtr LoadPenultimateLib(){
+RotamerLibPtr LoadLib(){
   core::ScopedTimerPtr prof = core::StaticRuntimeProfiler::StartScoped(
-                                "sidechain::LoadPenultimateLib", 2);
-  String path = GetProMod3BinaryPath("sidechain_data", "PenultimateLib.dat");
+                                "sidechain::LoadLib", 2);
+  String path = GetProMod3BinaryPath("sidechain_data", "lib.dat");
   RotamerLibPtr p = RotamerLib::Load(path);
   return p;  
 }
diff --git a/sidechain/src/sidechain_object_loader.hh b/sidechain/src/sidechain_object_loader.hh
index d7ece7bfa72e079e605114a5f1d9fe91d728f906..3a15201b437f8c40602bdbbd2e7e52456cd2fd70 100644
--- a/sidechain/src/sidechain_object_loader.hh
+++ b/sidechain/src/sidechain_object_loader.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_SIDECHAIN_OBJECT_LOADER_HH
 #define PROMOD3_SIDECHAIN_OBJECT_LOADER_HH
 
@@ -6,9 +22,8 @@
 
 namespace promod3 { namespace sidechain{
 
-BBDepRotamerLibPtr LoadDunbrackLib();
-RotamerLibPtr LoadPenultimateLib();
-
+BBDepRotamerLibPtr LoadBBDepLib();
+RotamerLibPtr LoadLib();
 
 }} //ns
 #endif
diff --git a/sidechain/src/subrotamer_optimizer.cc b/sidechain/src/subrotamer_optimizer.cc
index 3594a5bcbe07e39b76c0e1098ac7eb440c031e15..3444eb3c5d4e3ced83bef7ad954f7f8374ff157c 100644
--- a/sidechain/src/subrotamer_optimizer.cc
+++ b/sidechain/src/subrotamer_optimizer.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #include <promod3/sidechain/subrotamer_optimizer.hh>
 
 namespace promod3{ namespace sidechain{
diff --git a/sidechain/src/subrotamer_optimizer.hh b/sidechain/src/subrotamer_optimizer.hh
index df415f00cadbaebca42f393dce66c7bb8e620d80..371c5e7763a50f86bce7526abbbfb9caa5737206 100644
--- a/sidechain/src/subrotamer_optimizer.hh
+++ b/sidechain/src/subrotamer_optimizer.hh
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #ifndef PROMOD3_SUBROTAMER_OPTIMIZER_HH
 #define PROMOD3_SUBROTAMER_OPTIMIZER_HH
 
diff --git a/sidechain/tests/test_frame_construction.cc b/sidechain/tests/test_frame_construction.cc
index 5c6801168270bd96ee3ae08bde1c0486fa8ce8b0..0817985b9a9d2708693957562ac4f196fb4efeac 100644
--- a/sidechain/tests/test_frame_construction.cc
+++ b/sidechain/tests/test_frame_construction.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/sidechain/scwrl_rotamer_constructor.hh>
 #include <promod3/core/message.hh>
diff --git a/sidechain/tests/test_rotamers.cc b/sidechain/tests/test_rotamers.cc
index 0b49ec0bd4a76442941fdc4555df4ec18aa99c8d..11143888c2c85c246ee6c46c170560e5cfd045a0 100644
--- a/sidechain/tests/test_rotamers.cc
+++ b/sidechain/tests/test_rotamers.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 
 #include <promod3/sidechain/scwrl_rotamer_constructor.hh>
 #include <promod3/core/message.hh>
@@ -211,8 +227,8 @@ BOOST_AUTO_TEST_CASE(test_rotamer_group_consistency) {
   ost::mol::ResidueHandleList res_list = test_ent.GetResidueList();
   loop::AllAtomPositions all_atoms = GetAllAtomPos(res_list);
   // get all frames without hbonds
-  BBDepRotamerLibPtr bbd_rot_lib = LoadDunbrackLib();
-  RotamerLibPtr rot_lib = LoadPenultimateLib();
+  BBDepRotamerLibPtr bbd_rot_lib = LoadBBDepLib();
+  RotamerLibPtr rot_lib = LoadLib();
   CheckRotamerGroupConstruction(res_list, all_atoms, bbd_rot_lib,
                                 rot_lib);
 }
@@ -223,7 +239,7 @@ BOOST_AUTO_TEST_CASE(test_rotamer_apply_on_residue) {
   ost::mol::ResidueHandleList res_list = test_ent.GetResidueList();
   loop::AllAtomPositions all_atoms = GetAllAtomPos(res_list);
   // check all frames without hbonds
-  RotamerLibPtr rot_lib = LoadPenultimateLib();
+  RotamerLibPtr rot_lib = LoadLib();
   CheckRotamerApplyOnResidue(res_list, all_atoms, rot_lib);
 }
 
diff --git a/sidechain/tests/tests.cc b/sidechain/tests/tests.cc
index 70ebea3f331ef95dbb6c42b2a9a95646f9fb1259..bfcbfd198384cb41889ca820c948fa813c243dc6 100644
--- a/sidechain/tests/tests.cc
+++ b/sidechain/tests/tests.cc
@@ -1,3 +1,19 @@
+// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and 
+//                          Biozentrum - University of Basel
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//   http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
 #define BOOST_TEST_DYN_LINK
 #define BOOST_TEST_MODULE promod3_sidechain
 #define BOOST_AUTO_TEST_MAIN