diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py index a11ea618652bb07bc69dc92e0b6bb1073564cc24..c4f125c098dcf275ff7cdf3aa0253b458a7796aa 100644 --- a/mrdna/segmentmodel.py +++ b/mrdna/segmentmodel.py @@ -2411,6 +2411,15 @@ class SegmentModel(ArbdModel): break # exclusions.update( tmp ) + ## Add exclusions very near crossovers + for c,A,B in sum([self.get_connections(term) for term in ("crossover","terminal_crossover")],[]): + b1,b2 = [loc.particle for loc in (A,B)] + near_b1 = _recursively_get_beads_within(b1, 3, done=[]) + near_b2 = _recursively_get_beads_within(b2, 3, done=[]) + for bi in near_b1: + for bj in near_b2: + exclusions.add((bi,bj)) + if self.DEBUG: print("Adding %d exclusions" % len(exclusions)) for b1,b2 in exclusions: parent = self._getParent(b1,b2)