Skip to main content

A toolkit for functional annotation of ligands in the PDB

Project description

License Documentation

PDBe RelLig

Relevant Ligands in PDB

With over 200,000 entries in the PDB, about 75% of these structures contain at least one ligand bound to a protein or nucleic acid. However, not all ligands are biologically relevant, some are present due to experimental necessities, such as aiding crystallisation or enabling cryoprotection, while others play biologically significant roles acting as cofactors, reactants or drugs. Unfortunately, the biological role of ligands present in PDB entries is not annotated in the PDB/mmCIF files. PDBe RelLig is designed to bridge this gap by automatically annotating the ligand's functional role as the following:

  • cofactor
  • reactant
  • drug

Installation

Create and activate a virtual environment and then install PDBe RelLig

pip install pdberellig

Dependencies

Running the pipeline

There are three modes of pipelines:

cofactors

pdberellig cofactors --cif <path_to_ligand_cif_file> --ligand_type <type_of_ligand> --out-dir <path_to_output>

pipeline inputs

Options:
  --cif TEXT                   path to input cif file  [required]
  --ligand-type [CCD|PRD|CLC]  type of ligand in the PDB  [required]
  --out-dir TEXT               path to output directory  [required]
  --help                       Show this message and exit.

pipeline outputs

<ligand_id>_cofactor_annotation.json - a json file containing ligand interacting proteins and similarity to template and representative molecules of cofactor classes .

Example

{
    "HEM": {
        "template": {
            "id": "HEA",
            "similarity": 0.717
        },
        "representative": {
            "id": "HEA",
            "similarity": 0.717
        },
        "pdb_chains": [
            {
                "pdb_id": "3ks0",
                "auth_asym_id": "A",
                "struct_asym_id": "C",
                "uniprot_id": "P00175",
                "ec_number": "1.1.2.3"
            },
            {
                "pdb_id": "1ltd",
                "auth_asym_id": "A",
                "struct_asym_id": "A",
                "uniprot_id": "P00175",
                "ec_number": "1.1.2.3"
            },
        ]
    }
}

reactants

pdberellig reactants --cif <path_to_ligand_cif_file> --ligand-type <type_of_ligand> --out-dir <path_to_output> [--chebi-structure-file <tsv_file_with_chebi_mol>]

pipeline inputs

Options:
  --cif TEXT                     path to input cif file  [required]
  --ligand-type [CCD|PRD|CLC]    type of ligand in the PDB  [required]
  --chebi-structure-file TEXT    Path to the ChEBI structures file. If omitted, the file is downloaded.
  --out-dir TEXT                 path to output directory  [required]
  --update-chebi                 Path to the ChEBI archive files
  --minimal-ligand-size INTEGER  Minimum ligand size.  [default: 5]
  --help                         Show this message and exit.

pipeline outputs

<ligand_id>_reactant_annotation.tsv - A tsv file containing ligand interacting proteins and similarity to the reaction participants present in the reactions catalysed the protein

Example

pdb_id auth_asym_id struct_asym_id uniprot_id rhea_id chebi_id similarity
1r3q A A P06132 19865 57308 0.714
1r3q A A P06132 31239 62626 0.8
1r3q A A P06132 31239 62631 1.0
1r3s A A P06132 19865 57308 0.714
1r3s A A P06132 31239 62626 0.8
1r3s A A P06132 31239 62631 1.0
1r3v A A P06132 19865 57308 0.714
1r3v A A P06132 31239 62626 0.8
1r3v A A P06132 31239 62631 1.0

drugs

pdberellig drugs --cif <path_to_ligand_cif_file> --ligand_type <type_of_ligand> --out-dir <path_to_output>

pipeline inputs

Options:
  --cif TEXT                   path to input cif file  [required]
  --out-dir TEXT               path to output directory  [required]
  --ligand-type [CCD|PRD|CLC]  type of ligand in the PDB  [required]
  --help                       Show this message and exit.

pipeline outputs

<ligand_id>_drug_annotation.tsv - a tsv file containing ligand interacting pharmacologically active drug-targets

Example

pdb_id auth_asym_id struct_asym_id uniprot_id name organism
7n9g A A P00519 Tyrosine-protein kinase ABL1 Humans
3pyy B B P00519 Tyrosine-protein kinase ABL1 Humans
6npu B B P00519 Tyrosine-protein kinase ABL1 Humans
6npe A A P00519 Tyrosine-protein kinase ABL1 Humans
2hyy A A P00519 Tyrosine-protein kinase ABL1 Humans
6npu A A P00519 Tyrosine-protein kinase ABL1 Humans
6npv B B P00519 Tyrosine-protein kinase ABL1 Humans
6npe B B P00519 Tyrosine-protein kinase ABL1 Humans

Contribution

We encourage you to contribute to this project. The package uses poetry for packaging and dependency management. You can develop locally using:

git clone https://github.com/PDBeurope/rellig.git
cd rellig
pip install poetry
poetry install --with dev,doc
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

# 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:

poetry sync --with dev

or

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,

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdberellig-1.0.3.tar.gz (125.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdberellig-1.0.3-py3-none-any.whl (162.0 kB view details)

Uploaded Python 3

File details

Details for the file pdberellig-1.0.3.tar.gz.

File metadata

  • Download URL: pdberellig-1.0.3.tar.gz
  • Upload date:
  • Size: 125.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pdberellig-1.0.3.tar.gz
Algorithm Hash digest
SHA256 d357a149138b3ce93aeff5a248cabaa23086d0d19ed0ef4a5b4854c77ca287f9
MD5 f1ad1306c8757bf1e348bc93bb8c0242
BLAKE2b-256 8011a2a3f51ba863f0edf175e53c17121b73398c9020743964d98aca81ab9812

See more details on using hashes here.

File details

Details for the file pdberellig-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: pdberellig-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 162.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pdberellig-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 57d490d85a28dd4e1a345b457a638510a13b4bdd1b6242a7bce379ccec10472e
MD5 5e1ca892055c28c330ee28bc4cbae371
BLAKE2b-256 6b7fbc95414579b0c9fea982ae5733820c4421a049be99ad05cdb6e2e2bc9710

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page