From 83af80087fed1a4d5cf4c91eb80d0af0d89dd49a Mon Sep 17 00:00:00 2001 From: Chris Maffeo <cmaffeo2@illinois.edu> Date: Wed, 12 Feb 2020 14:21:15 -0600 Subject: [PATCH] Shift segment occupancies when extending segmentmodel --- mrdna/segmentmodel.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py index 22f205d..74c7782 100644 --- a/mrdna/segmentmodel.py +++ b/mrdna/segmentmodel.py @@ -1716,14 +1716,30 @@ class SegmentModel(ArbdModel): def extend(self, other, copy=True, include_strands=False): assert( isinstance(other, SegmentModel) ) + + try: + max_occupancy = max([s.occupancy for s in self.segments if 'occupancy' in s.__dict__]) + occupancy0 = 10**np.ceil(np.log10(max_occupancy+1)) + except: + pass + if copy: for s in other.segments: - self.segments.append(deepcopy(s)) + newseg = deepcopy(s) + try: + newseg.occupancy = occupancy0+s.occupancy + except: + pass + self.segments.append(newseg) if include_strands: for s in other.strands: self.strands.append(deepcopy(s)) else: for s in other.segments: + try: + s.occupancy = occupancy0+s.occupancy + except: + pass self.segments.append(s) if include_strands: for s in other.strands: -- GitLab