diff --git a/modelling/pymod/_mtm.py b/modelling/pymod/_mtm.py
index c374ff0e2e29b9cd278b1aaa339fe9e6a66c4cdc..6d287b609c6d3119324d50fae5ee3d91b9b61930 100644
--- a/modelling/pymod/_mtm.py
+++ b/modelling/pymod/_mtm.py
@@ -4,6 +4,7 @@ from ost import seq, geom, mol
from promod3 import loop
import _modelling as modelling
from _pipeline import CloseGaps
+from promod3.loop import FraggerHandle
def _CheckAlternativeRawmodels(seed_rawmodel, alternative_rawmodels):
@@ -364,13 +365,21 @@ def _NonOverlapLinkerSampler(seed_rawmodel, arm, seed_ch_idx, arm_ch_idx,
full_bb_list.ReplaceFragment(arm_bb_list, arm_replace_idx, True)
# do the sampling
- fragger = loop.Fragger(linker_seq)
- seqsim_matrix = seq.alg.BLOSUM62
- fragger.AddSeqSimParameters(1.0, seqsim_matrix)
- if structure_db == None:
- structure_db = loop.LoadStructureDB()
- num_fragments = 10000
- fragger.Fill(structure_db, 0.0, num_fragments)
+ num_fragments = 1000
+ psipred_prediction = None
+ profile = None
+ if len(seed_rawmodel.profiles) > 0:
+ profile = seed_rawmodel.profiles[seed_ch_idx]
+ if len(seed_rawmodel.psipred_predictions) > 0:
+ psipred_prediction = seed_rawmodel.psipred_predictions[seed_ch_idx]
+ fragger_handle = FraggerHandle(seed_rawmodel.seqres[seed_ch_idx],
+ profile = profile,
+ psipred_pred = psipred_prediction,
+ fragment_length = len(linker_seq),
+ fragments_per_position = num_fragments,
+ structure_db = structure_db)
+
+ fragger = fragger_handle.Get(linker_range[0] - 1)
best_score = sys.maxint
best_idx = None