[![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)
# pdbeccdutils
* A set of python tools to deal with PDB chemical components definitions.
for small molecules, taken from the [wwPDB Chemical Component Dictionary](https://www.wwpdb.org/data/ccd) and [wwPDB The Biologically Interesting Molecule Reference Dictionary](https://www.wwpdb.org/data/bird)
* The tools use:
* [RDKit](http://www.rdkit.org/) for chemistry. Presently tested with `2022.09.4`
* [GEMMI](https://gemmi.readthedocs.io/en/latest/index.html) for parsing cif 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.
* Please note that the project is under active development.
## Installation instructions
* `pdbeccdutils` requires RDKit to be installed.
The official RDKit documentation has [installation instructions for a variety of platforms](http://www.rdkit.org/docs/Install.html).
For linux/mac OS this is most easily done using the anaconda python with commands similar to:
```console
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:
```console
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](https://doi.org/10.1016/j.str.2018.02.009) 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.
```console
sphinx-apidoc -f -o /path/to/output/dir ../pdbeccdutils/
```
Use this to re-generate the documentation from the doc/ directory:
```console
make html
```
Raw data
{
"_id": null,
"home_page": "http://pypi.python.org/pypi/pdbeccdutils/",
"name": "pdbeccdutils",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "",
"keywords": "PDB CCD wwPDB small molecule",
"author": "Protein Data Bank in Europe",
"author_email": "pdbehelp@ebi.ac.uk",
"download_url": "https://files.pythonhosted.org/packages/1d/08/85d5d8d7bed19a3f89e12cc8a756f0a9f78a4c5afa36b40669e25d9db9ad/pdbeccdutils-0.8.4.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)\n\n# pdbeccdutils\n\n* A set of python tools to deal with PDB chemical components definitions.\n for small molecules, taken from the [wwPDB Chemical Component Dictionary](https://www.wwpdb.org/data/ccd) and [wwPDB The Biologically Interesting Molecule Reference Dictionary](https://www.wwpdb.org/data/bird)\n\n* The tools use:\n * [RDKit](http://www.rdkit.org/) for chemistry. Presently tested with `2022.09.4`\n * [GEMMI](https://gemmi.readthedocs.io/en/latest/index.html) for parsing cif 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* Please note that the project is under active development.\n\n## Installation instructions\n\n* `pdbeccdutils` requires RDKit to be installed.\n The official RDKit documentation has [installation instructions for a variety of platforms](http://www.rdkit.org/docs/Install.html).\n For linux/mac OS this is most easily done using the anaconda python with commands similar to:\n\n ```console\n conda create -n rdkit-env rdkit python=3.9\n conda activate rdkit-env\n ```\n\n* Once you have installed RDKit, as described above then install pdbeccdutils using pip:\n\n ```console\n pip install pdbeccdutils\n ```\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 currated 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\n## TODO list\n\n* Add more unit/regression tests to get higher code coverage.\n* Further improvements of the documentation.\n\n\n## Documentation\n\nThe documentation depends on the following packages:\n\n* `sphinx`\n* `sphinx_rtd_theme`\n* `myst-parser`\n* `sphinx-autodoc-typehints`\n\nNote that `sphinx` needs to be a part of the virtual environment, if you want to generate documentation by yourself.\nOtherwise it cannot pick `rdkit` module. `sphinx_rtd_theme` is a theme providing nice `ReadtheDocs` mobile friendly style.\n\n* Generate *.rst* files to be included as a part of the documentation. Inside the directory `pdbeccdutils/doc` run the following commands to generate documentation.\n* Alternatively, use the `myst-parser` package to get the Markdown working.\n\n Use the following to generate initial markup files to be used by sphinx. This needs to be used when adding another sub-packages.\n\n```console\nsphinx-apidoc -f -o /path/to/output/dir ../pdbeccdutils/\n```\n\nUse this to re-generate the documentation from the doc/ directory:\n\n```console\nmake html\n```\n",
"bugtrack_url": null,
"license": "Apache License 2.0.",
"summary": "Toolkit to deal with wwPDB chemical components definitions for small molecules.",
"version": "0.8.4",
"project_urls": {
"Documentation": "https://pdbeurope.github.io/ccdutils/",
"Homepage": "http://pypi.python.org/pypi/pdbeccdutils/",
"Source code": "https://github.com/PDBeurope/ccdutils"
},
"split_keywords": [
"pdb",
"ccd",
"wwpdb",
"small",
"molecule"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6dc5ecce210f8aa4ba45f3e44f10a2468a4a09a61cfd0bb81130e4f8bf3b7960",
"md5": "39affaf0510e24e539eb19a0e23796d2",
"sha256": "18ac8c2e7784d35018fc4e97e64e9efec32c6d931449834e59bf1cf9734e872f"
},
"downloads": -1,
"filename": "pdbeccdutils-0.8.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "39affaf0510e24e539eb19a0e23796d2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 148841,
"upload_time": "2023-10-31T09:39:05",
"upload_time_iso_8601": "2023-10-31T09:39:05.572315Z",
"url": "https://files.pythonhosted.org/packages/6d/c5/ecce210f8aa4ba45f3e44f10a2468a4a09a61cfd0bb81130e4f8bf3b7960/pdbeccdutils-0.8.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1d0885d5d8d7bed19a3f89e12cc8a756f0a9f78a4c5afa36b40669e25d9db9ad",
"md5": "9ab634cb91ede941c27a036e1337ab90",
"sha256": "1e478bc82b1bf9c05d0738a07ffeeac958641931f72367b54030476ec051bac0"
},
"downloads": -1,
"filename": "pdbeccdutils-0.8.4.tar.gz",
"has_sig": false,
"md5_digest": "9ab634cb91ede941c27a036e1337ab90",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 121436,
"upload_time": "2023-10-31T09:39:07",
"upload_time_iso_8601": "2023-10-31T09:39:07.741899Z",
"url": "https://files.pythonhosted.org/packages/1d/08/85d5d8d7bed19a3f89e12cc8a756f0a9f78a4c5afa36b40669e25d9db9ad/pdbeccdutils-0.8.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-31 09:39:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PDBeurope",
"github_project": "ccdutils",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pdbeccdutils"
}