We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent dbfef08 commit 0be9168Copy full SHA for 0be9168
1 file changed
scaffoldgraph/core/scaffold.py
@@ -218,6 +218,13 @@ def get_canonical_identifier(self):
218
return self.hash_func(self.mol)
219
return self.smiles
220
221
+ def clear_cached_attribuites(self):
222
+ """Clear all cached attributes."""
223
+ setattr(self, '_atoms', None)
224
+ setattr(self, '_bonds', None)
225
+ setattr(self, '_rings', None)
226
+ setattr(self, '_ring_systems', None)
227
+
228
@classmethod
229
def from_smiles(cls, smiles, hash_func=None):
230
"""Construct a Scaffold object from a SMILES string.
@@ -251,10 +258,7 @@ def __getstate__(self):
251
258
252
259
def __setstate__(self, state):
253
260
self.mol, self.hash_func = state
254
- setattr(self, '_atoms', None)
255
- setattr(self, '_bonds', None)
256
- setattr(self, '_rings', None)
257
- setattr(self, '_ring_systems', None)
261
+ self.clear_cached_attribuites()
262
263
def __bool__(self):
264
"""Returns True if the molecule contains at least 1 atom."""
0 commit comments