Skip to content
Snippets Groups Projects
Commit 571e47d1 authored by Gerardo Tauriello's avatar Gerardo Tauriello
Browse files

fixed tests and doc

parent fd827a2d
No related branches found
No related tags found
No related merge requests found
......@@ -309,6 +309,23 @@ def FillLoopsByDatabase(mhandle, scorer, fragment_db, structure_db,
evaluated per loop.
:type max_loops_to_search: :class:`int`
:param extended_search: True = more loop candidates are considered.
The candidate search is done less precisely (see
:meth:`~promod3.loop.LoopCandidates.FillFromDatabase`).
The candidates are still scored and evaluated the
same though (only more of them considered).
:type extended_search: :class:`bool`
:param use_scoring_extender: True = use :class:`ScoringGapExtender` instead
of :class:`GapExtender`.
The gap is penalized according as
0.8*length + sum(helices) + sum(sheets).
For the scondary-structure-penalty to work,
the model-template must have the appropriate
information before :func:`BuildRawModel` is
called (e.g. with :mod:`ost.bindings.dssp`).
:type use_scoring_extender: :class:`bool`
:param max_db_loop_len: Max. len of loops for which a database search makes
sense. Should correspond to the biggest loop stored
in the database.
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -151,82 +151,82 @@ ATOM 150 O THR A 21 5.947 10.757 -2.523 1.00 5.82 O
ATOM 151 CB THR A 21 2.992 10.188 -2.225 1.00 4.13 C
ATOM 152 OG1 THR A 21 2.051 9.144 -2.623 1.00 5.45 O
ATOM 153 CG2 THR A 21 2.260 11.349 -1.551 1.00 5.41 C
ATOM 154 N PRO A 22 4.995 12.718 -3.161 1.00 5.04 N
ATOM 155 CA PRO A 22 6.125 13.499 -2.698 1.00 4.69 C
ATOM 156 C PRO A 22 6.393 13.232 -1.238 1.00 4.19 C
ATOM 157 O PRO A 22 5.479 13.059 -0.431 1.00 4.47 O
ATOM 158 CB PRO A 22 5.842 14.958 -2.898 1.00 7.12 C
ATOM 159 CG PRO A 22 4.828 14.995 -4.046 1.00 0.00 C
ATOM 160 CD PRO A 22 3.965 13.756 -3.791 1.00 0.00 C
ATOM 161 N GLU A 23 7.659 13.237 -0.852 1.00 0.00 N
ATOM 162 CA GLU A 23 7.981 12.921 0.510 1.00 0.00 C
ATOM 163 C GLU A 23 7.304 13.857 1.511 1.00 0.00 C
ATOM 164 O GLU A 23 7.052 13.494 2.646 1.00 0.00 O
ATOM 165 CB GLU A 23 9.467 13.004 0.692 1.00 0.00 C
ATOM 166 CG GLU A 23 10.297 11.898 -0.021 1.00 0.00 C
ATOM 167 CD GLU A 23 11.816 12.011 0.122 1.00 0.00 C
ATOM 168 OE1 GLU A 23 12.221 13.057 0.694 1.00 0.00 O
ATOM 169 OE2 GLU A 23 12.558 11.100 -0.315 1.00 0.00 O
ATOM 170 N ALA A 24 7.051 15.110 1.093 1.00 0.00 N
ATOM 171 CA ALA A 24 6.502 16.036 2.035 1.00 0.00 C
ATOM 172 C ALA A 24 5.061 15.672 2.409 1.00 0.00 C
ATOM 173 O ALA A 24 4.651 15.824 3.552 1.00 0.00 O
ATOM 174 CB ALA A 24 6.528 17.415 1.446 1.00 0.00 C
ATOM 175 N ILE A 25 4.278 15.191 1.441 1.00 0.00 N
ATOM 176 CA ILE A 25 2.933 14.772 1.782 1.00 0.00 C
ATOM 177 C ILE A 25 2.979 13.577 2.729 1.00 0.00 C
ATOM 178 O ILE A 25 2.263 13.547 3.729 1.00 0.00 O
ATOM 179 CB ILE A 25 2.190 14.398 0.534 1.00 0.00 C
ATOM 180 CG1 ILE A 25 1.909 15.599 -0.405 1.00 0.00 C
ATOM 181 CG2 ILE A 25 0.924 13.550 0.789 1.00 0.00 C
ATOM 182 CD1 ILE A 25 1.405 15.198 -1.802 1.00 0.00 C
ATOM 183 N CYS A 26 3.796 12.600 2.436 1.00 0.00 N
ATOM 184 CA CYS A 26 3.902 11.454 3.296 1.00 0.00 C
ATOM 185 C CYS A 26 4.378 11.792 4.694 1.00 0.00 C
ATOM 186 O CYS A 26 3.914 11.207 5.676 1.00 0.00 O
ATOM 187 CB CYS A 26 4.858 10.475 2.683 1.00 0.00 C
ATOM 188 SG CYS A 26 4.242 9.705 1.134 1.00 0.00 S
ATOM 189 N ALA A 27 5.306 12.737 4.789 1.00 0.00 N
ATOM 190 CA ALA A 27 5.714 13.193 6.113 1.00 0.00 C
ATOM 191 C ALA A 27 4.495 13.506 6.968 1.00 0.00 C
ATOM 192 O ALA A 27 4.442 13.067 8.116 1.00 0.00 O
ATOM 193 CB ALA A 27 6.564 14.422 5.980 1.00 0.00 C
ATOM 194 N THR A 28 3.550 14.258 6.443 1.00 0.00 N
ATOM 195 CA THR A 28 2.347 14.540 7.202 1.00 0.00 C
ATOM 196 C THR A 28 1.555 13.313 7.553 1.00 0.00 C
ATOM 197 O THR A 28 1.107 13.181 8.698 1.00 0.00 O
ATOM 198 CB THR A 28 1.477 15.463 6.401 1.00 0.00 C
ATOM 199 OG1 THR A 28 2.113 16.712 6.143 1.00 0.00 O
ATOM 200 CG2 THR A 28 0.094 15.760 6.991 1.00 0.00 C
ATOM 201 N TYR A 29 1.353 12.434 6.586 1.00 0.00 N
ATOM 202 CA TYR A 29 0.582 11.206 6.825 1.00 0.00 C
ATOM 203 C TYR A 29 1.248 10.213 7.722 1.00 0.00 C
ATOM 204 O TYR A 29 0.606 9.295 8.239 1.00 0.00 O
ATOM 205 CB TYR A 29 0.316 10.548 5.504 1.00 0.00 C
ATOM 206 CG TYR A 29 -0.686 11.303 4.661 1.00 0.00 C
ATOM 207 CD1 TYR A 29 -1.640 12.095 5.267 1.00 0.00 C
ATOM 208 CD2 TYR A 29 -0.647 11.200 3.286 1.00 0.00 C
ATOM 209 CE1 TYR A 29 -2.568 12.794 4.486 1.00 0.00 C
ATOM 210 CE2 TYR A 29 -1.576 11.899 2.505 1.00 0.00 C
ATOM 211 CZ TYR A 29 -2.529 12.689 3.091 1.00 0.00 C
ATOM 212 OH TYR A 29 -3.457 13.388 2.310 1.00 0.00 O
ATOM 213 N THR A 30 2.564 10.347 7.911 1.00 0.00 N
ATOM 214 CA THR A 30 3.365 9.322 8.604 1.00 0.00 C
ATOM 215 C THR A 30 3.916 9.808 9.928 1.00 0.00 C
ATOM 216 O THR A 30 4.324 8.972 10.710 1.00 0.00 O
ATOM 217 CB THR A 30 4.506 8.915 7.720 1.00 0.00 C
ATOM 218 OG1 THR A 30 5.373 10.007 7.424 1.00 0.00 O
ATOM 219 CG2 THR A 30 4.121 8.255 6.392 1.00 0.00 C
ATOM 220 N GLY A 31 3.995 11.118 10.162 1.00 0.00 N
ATOM 221 CA GLY A 31 4.730 11.637 11.306 1.00 0.00 C
ATOM 222 C GLY A 31 6.208 11.784 11.116 1.00 0.00 C
ATOM 223 O GLY A 31 6.940 12.074 12.076 1.00 0.00 O
ATOM 224 N CYS A 32 6.712 11.563 9.959 1.00 4.30 N
ATOM 225 CA CYS A 32 8.139 11.683 9.606 1.00 4.89 C
ATOM 226 C CYS A 32 8.450 13.152 9.215 1.00 5.50 C
ATOM 227 O CYS A 32 7.585 13.992 8.970 1.00 5.82 O
ATOM 228 CB CYS A 32 8.417 10.765 8.469 1.00 4.66 C
ATOM 229 SG CYS A 32 8.145 8.992 8.862 1.00 0.00 S
ATOM 154 N PRO A 22 4.971 12.703 -3.176 1.00 5.04 N
ATOM 155 CA PRO A 22 6.143 13.513 -2.696 1.00 4.69 C
ATOM 156 C PRO A 22 6.400 13.233 -1.225 1.00 4.19 C
ATOM 157 O PRO A 22 5.485 13.061 -0.382 1.00 4.47 O
ATOM 158 CB PRO A 22 5.703 14.969 -2.920 1.00 7.12 C
ATOM 159 CG PRO A 22 4.676 14.893 -3.996 1.00 7.03 C
ATOM 160 CD PRO A 22 3.964 13.567 -3.811 1.00 4.90 C
ATOM 161 N GLU A 23 7.728 13.297 -0.921 1.00 5.16 N
ATOM 162 CA GLU A 23 8.114 13.103 0.500 1.00 5.31 C
ATOM 163 C GLU A 23 7.427 14.073 1.410 1.00 4.11 C
ATOM 164 O GLU A 23 7.036 13.682 2.540 1.00 5.11 O
ATOM 165 CB GLU A 23 9.648 13.285 0.660 1.00 6.16 C
ATOM 166 CG GLU A 23 10.440 12.093 0.063 1.00 7.48 C
ATOM 167 CD GLU A 23 11.941 12.170 0.391 1.00 9.40 C
ATOM 168 OE1 GLU A 23 12.416 13.225 0.681 1.00 10.40 O
ATOM 169 OE2 GLU A 23 12.539 11.070 0.292 1.00 13.32 O
ATOM 170 N ALA A 24 7.206 15.339 0.972 1.00 4.56 N
ATOM 171 CA ALA A 24 6.625 16.316 1.907 1.00 4.49 C
ATOM 172 C ALA A 24 5.206 15.933 2.351 1.00 4.10 C
ATOM 173 O ALA A 24 4.867 16.052 3.523 1.00 5.64 O
ATOM 174 CB ALA A 24 6.585 17.662 1.246 1.00 5.80 C
ATOM 175 N ILE A 25 4.400 15.462 1.405 1.00 0.00 N
ATOM 176 CA ILE A 25 3.013 15.077 1.697 1.00 0.00 C
ATOM 177 C ILE A 25 2.949 13.799 2.532 1.00 0.00 C
ATOM 178 O ILE A 25 2.149 13.704 3.465 1.00 0.00 O
ATOM 179 CB ILE A 25 2.276 14.865 0.408 1.00 0.00 C
ATOM 180 CG1 ILE A 25 2.083 16.162 -0.418 1.00 0.00 C
ATOM 181 CG2 ILE A 25 0.958 14.073 0.562 1.00 0.00 C
ATOM 182 CD1 ILE A 25 1.575 15.925 -1.850 1.00 0.00 C
ATOM 183 N CYS A 26 3.801 12.828 2.191 1.00 0.00 N
ATOM 184 CA CYS A 26 3.820 11.519 2.858 1.00 0.00 C
ATOM 185 C CYS A 26 4.443 11.568 4.247 1.00 0.00 C
ATOM 186 O CYS A 26 3.895 10.981 5.191 1.00 0.00 O
ATOM 187 CB CYS A 26 4.593 10.553 2.011 1.00 0.00 C
ATOM 188 SG CYS A 26 3.768 10.129 0.427 1.00 0.00 S
ATOM 189 N ALA A 27 5.577 12.255 4.371 1.00 0.00 N
ATOM 190 CA ALA A 27 6.381 12.218 5.600 1.00 0.00 C
ATOM 191 C ALA A 27 5.720 12.806 6.859 1.00 0.00 C
ATOM 192 O ALA A 27 5.714 12.148 7.900 1.00 0.00 O
ATOM 193 CB ALA A 27 7.654 12.970 5.347 1.00 0.00 C
ATOM 194 N THR A 28 5.158 14.043 6.781 1.00 0.00 N
ATOM 195 CA THR A 28 4.495 14.590 7.965 1.00 0.00 C
ATOM 196 C THR A 28 3.288 13.781 8.406 1.00 0.00 C
ATOM 197 O THR A 28 3.207 13.408 9.584 1.00 0.00 O
ATOM 198 CB THR A 28 4.056 15.994 7.669 1.00 0.00 C
ATOM 199 OG1 THR A 28 5.156 16.850 7.373 1.00 0.00 O
ATOM 200 CG2 THR A 28 3.217 16.676 8.755 1.00 0.00 C
ATOM 201 N TYR A 29 2.381 13.481 7.483 1.00 0.00 N
ATOM 202 CA TYR A 29 1.150 12.736 7.809 1.00 0.00 C
ATOM 203 C TYR A 29 1.442 11.314 8.293 1.00 0.00 C
ATOM 204 O TYR A 29 0.559 10.652 8.849 1.00 0.00 O
ATOM 205 CB TYR A 29 0.279 12.671 6.590 1.00 0.00 C
ATOM 206 CG TYR A 29 -0.340 14.004 6.236 1.00 0.00 C
ATOM 207 CD1 TYR A 29 0.250 14.806 5.281 1.00 0.00 C
ATOM 208 CD2 TYR A 29 -1.494 14.418 6.869 1.00 0.00 C
ATOM 209 CE1 TYR A 29 -0.323 16.041 4.953 1.00 0.00 C
ATOM 210 CE2 TYR A 29 -2.067 15.653 6.541 1.00 0.00 C
ATOM 211 CZ TYR A 29 -1.494 16.461 5.595 1.00 0.00 C
ATOM 212 OH TYR A 29 -2.067 17.696 5.267 1.00 0.00 O
ATOM 213 N THR A 30 2.676 10.862 8.093 1.00 0.00 N
ATOM 214 CA THR A 30 3.102 9.534 8.547 1.00 0.00 C
ATOM 215 C THR A 30 3.922 9.620 9.845 1.00 0.00 C
ATOM 216 O THR A 30 4.406 8.609 10.339 1.00 0.00 O
ATOM 217 CB THR A 30 3.931 8.885 7.478 1.00 0.00 C
ATOM 218 OG1 THR A 30 5.105 9.636 7.178 1.00 0.00 O
ATOM 219 CG2 THR A 30 3.213 8.599 6.155 1.00 0.00 C
ATOM 220 N GLY A 31 4.092 10.832 10.363 1.00 0.00 N
ATOM 221 CA GLY A 31 4.903 11.062 11.544 1.00 0.00 C
ATOM 222 C GLY A 31 6.393 11.105 11.251 1.00 0.00 C
ATOM 223 O GLY A 31 7.221 10.693 12.071 1.00 0.00 O
ATOM 224 N CYS A 32 6.755 11.608 10.078 1.00 4.30 N
ATOM 225 CA CYS A 32 8.167 11.695 9.659 1.00 4.89 C
ATOM 226 C CYS A 32 8.465 13.129 9.146 1.00 5.50 C
ATOM 227 O CYS A 32 7.601 13.916 8.762 1.00 5.82 O
ATOM 228 CB CYS A 32 8.411 10.688 8.583 1.00 4.66 C
ATOM 229 SG CYS A 32 8.094 8.955 9.101 1.00 0.00 S
ATOM 230 N ILE A 33 9.793 13.410 9.173 1.00 6.02 N
ATOM 231 CA ILE A 33 10.280 14.760 8.823 1.00 5.24 C
ATOM 232 C ILE A 33 11.346 14.658 7.743 1.00 5.16 C
......
......@@ -97,8 +97,11 @@ class CloseGapsTests(unittest.TestCase):
modelling.MergeGapsByDistance(mhandle, 2)
self.assertEqual(len(mhandle.gaps), 1)
def testFillGapsByDatabase(self):
'''Get rid of 2 gaps by db.'''
#######################################################################
# HELPERs - same test cases for all fill-loop-routines
#######################################################################
def getGapTest(self):
'''Helper to get test with 2 gaps.'''
tpl = io.LoadPDB('data/2dbs.pdb')
aln = seq.CreateAlignment(
seq.CreateSequence('trg', 'TLNGFTVPAGNTLV--LNPDKGATVTMAAAA'),
......@@ -107,15 +110,10 @@ class CloseGapsTests(unittest.TestCase):
aln.AttachView(1, tpl.CreateFullView())
mhandle = modelling.BuildRawModel(aln)
self.assertEqual(len(mhandle.gaps), 2)
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler)
self.assertEqual(len(mhandle.gaps), 0)
# no log-check as this can easily change whenever we change DB
return mhandle
def testFillGapsByDatabaseDeletion(self):
'''Get rid of deletion by db.'''
def getGapTestDeletion(self):
'''Helper to get test with deletion.'''
tpl = io.LoadPDB('data/2dbs.pdb')
aln = seq.CreateAlignment(
seq.CreateSequence('trg', 'TLNGFTVPAGNTLV--LNPDKGATVTMA'),
......@@ -124,15 +122,10 @@ class CloseGapsTests(unittest.TestCase):
aln.AttachView(1, tpl.CreateFullView())
mhandle = modelling.BuildRawModel(aln)
self.assertEqual(len(mhandle.gaps), 1)
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler)
self.assertEqual(len(mhandle.gaps), 0)
# no log-check as this can easily change whenever we change DB
return mhandle
def testFillGapsByDatabaseInsertion(self):
'''Get rid of insertion by db.'''
def getGapTestInsertion(self):
'''Helper to get test with insertion.'''
tpl = io.LoadPDB('data/2dbs.pdb')
aln = seq.CreateAlignment(
seq.CreateSequence('trg', 'TLNGFTVPAGNTLVAALNPDKGGAGATVTMA'),
......@@ -141,15 +134,10 @@ class CloseGapsTests(unittest.TestCase):
aln.AttachView(1, tpl.CreateFullView())
mhandle = modelling.BuildRawModel(aln)
self.assertEqual(len(mhandle.gaps), 1)
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler)
self.assertEqual(len(mhandle.gaps), 0)
# no log-check as this can easily change whenever we change DB
return mhandle
def testFillGapsByDatabaseTerminal(self):
'''Terminal loops are not altered.'''
def getGapTestTerminal(self):
'''Helper to get test with terminal gaps.'''
tpl = io.LoadPDB('data/2dbs.pdb')
aln = seq.CreateAlignment(
seq.CreateSequence('trg', 'TLNGFTVPAGNTLVAALNPDKGGAGATVTMA'),
......@@ -158,22 +146,94 @@ class CloseGapsTests(unittest.TestCase):
aln.AttachView(1, tpl.CreateFullView())
mhandle = modelling.BuildRawModel(aln)
self.assertEqual(len(mhandle.gaps), 2)
return mhandle
#######################################################################
def testFillGapsByDatabase(self):
'''Get rid of 2 gaps by db.'''
mhandle = self.getGapTest()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler)
self.assertEqual(len(mhandle.gaps), 0)
# no log-check as this can easily change whenever we change DB
def testFillGapsByDatabaseDeletion(self):
'''Get rid of deletion by db.'''
mhandle = self.getGapTestDeletion()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler)
self.assertEqual(len(mhandle.gaps), 0)
# no log-check as this can easily change whenever we change DB
def testFillGapsByDatabaseInsertion(self):
'''Get rid of insertion by db.'''
mhandle = self.getGapTestInsertion()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler)
self.assertEqual(len(mhandle.gaps), 0)
# no log-check as this can easily change whenever we change DB
def testFillGapsByDatabaseTerminal(self):
'''Terminal loops are not altered.'''
mhandle = self.getGapTestTerminal()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler)
self.assertEqual(len(mhandle.gaps), 2)
def testFillGapsByMonteCarlo(self):
'''Get rid of 2 gaps by MC.'''
tpl = io.LoadPDB('data/2dbs.pdb')
aln = seq.CreateAlignment(
seq.CreateSequence('trg', 'TLNGFTVPAGNTLVA-LNPDKGATVTMAA'),
seq.CreateSequence('tpl', 'NGGTLLIPNGTYHFLGIQMKSN-VHIRVE'))
def testFillGapsByDatabaseNoSE(self):
'''Get rid of 2 gaps by db (without scoring extender).'''
mhandle = self.getGapTest()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler,
use_scoring_extender=False)
self.assertEqual(len(mhandle.gaps), 0)
# no log-check as this can easily change whenever we change DB
aln.AttachView(1, tpl.CreateFullView())
mhandle = modelling.BuildRawModel(aln)
def testFillGapsByDatabaseDeletionNoSE(self):
'''Get rid of deletion by db (without scoring extender).'''
mhandle = self.getGapTestDeletion()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler,
use_scoring_extender=False)
self.assertEqual(len(mhandle.gaps), 0)
# no log-check as this can easily change whenever we change DB
def testFillGapsByDatabaseInsertionNoSE(self):
'''Get rid of insertion by db (without scoring extender).'''
mhandle = self.getGapTestInsertion()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler,
use_scoring_extender=False)
self.assertEqual(len(mhandle.gaps), 0)
# no log-check as this can easily change whenever we change DB
def testFillGapsByDatabaseTerminalNoSE(self):
'''Terminal loops are not altered (without scoring extender).'''
mhandle = self.getGapTestTerminal()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByDatabase(mhandle, scorer, self.frag_db,
self.structure_db,
self.torsion_sampler,
use_scoring_extender=False)
self.assertEqual(len(mhandle.gaps), 2)
def testFillGapsByMonteCarlo(self):
'''Get rid of 2 gaps by MC.'''
mhandle = self.getGapTest()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByMonteCarlo(mhandle, scorer,
self.torsion_sampler,
......@@ -183,14 +243,7 @@ class CloseGapsTests(unittest.TestCase):
def testFillGapsByMonteCarloDeletion(self):
'''Get rid of deletion by MC.'''
tpl = io.LoadPDB('data/2dbs.pdb')
aln = seq.CreateAlignment(
seq.CreateSequence('trg', 'TLNGFTVPAGNTLVA-LNPDKGATVTMA'),
seq.CreateSequence('tpl', 'NGGTLLIPNGTYHFLGIQMKSNVHIRVE'))
aln.AttachView(1, tpl.CreateFullView())
mhandle = modelling.BuildRawModel(aln)
self.assertEqual(len(mhandle.gaps), 1)
mhandle = self.getGapTestDeletion()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByMonteCarlo(mhandle, scorer,
self.torsion_sampler,
......@@ -200,14 +253,7 @@ class CloseGapsTests(unittest.TestCase):
def testFillGapsByMonteCarloInsertion(self):
'''Get rid of insertion by MC.'''
tpl = io.LoadPDB('data/2dbs.pdb')
aln = seq.CreateAlignment(
seq.CreateSequence('trg', 'TLNGFTVPAGNTLVAALNPDKGAGTVTMA'),
seq.CreateSequence('tpl', 'NGGTLLIPNGTYHFLGIQMKSN-VHIRVE'))
aln.AttachView(1, tpl.CreateFullView())
mhandle = modelling.BuildRawModel(aln)
self.assertEqual(len(mhandle.gaps), 1)
mhandle = self.getGapTestInsertion()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByMonteCarlo(mhandle, scorer,
self.torsion_sampler,
......@@ -217,14 +263,7 @@ class CloseGapsTests(unittest.TestCase):
def testFillGapsByMonteCarloTerminal(self):
'''Terminal loops are not altered.'''
tpl = io.LoadPDB('data/2dbs.pdb')
aln = seq.CreateAlignment(
seq.CreateSequence('trg', 'TLNGFTVPAGNTLVAALNPDKGGAGATVTMA'),
seq.CreateSequence('tpl', '-NGGTLLIPNGTYHFLGIQMKSNVHIRVE--'))
aln.AttachView(1, tpl.CreateFullView())
mhandle = modelling.BuildRawModel(aln)
self.assertEqual(len(mhandle.gaps), 2)
mhandle = self.getGapTestTerminal()
scorer = modelling.SetupBackboneScorer(mhandle)
modelling.FillLoopsByMonteCarlo(mhandle, scorer,
self.torsion_sampler,
......
......@@ -26,6 +26,37 @@ from ost import io, mol
# seq.CreateSequence('tpl', seqres_cut))
# io.SaveAlignment(aln, "data/1crn.fasta")
################################################################
# Code to generate reference solutions:
################################################################
# from ost import io
# from promod3 import loop,modelling
# # create raw model
# tpl = io.LoadPDB('data/1crn_cut.pdb')
# aln = io.LoadAlignment('data/1crn.fasta')
# aln.AttachView(1, tpl.CreateFullView())
# mhandle = modelling.BuildRawModel(aln)
# # do it all
# final_model = modelling.BuildFromRawModel(mhandle)
# io.SavePDB(final_model, 'data/1crn_build.pdb')
# # step-by-step - loop
# mhandle = modelling.BuildRawModel(aln)
# scorer = modelling.SetupBackboneScorer(mhandle)
# frag_db = loop.LoadFragDB()
# structure_db = loop.LoadStructureDB()
# torsion_sampler = loop.LoadTorsionSamplerCoil()
# modelling.FillLoopsByDatabase(mhandle, scorer, frag_db,
# structure_db,
# torsion_sampler)
# io.SavePDB(mhandle.model, 'data/1crn_rec.pdb')
# # step-by-step - sidechains
# mhandle.model = io.LoadPDB('data/1crn_rec.pdb')
# modelling.BuildSidechains(mhandle)
# io.SavePDB(mhandle.model, 'data/1crn_sc.pdb')
# # step-by-step - energy minimization
# mhandle.model = io.LoadPDB('data/1crn_sc.pdb')
# modelling.MinimizeModelEnergy(mhandle)
# io.SavePDB(mhandle.model, 'data/1crn_final.pdb')
################################################################
class PipelineTests(unittest.TestCase):
@classmethod
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment