Skip to content

Commit 4755b5b

Browse files
author
Oliver Scott
committed
Replace rdlogger.setLevel with supress_rdlogger decorator
1 parent 9be3165 commit 4755b5b

2 files changed

Lines changed: 6 additions & 17 deletions

File tree

scaffoldgraph/core/fragment.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@
2727
)
2828

2929
from scaffoldgraph.core.scaffold import Scaffold
30-
31-
rdlogger = RDLogger.logger()
30+
from scaffoldgraph.utils import supress_rdlogger
3231

3332

3433
class Fragmenter(ABC):
@@ -666,6 +665,7 @@ def get_annotated_murcko_scaffold(mol, scaffold=None, as_mol=True):
666665
return MolToSmiles(annotated)
667666

668667

668+
@supress_rdlogger()
669669
def get_next_murcko_fragments(murcko_scaffold, break_fused_rings=True):
670670
"""
671671
Fragment a scaffold into its next set of Murcko fragments.
@@ -686,19 +686,16 @@ def get_next_murcko_fragments(murcko_scaffold, break_fused_rings=True):
686686
A list of parent scaffolds (next hierarchy [num_rings - 1])
687687
688688
"""
689-
rdlogger.setLevel(4)
690-
691689
if break_fused_rings:
692690
fragmenter = MurckoRingFragmenter()
693691
else:
694692
fragmenter = MurckoRingSystemFragmenter()
695-
696693
parents = [f.mol for f in set(fragmenter.fragment(Scaffold(murcko_scaffold)))]
697-
rdlogger.setLevel(3)
698694
return parents
699695

700696

701697
# fragmenter is hierarchical so all fragments may not be returned (fix?).
698+
@supress_rdlogger()
702699
def get_all_murcko_fragments(mol, break_fused_rings=True):
703700
"""
704701
Get all possible murcko fragments from a molecule through
@@ -725,13 +722,10 @@ def get_all_murcko_fragments(mol, break_fused_rings=True):
725722
>>> frags = get_all_murcko_fragments(molecule)
726723
727724
"""
728-
rdlogger.setLevel(4)
729-
730725
if break_fused_rings:
731726
fragmenter = MurckoRingFragmenter()
732727
else:
733728
fragmenter = MurckoRingSystemFragmenter()
734-
735729
mol = get_murcko_scaffold(mol)
736730
rdmolops.RemoveStereochemistry(mol)
737731
scaffold = Scaffold(mol)
@@ -745,7 +739,6 @@ def recursive_generation(child):
745739
recursive_generation(parent)
746740

747741
recursive_generation(scaffold)
748-
rdlogger.setLevel(3)
749742
return [f.mol for f in parents]
750743

751744

scaffoldgraph/core/graph.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@
88
from collections import Counter
99

1010
import networkx as nx
11-
import rdkit
1211
import gzip
1312

1413
from loguru import logger
1514
from tqdm.auto import tqdm
1615

1716
from rdkit import RDLogger
17+
from rdkit import __version__ as rdversion
1818
from rdkit.Chem import rdMolHash, MolToSmiles, rdmolops
1919
from rdkit.Chem.rdMolDescriptors import CalcNumRings
2020

2121
from scaffoldgraph.io import *
22-
from scaffoldgraph.utils import canonize_smiles
22+
from scaffoldgraph.utils import canonize_smiles, supress_rdlogger
2323

2424
from .fragment import (
2525
get_murcko_scaffold,
@@ -31,9 +31,6 @@
3131

3232
from .scaffold import Scaffold
3333

34-
rdlogger = RDLogger.logger()
35-
rdversion = rdkit.__version__
36-
3734

3835
def init_molecule_name(mol):
3936
"""Initialize the name of a molecule if not provided.
@@ -149,6 +146,7 @@ def __init__(self, graph=None, fragmenter=None, graph_type=None, **attr):
149146
self.graph.setdefault('num_filtered', 0) # track number of filtered mols.
150147
self.fragmenter = fragmenter
151148

149+
@supress_rdlogger()
152150
def _construct(self, molecules, init_args, ring_cutoff=10, progress=False):
153151
"""Private method for graph construction, called by constructors.
154152
@@ -179,7 +177,6 @@ def _construct(self, molecules, init_args, ring_cutoff=10, progress=False):
179177
_process_no_top_level
180178
181179
"""
182-
rdlogger.setLevel(4) # Supress rdkit logs.
183180
desc, progress = self.__class__.__name__, progress is False
184181
for molecule in tqdm(
185182
molecules, disable=progress, desc=desc,
@@ -196,7 +193,6 @@ def _construct(self, molecules, init_args, ring_cutoff=10, progress=False):
196193
scaffold = self._initialize_scaffold(molecule, init_args)
197194
if scaffold is not None:
198195
self._hierarchy_constructor(scaffold)
199-
rdlogger.setLevel(3) # Enable rdkit logs.
200196

201197
def _initialize_scaffold(self, molecule, init_args):
202198
"""Initialize the top-level scaffold for a molecule.

0 commit comments

Comments
 (0)