From dcfb1951cb9c5c2adeeb1a6f72524df2b72ed08b Mon Sep 17 00:00:00 2001 From: CunliangGeng Date: Wed, 29 Jan 2020 16:15:10 +0100 Subject: [PATCH] refactor to make code robust --- iScore/function/score.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/iScore/function/score.py b/iScore/function/score.py index 2bf8083..046a629 100644 --- a/iScore/function/score.py +++ b/iScore/function/score.py @@ -6,7 +6,7 @@ class iscore(object): def __init__(self,graphrank_out='GraphRank.dat', energy_out='Energy.dat', - weights = [-0.941,0.041,0.217,0.032],normalize_graph_rank = True): + weights = [-0.941,0.041,0.217,0.032], normalize_graph_rank = True): self.graphrank_out = graphrank_out self.energy_out = energy_out @@ -14,10 +14,13 @@ def __init__(self,graphrank_out='GraphRank.dat', energy_out='Energy.dat', self.normalize_graph_rank = normalize_graph_rank self.features = dict() - # must read graphrank first and then energy + # Read and check, remove problematic molecule self.read_graphrank() self.read_energy() self.check_mol_features() + + if self.normalize_graph_rank: + self.normalize_graphrank() self.score() self.print() @@ -50,20 +53,21 @@ def read_graphrank(self): self.features[mol] = dict() self.features[mol]['grank'] = float(l[-1]) - if self.normalize_graph_rank: + def normalize_graphrank(self): + """Normalize graphRank values""" - data = [] - mol = self.features.keys() + data = [] + mol = self.features.keys() - for m in mol: - data.append(self.features[m]['grank']) + for m in mol: + data.append(self.features[m]['grank']) - data = self._normalize(data) + data = self._normalize(data) - i = 0 - for m in mol: - self.features[m]['grank'] = data[i] - i+= 1 + i = 0 + for m in mol: + self.features[m]['grank'] = data[i] + i+= 1 def check_mol_features(self): """Check and remove molecules without enough features"""