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 — ProMod3 1.2.0 documentation</title> + <title>Overview: module code — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>promod3 — 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 "import promod3"</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 "License");</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 "AS IS" 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 "import promod3"</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">"share"</span><span class="p">,</span> <span class="s2">"promod3"</span><span class="p">))</span> <span class="c1"># set version</span> -<span class="n">__version__</span> <span class="o">=</span> <span class="s2">"1.2.0"</span> -<span class="n">__version_extended__</span> <span class="o">=</span> <span class="s2">"1.2.0 (release-1.2.0|d086aed)"</span> +<span class="n">__version__</span> <span class="o">=</span> <span class="s2">"1.3.0"</span> +<span class="n">__version_extended__</span> <span class="o">=</span> <span class="s2">"1.3.0 (release-1.3.0|01e00a8)"</span> <span class="n">__all__</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'SetCompoundsChemlib'</span><span class="p">,</span> <span class="s1">'GetProMod3SharedDataPath'</span><span class="p">,</span> <span class="s1">'SetProMod3SharedDataPath'</span><span class="p">)</span> @@ -146,7 +162,7 @@ <div class="clearer"></div> </div> <div class="footer"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>promod3.core.helper — 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">"""</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 "License");</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 "AS IS" 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">"""</span> <span class="sd">Uncategorised functions which may come handy at several places.</span> <span class="sd">"""</span> @@ -231,7 +248,7 @@ <div class="clearer"></div> </div> <div class="footer"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>promod3.core.pm3argparse — 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">"""</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 "License");</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 "AS IS" 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">"""</span> <span class="sd">Extensions for the argparse module.</span> <span class="sd">"""</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">"""Load generic profile file from filename and return it."""</span> + <span class="n">argstr</span> <span class="o">=</span> <span class="s2">"'--seqprof "</span> <span class="o">+</span> <span class="n">filename</span> <span class="o">+</span> <span class="s2">"'"</span> + <span class="n">helper</span><span class="o">.</span><span class="n">FileExists</span><span class="p">(</span><span class="s2">"Profile"</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">": failure to parse profile file: "</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">"""Get chain id to entity view (single chain) mapping (dict)."""</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">'ALIGNMENT'</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">'STRUCTURE'</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">'PROFILE'</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">"""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">"""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">'ATTACH_VIEWS'</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">"""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 <FILE>`` - 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"> """</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">'PROFILE'</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">"""Actually add alignment arguments/options."""</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">"io.LoadEntity method. Format is chosen by file "</span><span class="o">+</span> <span class="s2">"ending. Recognized File Extensions: .ent, .pdb, "</span><span class="o">+</span> <span class="s2">".ent.gz, .pdb.gz, .cif, .cif.gz."</span><span class="p">,</span> - <span class="n">action</span><span class="o">=</span><span class="s1">'append'</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">'append'</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">'-s'</span><span class="p">,</span> <span class="s1">'--seqprof'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="p">(</span><span class="s1">'<FILE>'</span><span class="p">),</span> + <span class="n">help</span><span class="o">=</span><span class="s2">"Sequence profile in any format readable by "</span><span class="o">+</span> + <span class="s2">"OST's io.LoadSequenceProfile method. Format is "</span><span class="o">+</span> + <span class="s2">"chosen by file ending. Recognized File Extensions: "</span><span class="o">+</span> + <span class="s2">".hhm, .hhm.gz, .pssm, .pssm.gz"</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'append'</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">'ATTACH_VIEWS'</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">'PROFILE'</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">"""Get Profiles from command line input."""</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">"All sequence profiles must have unique "</span> <span class="o">+</span> + <span class="s2">"sequence."</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">"Could not find profile with sequence "</span> <span class="o">+</span> + <span class="s2">"that exactly matches trg seq: "</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">"Could not map every profile to a target "</span> <span class="o">+</span> + <span class="s2">"sequence"</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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>promod3.modelling._closegaps — 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">'''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 "License");</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 "AS IS" 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">'''High-level functionality for modelling module to close gaps. Added in the</span> <span class="sd">__init__.py file. To be used directly by passing a ModellingHandle instance</span> <span class="sd">as argument.</span> <span class="sd">'''</span> @@ -1627,7 +1644,7 @@ <div class="clearer"></div> </div> <div class="footer"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>promod3.modelling._denovo — 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 "License");</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 "AS IS" 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>promod3.modelling._fragger_handle — 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">'''Python functionality to generate fraggers.'''</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 "License");</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 "AS IS" 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">'''Python functionality to generate fraggers.'''</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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>promod3.modelling._molprobity — 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">'''Binding to external MolProbity tool to get scores.'''</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 "License");</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 "AS IS" 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">'''Binding to external MolProbity tool to get scores.'''</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"> - ©2018, ProMod3 authors. + ©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 — 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 "License");</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 "AS IS" 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">''' 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"> => 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"> '''</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">"Failed to initialize monte carlo protocol!"</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">></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"><</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"> + ©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> + & <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 — ProMod3 1.2.0 documentation</title> + <title>promod3.modelling._pipeline — 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">'''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 "License");</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 "AS IS" 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">'''High-level functionality for modelling module to build pipelines. Added in </span> <span class="sd">the __init__.py file. To be used directly by passing a ModellingHandle instance</span> <span class="sd">as argument.</span> <span class="sd">'''</span> @@ -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">'''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"> '''</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">'pipeline::BuildSidechains'</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">"Rebuilding sidechains."</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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>promod3.modelling._reconstruct_sidechains — 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 "License");</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 "AS IS" 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 <LoadDunbrackLib>`</span> -<span class="sd"> library.</span> +<span class="sd"> default is to call :meth:`<LoadBBDepLib>`.</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">"Only </span><span class="se">\"</span><span class="s2">rrm</span><span class="se">\"</span><span class="s2"> and </span><span class="se">\"</span><span class="s2">frm</span><span class="se">\"</span><span class="s2"> allowed for rotamer_model!"</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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>promod3.modelling._ring_punches — 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">'''Helper functions to deal with ring punchings.'''</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 "License");</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 "AS IS" 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">'''Helper functions to deal with ring punchings.'''</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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>test_actions — 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">"""</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 "License");</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 "AS IS" 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">"""</span> <span class="sd">unittest.TestCase class providing common functionality for testing actions.</span> <span class="sd">"""</span> <span class="kn">import</span> <span class="nn">unittest</span> @@ -197,7 +214,7 @@ <div class="clearer"></div> </div> <div class="footer"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>ProMod3 Actions — 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 <FILE> <span class="p">|</span> -c <FILE> <span class="p">|</span> -j <OBJECT><span class="p">|</span><FILE><span class="o">)</span> -<span class="go"> (-p <FILE> | -e <FILE>) [-o <FILENAME>]</span> +<span class="go"> (-p <FILE> | -e <FILE>) [-s <FILE>] [-o <FILENAME>]</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 <CHAINID> </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 <CHAINID> <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 <FILE> <span class="p">|</span> -e <FILE><span class="o">)</span> <span class="o">[</span>-o <FILENAME><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 <CHAINID> <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 <CHAINID> <div class="clearer"></div> </div> <div class="footer"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>test_actions - Testing Actions — 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>‘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‘s +<p>In ProMod3, unit tests are run via <a class="reference external" href="https://www.OpenStructure.org">OST</a>‘s <a class="reference external" href="https://www.openstructure.org/docs/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‘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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Building ProMod3 — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Changelog — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>ProMod3‘s Share Of CMake — 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"> - ©2018, ProMod3 authors. + ©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 — 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 <IMAGE_NAME> -f Dockerfile <PATH_TO_DOCKERFILE_DIR> +</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/<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:</p> +<div class="highlight-bash"><div class="highlight"><pre><span></span>sudo docker run --rm -v /home/<USER>:/home <IMAGE_NAME> 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/<USER>:/home <IMAGE_NAME> 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 <IMAGE_NAME> 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 <IMAGE_NAME> 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/<USER>:/home -v <COMPLIB_DIR_LOCALHOST>:<COMPLIB_DIR_CONTAINER> <IMAGE_NAME> 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"> + ©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> + & <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 — 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 +<PATH_TO_PROMOD3_CHECKOUT>/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"> + ©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> + & <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 — 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 “standalone” 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’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> <IMAGE> 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 <IMAGE> --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’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> <IMAGE_NAME> 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 <COMPLIB_DIR_LOCALHOST>:<COMPLIB_DIR_CONTAINER> <IMAGE_NAME> pm my_script.py +</pre></div> +</div> +<p>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: <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"> + ©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> + & <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 — ProMod3 1.2.0 documentation</title> + <title>Contributing — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Geometry functions — 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Graph Minimizer — 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>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>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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>helper - Shared Functionality For the Everything — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>core - ProMod3 Core Functionality — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>pm3argparse - Parsing Command Lines — 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"><FILE></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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Runtime profiling — 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"> - ©2018, ProMod3 authors. + ©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() — ProMod3 1.2.0 documentation</title> + <title>SetCompoundsChemlib() — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>ProMod3 Setup — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Documentation For Developers — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Index — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Getting Started — 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 “CPU” 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"> - ©2018, ProMod3 authors. + ©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! — ProMod3 1.2.0 documentation</title> + <title>ProMod3 — 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’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‘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’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"> - ©2018, ProMod3 authors. + ©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 — 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. + + "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 +</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"> + ©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> + & <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 — ProMod3 1.2.0 documentation</title> + <title>Handling All Atom Positions — 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – Atom position index.</td> </tr> @@ -554,7 +555,7 @@ if <em>atom_name</em> is not one of that residue’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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Representing Loops — 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>) – Sequence of created BackboneList</li> -<li><strong>residues</strong> (<code class="xref py py-class docutils literal"><span class="pre">list</span></code>) – 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>) – 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>) – </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>) – </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>) – </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>) – </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>) – </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>) – 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>) – 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>) – 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>) – 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>) – </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>) – </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>) – </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>) – </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>) – </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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>loop - Loop Handling — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Loading Precomputed Objects — 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 & 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 & 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 & 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 & 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Generate ost.mol.mm systems — 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>) – 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’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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Structural Data — 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">"data"</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">"1CRN"</span><span class="p">,</span> <span class="s2">"1AKI"</span><span class="p">]</span> <span class="n">chain_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"A"</span><span class="p">,</span> <span class="s2">"A"</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'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'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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – Profile information for the chain with name <em>chain_name</em>. The profile sequence must match <em>seqres</em>.</li> <li><strong>only_longest_stretch</strong> – Flag whether you want to add only the longest 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>) – 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>) – 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>) – 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>) – 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>) – Positions on which the backbone list’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>) – Positions on which the backbone list’s N-terminus should be superposed onto.</li> -<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/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>) – Positions on which the backbone list’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>) – Positions on which the backbone list’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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Sampling Dihedral Angles — 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – <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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – <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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – psi angle</li> </ul> @@ -589,7 +590,7 @@ standard amino acid</td> <div class="clearer"></div> </div> <div class="footer"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Modelling Algorithms — 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – Number of fragments to be extracted at each @@ -328,7 +329,7 @@ want to generate</li> <li><strong>avg_sampling_per_position</strong> – Number of Monte Carlo sampling steps the total number is: len(<strong>sequence</strong>) * <strong>avg_sampling_per_position</strong></li> -<li><strong>profile</strong> (<a class="reference external" href="https://www.openstructure.org/docs/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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Handling Gaps — 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>) – 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>) – 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>) – 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>) – Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.after" title="promod3.modelling.StructuralGap.after"><code class="xref py py-attr docutils literal"><span class="pre">after</span></code></a></li> <li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – Fills <a class="reference internal" href="#promod3.modelling.StructuralGap.seq" title="promod3.modelling.StructuralGap.seq"><code class="xref py py-attr docutils literal"><span class="pre">seq</span></code></a></li> </ul> </td> @@ -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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – <ul> <li>If -1, all possible non-terminal gaps are returned.</li> <li>If >= 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>) – The gap which will be extended by <a class="reference internal" href="#promod3.modelling.ScoringGapExtender.Extend" title="promod3.modelling.ScoringGapExtender.Extend"><code class="xref py py-meth docutils literal"><span class="pre">Extend()</span></code></a>.</li> <li><strong>extension_penalty</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">float</span></code></a>) – Penalty for length of gap.</li> <li><strong>penalties</strong> (<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>) – 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>) – 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>) – 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>) – <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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>modelling - Protein Modelling — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Handling Loop Candidates — 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>) – 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>) – 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>) – 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>) – The residue at the C-terminal end of the loop</li> <li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>) – The sequence of residues to be added including the <em>n_stem</em> and <em>c_stem</em></li> <li><strong>frag_db</strong> (<a class="reference internal" href="../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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – Residue defining the c-stem positions every candidate should match</li> <li><strong>pivot_one</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – First pivot residue</li> <li><strong>pivot_two</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Second pivot residue</li> @@ -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 “score” 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Fitting Loops Into Gaps — 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>) – 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>) – 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>) – Residue defining the n_stem. If the residue before <em>n_stem</em> doesn’t exist, the torsion sampler will use a default residue (ALA) and and phi angle (-1.0472) to evaluate the first angle.</li> -<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/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>) – 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>) – Residue defining the c_stem. If the residue after <em>c_stem</em> doesn’t exist, the torsion sampler will use a default residue (ALA) and psi angle (-0.7854) to evaluate the last angle.</li> @@ -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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – Force constant in kJ/mol/nm^2</li> </ul> </td> @@ -371,7 +372,7 @@ doesn’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>) – 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>) – 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>) – 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>) – Force constant in kJ/mol/nm^2</li> </ul> </td> @@ -393,7 +394,7 @@ doesn’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>) – 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>) – 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>) – 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>) – Force constant in kJ/mol/nm^2</li> </ul> </td> @@ -415,7 +416,7 @@ doesn’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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Model Checking — 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>) – 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>) – 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> – 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>) – 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>) – 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> – 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>) – 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>) – 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>) – 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>) – 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>) – 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>.) – 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>) – 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 “phenix.molprobity” +<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 “phenix.molprobity” 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Generating Loops De Novo — 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">"sampled_frag.pdb"</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> => 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>) – Closer object to adapt a new conformation to the environment.</li> <li><strong>scorer</strong> (<a class="reference internal" href="#mc-scorer-object"><span class="std std-ref">Scorer Object</span></a>) – Scorer object to score new loop conformations.</li> -<li><strong>cooler</strong> (<a class="reference internal" href="#mc-cooler-object"><span class="std std-ref">Cooler Object</span></a>) – Cooler object to control the temperature of the +<li><strong>cooler</strong> (<a class="reference internal" href="#mc-cooler-object"><span class="std std-ref">Cooler Object</span></a>) – Cooler object to control the temperature of the Monte Carlo trajectory.</li> <li><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">int</span></code></a>) – Number of 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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> – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – Defining stem positions the closed conformation should adapt.</li> -<li><strong>c_stem</strong> – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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’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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Modelling Pipeline — 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’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>) – 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>) – 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>) – 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 “offset” (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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – Transformation to be applied to all atom positions when they’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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Sidechain Reconstruction — 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>) – 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>) – Structure for sidechain reconstruction. Note, that the sidechain reconstruction gets directly applied on the structure itself.</li> <li><strong>keep_sidechains</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">bool</span></code></a>) – Flag, whether 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>) – Flag, whether to add ligands (anything in chain ‘_’) as static objects.</li> <li><strong>rotamer_library</strong> (<code class="xref py py-class docutils literal"><span class="pre">BBDepRotamerLib</span></code> / <code class="xref py py-class docutils literal"><span class="pre">RotamerLib</span></code>) – 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"><LoadBBDepLib>()</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>) – Only considered when <em>rotamer_model</em> is “frm”. 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Using Binary Files In ProMod3 — 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‘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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Python Module Index — 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"> - ©2018, ProMod3 authors. + ©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 — 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"> + ©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> + & <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 — ProMod3 1.2.0 documentation</title> + <title>All Atom Scorers — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Backbone Score Environment — 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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> >= <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> >= <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 < <em>max_dist</em> and 0 otherwise.</p> +distance < <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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Backbone Scorers — 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> <= <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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>scoring - Loop Scoring — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Other Scoring Functions — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Search — 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"> - ©2018, ProMod3 authors. + ©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‘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’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‘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 — ProMod3 1.2.0 documentation</title> + <title>Disulfid Bond Evaluation — 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Frame — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Rotamer Graph — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>sidechain - Sidechain Modelling — 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">'data/1CRN.pdb'</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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Loading Rotamer Libraries — 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’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’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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Rotamers — 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – New name of residue. Nothing happens in case of the @@ -1224,7 +1225,7 @@ rotamers with <em>self_energy</em> > <em>l_e</em> + <em>thresh</em></p> <div class="clearer"></div> </div> <div class="footer"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Rotamer Constructor — 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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’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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>RotamerID — 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’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>) – 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>) – 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Rotamer Library — 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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>) – 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 < angle < -120)</li> +<li>GAUCHE_PLUS - Gauche+ configuration (0 < angle < 120)</li> +<li>GAUCHE_MINUS - Gauce- configuration (-120 < angle < 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>) – 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>) – 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>) – 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>) – Specifies angle (0 => chi1, ..., 3 => 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Subrotamer Optimization — 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"> - ©2018, ProMod3 authors. + ©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 — ProMod3 1.2.0 documentation</title> + <title>Documentation For Users — 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’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"> - ©2018, ProMod3 authors. + ©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