Clean PDB API

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

Clean PDB prepares input PDB files for use by the other Engine API tools. 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

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

Examples

Command Line Examples

Clean a PDB file:

lev engine submit clean-pdb input_file.pdb

Clean a PDB from RCSB for chains A and B

lev 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

Updated: