From 2df21f06cbe5a52a9a3c0e0172931ba1e400fb6f Mon Sep 17 00:00:00 2001
From: Christian Faber <chris-faber@gmx.de>
Date: Wed, 11 Sep 2024 11:47:19 +0200
Subject: [PATCH] clean up cmap

---
 setup.py                               |  2 +-
 src/BioHelpers_FABER.egg-info/PKG-INFO |  2 +-
 src/BioHelpers_FABER/cmap.py           | 14 ++++++++------
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/setup.py b/setup.py
index 9645379..8ff1cec 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ with open("README.md", "r") as f:
 
 setup(
     name="BioHelpers_FABER",
-    version="0.1.20",
+    version="0.1.21",
     description="Small collection of useful scripts for the computational work with RNA Data.",
     url="https://gitlab.jsc.fz-juelich.de/faber1/biohelpers",
     package_dir={"": "src"},
diff --git a/src/BioHelpers_FABER.egg-info/PKG-INFO b/src/BioHelpers_FABER.egg-info/PKG-INFO
index 7c43252..ff91176 100644
--- a/src/BioHelpers_FABER.egg-info/PKG-INFO
+++ b/src/BioHelpers_FABER.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: BioHelpers-FABER
-Version: 0.1.18
+Version: 0.1.20
 Summary: Small collection of useful scripts for the computational work with RNA Data.
 Home-page: https://gitlab.jsc.fz-juelich.de/faber1/biohelpers
 Author: Christian Faber
diff --git a/src/BioHelpers_FABER/cmap.py b/src/BioHelpers_FABER/cmap.py
index 98076d9..a33f618 100644
--- a/src/BioHelpers_FABER/cmap.py
+++ b/src/BioHelpers_FABER/cmap.py
@@ -63,10 +63,12 @@ class Cmap:
         self.reference = reference
         self.contact_threshold = contact_threshold
         self.positioning, self.sequence = bm.get_sequence_position(filename)
-        if start_from_one:
-            self.positioning.insert(0, 0)
-            self.positioning.insert(0, 0)
-        self.l = self.positioning[-1] - self.positioning[0] + 1 * (not start_from_one)
+        if not start_from_one:
+            shift = self.positioning[0] - 1
+            self.positioning = [e - shift for e in self.positioning]
+        self.positioning.insert(0, 0)
+        self.positioning.insert(0, 0)
+        self.l = self.positioning[-1]
         chain = next(pdb.PDBParser().get_structure(id, filename)[0].get_chains())
         bm.cleanup_chain(chain)
         self.native_contacts = np.zeros((len(chain), len(chain)))
@@ -77,8 +79,8 @@ class Cmap:
         self.contacts["native"] = np.zeros((self.l, self.l))
         for c in bm.arr_to_contact_list(self.native_contacts):
             self.contacts["native"][
-                self.num_to_id(c[0]) - self.positioning[0] - 1 * (not start_from_one),
-                self.num_to_id(c[1]) - self.positioning[0] - 1 * (not start_from_one),
+                self.num_to_id(c[0]),
+                self.num_to_id(c[1]),
             ] = 1
         self.pdb_id = id
 
-- 
GitLab