[![CodeFactor](https://www.codefactor.io/repository/github/PDBeurope/ccdutils/badge/master)](https://www.codefactor.io/repository/github/PDBeurope/ccdutils/overview/master) ![PYPi](https://img.shields.io/pypi/v/pdbeccdutils?color=green&style=flat) ![GitHub](https://img.shields.io/github/license/PDBeurope/ccdutils) ![ccdutils documentation](https://github.com/PDBeurope/ccdutils/workflows/ccdutils%20documentation/badge.svg) ![ccdutils tests](https://github.com/PDBeurope/ccdutils/workflows/ccdutils%20tests/badge.svg) ![PyPI Downloads](https://img.shields.io/pypi/dm/pdbeccdutils)
# pdbeccdutils
An RDKit-based python toolkit for parsing and processing small molecule definitions in [wwPDB Chemical Component Dictionary](https://www.wwpdb.org/data/ccd) and [wwPDB The Biologically Interesting Molecule Reference Dictionary](https://www.wwpdb.org/data/bird).`pdbeccdutils` provides streamlined access to all metadata of small molecules in the PDB and offers a set of convenient methods to compute various properties of small molecules using RDKIt such as 2D depictions, 3D conformers, physicochemical properties, matching common fragments and scaffolds, mapping to small-molecule databases using UniChem.
## 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-curated library, ENAMINE, DSI).
* Chemical scaffolds (Murcko scaffold, Murcko general, BRICS).
* Lightweight implementation of [parity method](https://doi.org/10.1016/j.str.2018.02.009) by Jon Tyzack.
* RDKit molecular properties per component.
* UniChem mapping.
* Generating complete representation of multiple [Covalently Linked Components (CLC)](https://www.ebi.ac.uk/pdbe/news/introducing-covalently-linked-components)
## Dependencies
* [RDKit](http://www.rdkit.org/) for small molecule representation. Presently tested with `2023.9.6`
* [GEMMI](https://gemmi.readthedocs.io/en/latest/index.html) for parsing mmCIF files.
* [scipy](https://www.scipy.org/) for depiction quality check.
* [numpy](https://www.numpy.org/) for molecular scaling.
* [networkx](https://networkx.org/) for bound-molecules.
## Installation
create a [virtual environment](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#create-and-use-virtual-environments) and install using pip
```bash
pip install pdbeccdutils
```
## Contribution
We encourage you to contribute to this project. The package uses [poetry](https://python-poetry.org/) for packaging and dependency management. You can develop locally using:
```bash
git clone https://github.com/PDBeurope/ccdutils.git
cd ccdutils
pip install poetry
poetry install --with tests,docs
pre-commit install
```
The pre-commit hook will run linting, formatting and update `poetry.lock`. The `poetry.lock` file will lock all dependencies and ensure that they match pyproject.toml versions.
To add a new dependency
```bash
# Latest resolvable version
poetry add <package>
# Optionally fix a version
poetry add <package>@<version>
```
To change a version of a dependency, either edit pyproject.toml and run:
```bash
poetry sync --with dev
```
or
```bash
poetry add <package>@<version>
```
## Documentation
The documentation is generated using `sphinx` in `sphinx_rtd_theme` and hosted on GitHub Pages. To generate the documentation locally,
```bash
cd doc
poetry run sphinx-build -b html . _build/html
# See the documentation at http://localhost:8080.
python -m http.server 8080 -d _build/html
```
Raw data
{
"_id": null,
"home_page": "https://github.com/PDBeurope/ccdutils",
"name": "pdbeccdutils",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "PDB, ligand, small molecule, complex, CCD, PRD, CLC",
"author": "Protein Data Bank in Europe",
"author_email": "pdbehelp@ebi.ac.uk",
"download_url": "https://files.pythonhosted.org/packages/3c/e6/3906c0464361c21a073eb32b720c66149bd88ca2890fc63b9df6750c323e/pdbeccdutils-0.8.6.tar.gz",
"platform": null,
"description": "[![CodeFactor](https://www.codefactor.io/repository/github/PDBeurope/ccdutils/badge/master)](https://www.codefactor.io/repository/github/PDBeurope/ccdutils/overview/master) ![PYPi](https://img.shields.io/pypi/v/pdbeccdutils?color=green&style=flat) ![GitHub](https://img.shields.io/github/license/PDBeurope/ccdutils) ![ccdutils documentation](https://github.com/PDBeurope/ccdutils/workflows/ccdutils%20documentation/badge.svg) ![ccdutils tests](https://github.com/PDBeurope/ccdutils/workflows/ccdutils%20tests/badge.svg) ![PyPI Downloads](https://img.shields.io/pypi/dm/pdbeccdutils)\n\n\n# pdbeccdutils\n\nAn RDKit-based python toolkit for parsing and processing small molecule definitions in [wwPDB Chemical Component Dictionary](https://www.wwpdb.org/data/ccd) and [wwPDB The Biologically Interesting Molecule Reference Dictionary](https://www.wwpdb.org/data/bird).`pdbeccdutils` provides streamlined access to all metadata of small molecules in the PDB and offers a set of convenient methods to compute various properties of small molecules using RDKIt such as 2D depictions, 3D conformers, physicochemical properties, matching common fragments and scaffolds, mapping to small-molecule databases using UniChem.\n\n## Features\n\n* `gemmi` CCD read/write.\n* Generation of 2D depictions (`No image available` generated if the flattening cannot be done) along with the quality check.\n* Generation of 3D conformations.\n* Fragment library search (PDBe hand-curated library, ENAMINE, DSI).\n* Chemical scaffolds (Murcko scaffold, Murcko general, BRICS).\n* Lightweight implementation of [parity method](https://doi.org/10.1016/j.str.2018.02.009) by Jon Tyzack.\n* RDKit molecular properties per component.\n* UniChem mapping.\n* Generating complete representation of multiple [Covalently Linked Components (CLC)](https://www.ebi.ac.uk/pdbe/news/introducing-covalently-linked-components)\n\n## Dependencies\n\n * [RDKit](http://www.rdkit.org/) for small molecule representation. Presently tested with `2023.9.6`\n * [GEMMI](https://gemmi.readthedocs.io/en/latest/index.html) for parsing mmCIF files.\n * [scipy](https://www.scipy.org/) for depiction quality check.\n * [numpy](https://www.numpy.org/) for molecular scaling.\n * [networkx](https://networkx.org/) for bound-molecules.\n\n\n## Installation\n\ncreate a [virtual environment](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#create-and-use-virtual-environments) and install using pip\n\n ```bash\n pip install pdbeccdutils\n ```\n\n## Contribution\nWe encourage you to contribute to this project. The package uses [poetry](https://python-poetry.org/) for packaging and dependency management. You can develop locally using:\n\n```bash\ngit clone https://github.com/PDBeurope/ccdutils.git\ncd ccdutils\npip install poetry\npoetry install --with tests,docs\npre-commit install\n```\n\nThe pre-commit hook will run linting, formatting and update `poetry.lock`. The `poetry.lock` file will lock all dependencies and ensure that they match pyproject.toml versions.\n\nTo add a new dependency\n\n```bash\n# Latest resolvable version\npoetry add <package>\n\n# Optionally fix a version\npoetry add <package>@<version>\n```\n\nTo change a version of a dependency, either edit pyproject.toml and run:\n\n```bash\npoetry sync --with dev\n```\n\nor\n\n```bash\npoetry add <package>@<version>\n```\n\n\n## Documentation\n\nThe documentation is generated using `sphinx` in `sphinx_rtd_theme` and hosted on GitHub Pages. To generate the documentation locally,\n\n```bash\ncd doc\npoetry run sphinx-build -b html . _build/html\n\n# See the documentation at http://localhost:8080.\npython -m http.server 8080 -d _build/html\n```\n\n",
"bugtrack_url": null,
"license": "Apache License 2.0.",
"summary": "Toolkit to parse and process small molecules in wwPDB",
"version": "0.8.6",
"project_urls": {
"Documentation": "https://pdbeurope.github.io/ccdutils/",
"Homepage": "https://github.com/PDBeurope/ccdutils",
"Repository": "https://github.com/PDBeurope/ccdutils"
},
"split_keywords": [
"pdb",
" ligand",
" small molecule",
" complex",
" ccd",
" prd",
" clc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fbcea286ba8062089d5d096091490c5f8b30af45291846171d4405d10f975477",
"md5": "b475cefbae08ab1ea310f4bd0de98261",
"sha256": "916006926c907aeed7d04a8faac2cb5014dc89b6f2731c0334999ae4b33a36f2"
},
"downloads": -1,
"filename": "pdbeccdutils-0.8.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b475cefbae08ab1ea310f4bd0de98261",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 1115058,
"upload_time": "2024-10-30T16:34:44",
"upload_time_iso_8601": "2024-10-30T16:34:44.582303Z",
"url": "https://files.pythonhosted.org/packages/fb/ce/a286ba8062089d5d096091490c5f8b30af45291846171d4405d10f975477/pdbeccdutils-0.8.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3ce63906c0464361c21a073eb32b720c66149bd88ca2890fc63b9df6750c323e",
"md5": "c5068360dc8036421a6fac2768a9355d",
"sha256": "58b97d6b3aa517177ee6e7bb4bd442fd3ed5c978944dd5abf5259450ed1c94eb"
},
"downloads": -1,
"filename": "pdbeccdutils-0.8.6.tar.gz",
"has_sig": false,
"md5_digest": "c5068360dc8036421a6fac2768a9355d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 1040358,
"upload_time": "2024-10-30T16:34:46",
"upload_time_iso_8601": "2024-10-30T16:34:46.797062Z",
"url": "https://files.pythonhosted.org/packages/3c/e6/3906c0464361c21a073eb32b720c66149bd88ca2890fc63b9df6750c323e/pdbeccdutils-0.8.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-30 16:34:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PDBeurope",
"github_project": "ccdutils",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pdbeccdutils"
}