pdbeccdutils

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

https://github.com/pdbeurope/ccdutils

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    5 of 10 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
Statistics
  • Stars: 61
  • Watchers: 7
  • Forks: 11
  • Open Issues: 5
  • Releases: 8
Created almost 6 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog License Citation

README.md

CodeFactor PYPi GitHub ccdutils documentation ccdutils tests PyPI Downloads

pdbeccdutils

An RDKit-based python toolkit for parsing and processing small molecule definitions in wwPDB Chemical Component Dictionary and wwPDB The Biologically Interesting Molecule Reference Dictionary.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 by Jon Tyzack.
  • RDKit molecular properties per component.
  • UniChem mapping.
  • Generating complete representation of multiple Covalently Linked Components (CLC)

Dependencies

  • RDKit for small molecule representation. Presently tested with 2023.9.6
  • GEMMI for parsing mmCIF files.
  • scipy for depiction quality check.
  • numpy for molecular scaling.
  • networkx for bound-molecules.

Installation

create a virtual environment and install using pip

bash pip install pdbeccdutils

Contribution

We encourage you to contribute to this project. The package uses poetry 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

Optionally fix a version

poetry add @ ```

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 ```

Owner

  • Name: PDBe EMBL-EBI
  • Login: PDBeurope
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Kunnakkattu"
  given-names: "Ibrahim Roshan"
  orcid: "https://orcid.org/0000-0002-8646-0969"
- family-names: "Pravda"
  given-names: "Lukas"
- family-names: "Yuan"
  given-names: "Qi"
- family-names: "S.Smart"
  given-names: "Oliver"
- family-names: "Nadzirin"
  given-names: "Nurul"
- family-names: "Anyango"
  given-names: "Stephen"
- family-names: "Nair"
  given-names: "Sreenath"

title: "PDBe CCDUtils"
version: 0.8.5
date-released: 22/05/2024
url: "https://github.com/PDBeurope/ccdutils"
preferred-citation:
  type: article
  authors:
  - family-names: "Kunnakkattu"
    given-names: "Ibrahim Roshan"
    orcid: "https://orcid.org/0000-0002-8646-0969"
  - family-names: "Choudhary"
    given-names: "Preeti"
    orcid: "https://orcid.org/0000-0003-2340-3278"
  - family-names: "Pravda"
    given-names: "Lukas"
  - family-names: "Yuan"
    given-names: "Qi"
  - family-names: "S.Smart"
    given-names: "Oliver"
  - family-names: "Nadzirin"
    given-names: "Nurul"
  - family-names: "Anyango"
    given-names: "Stephen"
  - family-names: "Nair"
    given-names: "Sreenath"
  - family-names: "Velankar"
    given-names: "Sameer"
    orcid: "https://orcid.org/0000-0002-8439-5964"
  doi: "10.1186/s13321-023-00786-w"
  journal: "Journal of Cheminformatics"
  month: 12
  title: "PDBe CCDUtils: an RDKit-based toolkit for handling and analysing small molecules in the Protein Data Bank"
  volume: 15
  year: 2023

GitHub Events

Total
  • Create event: 4
  • Issues event: 4
  • Release event: 1
  • Watch event: 32
  • Delete event: 3
  • Issue comment event: 10
  • Push event: 8
  • Pull request event: 8
  • Pull request review event: 3
  • Fork event: 4
Last Year
  • Create event: 4
  • Issues event: 4
  • Release event: 1
  • Watch event: 32
  • Delete event: 3
  • Issue comment event: 10
  • Push event: 8
  • Pull request event: 8
  • Pull request review event: 3
  • Fork event: 4

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 825
  • Total Committers: 10
  • Avg Commits per committer: 82.5
  • Development Distribution Score (DDS): 0.553
Past Year
  • Commits: 3
  • Committers: 2
  • Avg Commits per committer: 1.5
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
Oliver Smart o****t@e****k 369
Lukas Pravda l****a@e****k 346
qyuan7 q****n@i****k 49
Oliver Smart o****t@s****k 39
roshkjr r****r 14
abhik a****k@e****k 4
Otieno Anyango 1****o 1
Oliver Smart o****t@g****m 1
Alex Morehead a****d@g****m 1
Oliver Smart o****t@s****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 6
  • Total pull requests: 32
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 20 days
  • Total issue authors: 5
  • Total pull request authors: 7
  • Average comments per issue: 1.33
  • Average comments per pull request: 0.81
  • Merged pull requests: 24
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 2
  • Pull requests: 3
  • Average time to close issues: 3 days
  • Average time to close pull requests: about 1 month
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.33
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • jaclark5 (2)
  • leaves520 (1)
  • otienoanyango (1)
  • dwhswenson (1)
  • osmart (1)
Pull Request Authors
  • roshkjr (15)
  • dependabot[bot] (4)
  • osmart (3)
  • lpravda (2)
  • amorehead (2)
  • sreenathnair (2)
  • dwhswenson (1)
  • otienoanyango (1)
Top Labels
Issue Labels
documentation (1)
Pull Request Labels
dependencies (4)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 8,145 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 18
  • Total maintainers: 1
pypi.org: pdbeccdutils

Toolkit to parse and process small molecules in wwPDB

  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 8,145 Last month
Rankings
Downloads: 10.0%
Dependent packages count: 10.1%
Average: 13.9%
Dependent repos count: 21.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

setup.py pypi
  • Pillow *
  • numpy *
  • pdbecif >=1.5
  • requests *
  • scipy *
.github/workflows/documentation.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
  • peaceiris/actions-gh-pages v3 composite
  • s-weigand/setup-conda v1 composite
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
  • s-weigand/setup-conda v1 composite
.github/workflows/publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite