/ccdutils

A set of python tools to deal with PDB chemical components definitions for small molecules, taken from the wwPDB Chemical Component Dictionary, uses RDKit

Primary LanguagePythonApache License 2.0Apache-2.0

CodeFactor PYPi GitHub ccdutils documentation ccdutils tests

pdbeccdutils

Installation instructions

  • pdbeccdutils requires RDKit to be installed. The official RDKit documentation has installation instructions for a variety of platforms. For linux/mac OS this is most easily done using the anaconda python with commands similar to:

    conda create -n rdkit-env rdkit python=3.9
    conda activate rdkit-env
  • Once you have installed RDKit, as described above then install pdbeccdutils using pip:

    pip install pdbeccdutils

Features

  • gemmi CCD read/write.
  • Generation of 2D depictions (No image available generated if the flattening cannot be done) along with the quality check.
  • Generation of 3D conformations.
  • Fragment library search (PDBe hand currated library, ENAMINE, DSI).
  • Chemical scaffolds (Murcko scaffold, Murcko general, BRICS).
  • Lightweight implementation of parity method by Jon Tyzack.
  • RDKit molecular properties per component.
  • UniChem mapping.

TODO list

  • Add more unit/regression tests to get higher code coverage.
  • Further improvements of the documentation.

Documentation

The documentation depends on the following packages:

  • sphinx
  • sphinx_rtd_theme
  • myst-parser
  • sphinx-autodoc-typehints

Note that sphinx needs to be a part of the virtual environment, if you want to generate documentation by yourself. Otherwise it cannot pick rdkit module. sphinx_rtd_theme is a theme providing nice ReadtheDocs mobile friendly style.

  • Generate .rst files to be included as a part of the documentation. Inside the directory pdbeccdutils/doc run the following commands to generate documentation.
  • Alternatively, use the myst-parser package to get the Markdown working.

Use the following to generate initial markup files to be used by sphinx. This needs to be used when adding another sub-packages.

sphinx-apidoc -f -o /path/to/output/dir ../pdbeccdutils/

Use this to re-generate the documentation from the doc/ directory:

make html