Clean PDB

The clean PDB API is made available to all Cyrus Engine API customers free of charge. Use of the clean PDB does not count towards yearly request quotas.

The Clean PDB API prepares input PDB files for optimal performance using the Cyrus Engine APIs. When a PDB file is submitted to the API the following changes are made:

  • All waters are removed

  • All metal ions are removed

  • All small molecule ligands are removed

  • All non-canonical amino acids are converted to the most similar canonical amino acid

  • Residues are renumbered starting from 1

Cyrus recommends that all PDBs used with the Cyrus Engine API are first passed through this endpoint. prior to use.

Quickstart

Command Line Examples

Clean a PDB file:

cyrus engine submit clean-pdb input_file.pdb

Clean a PDB from RCSB for chains A and B

cyrus engine submit clean-pdb --pdb-id 3hmx --chains A,B

Python Examples

Clean a PDB file:

from engine.clean_pdb.client import CleanPdbClient client = CleanPdbClient() job_id = client.submit(pdb_path="input.pdb")

Inputs

Either a PDB file or a published PDB ID (ex. 1ubq)

Options

  • --pdb-file

    • Input PDB file

    • CLI argument: --pdb-file input.pdb

    • Python submit() argument: pdb-file="input.pdb"

  • --pdb-id

    • PDB ID to download from RCSB (if not providing input PDB)

  • --chains

    • Comma separated list

    • List of chain IDs to include in output, or all to download all chains

    • default = all

Outputs

  • full_structure.pdb -- A cleaned PDB file