MCPcopy Index your code
hub / github.com/chembl/ChEMBL_Structure_Pipeline

github.com/chembl/ChEMBL_Structure_Pipeline @1.2.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2.4 ↗ · + Follow
135 symbols 264 edges 8 files 25 documented · 19% 1 cross-repo links updated 7mo ago1.2.4 · 2025-11-24★ 2446 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CI Testing License: MIT

ChEMBL Structure Pipeline

ChEMBL protocols used to standardise and salt strip molecules. First used in ChEMBL 26.

Check the wiki and paper[1] for a detailed description of the different processes.

Installation

From source:

git clone https://github.com/chembl/ChEMBL_Structure_Pipeline.git
pip install ./ChEMBL_Structure_Pipeline

with pip:

pip install chembl_structure_pipeline

with conda:

conda install -c conda-forge chembl_structure_pipeline

Usage

Standardise a compound (info)

from chembl_structure_pipeline import standardizer

o_molblock = """
  Mrv1810 07121910172D          

  4  3  0  0  0  0            999 V2000
   -2.5038    0.4060    0.0000 C   0  0  3  0  0  0  0  0  0  0  0  0
   -2.5038    1.2310    0.0000 O   0  5  0  0  0  0  0  0  0  0  0  0
   -3.2182   -0.0065    0.0000 N   0  3  0  0  0  0  0  0  0  0  0  0
   -1.7893   -0.0065    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0  0  0  0
  1  3  1  0  0  0  0
  1  4  1  4  0  0  0
M  CHG  2   2  -1   3   1
M  END
"""

std_molblock = standardizer.standardize_molblock(o_molblock)

Get the parent compound (info)

from chembl_structure_pipeline import standardizer

o_molblock = """
  Mrv1810 07121910262D          

  3  1  0  0  0  0            999 V2000
   -5.2331    1.1053    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -4.5186    1.5178    0.0000 N   0  3  0  0  0  0  0  0  0  0  0  0
   -2.8647    1.5789    0.0000 Cl  0  5  0  0  0  0  0  0  0  0  0  0
  1  2  1  0  0  0  0
M  CHG  2   2   1   3  -1
M  END
"""

parent_molblock, _ = standardizer.get_parent_molblock(o_molblock)

Check a compound (info)

The checker assesses the quality of a structure. It highlights specific features or issues in the structure that may need to be revised. Together with the description of the issue, the checker process returns a penalty score (between 0-9) which reflects the seriousness of the issue (the higher the score, the more critical is the issue)

from chembl_structure_pipeline import checker

o_molblock = """ 
  Mrv1810 02151908462D           

  4  3  0  0  0  0            999 V2000 
    2.2321    4.4196    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0 
    3.0023    4.7153    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0 
    1.4117    4.5059    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0 
    1.9568    3.6420    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0 
  1  2  1  1  0  0  0 
  1  3  1  0  0  0  0 
  1  4  1  0  0  0  0 
M  END 
"""

issues = checker.check_molblock(o_molblock)

References

[1] Bento, A.P., Hersey, A., Félix, E. et al. An open source chemical structure curation pipeline using RDKit. J Cheminform 12, 51 (2020). https://doi.org/10.1186/s13321-020-00456-1

Core symbols most depended-on inside this repo

Shape

Method 88
Function 25
Class 22

Languages

Python100%

Modules by API surface

chembl_structure_pipeline/test/test_standardizer.py50 symbols
chembl_structure_pipeline/checker.py43 symbols
chembl_structure_pipeline/standardizer.py21 symbols
chembl_structure_pipeline/test/test_checker.py20 symbols
chembl_structure_pipeline/exclude_flag.py1 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add ChEMBL_Structure_Pipeline \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page