PDB2PQR

repository·main·Indexed 41 days ago

https://github.com/electrostatics/pdb2pqr

A software package for preparing protein structures, typically from PDB files, for electrostatic calculations such as Poisson-Boltzmann calculations. It provides a CLI, a Python API, and a web server to manage molecular structures, forcefield definitions, and I/O for PDB, CIF, MOL2, and PQR formats.

Tokens
30.3K
Snippets
92
Records
192
Agent score
51%

What's inside PDB2PQR

  1. Overview of PDB2PQR API modules

    main

    The PDB2PQR API is organized into several functional groups:

    • Forcefield support modules: Handle forcefield definitions and parameters.
    • Molecular structure modules: Manage the representation of atoms, residues, biomolecules, ligands, hydrogens, and topologies.
    • I/O modules: Handle reading and writing various file formats including PDB and CIF.
    • Other modules: Include utilities for configuration, cell handling, and execution control.
  2. Explore the `pdb2pqr.hydrogens` module and submodules

    main

    The pdb2pqr.hydrogens module provides functionality for handling hydrogen atoms in molecular structures. It is organized into several specialized submodules:

    • pdb2pqr.hydrogens: The core module for hydrogen-related operations.
    • pdb2pqr.hydrogens.optimize: Contains tools for optimizing hydrogen atom positions.
    • pdb2pqr.hydrogens.structures: Provides abstractions and data structures for representing hydrogen configurations within molecular models.
  3. Apply cumulative residue patches in .names files

    main

    PDB2PQR supports cumulative mapping in .names files. This is particularly useful for forcefields like CHARMM that use a patch-based naming scheme.

    Multiple <residue> sections can share the same canonical <name>. PDB2PQR applies these mappings sequentially. If a subsequent mapping defines specific atom names, those atom names will overwrite the ones defined in previous mappings for that residue. This allows you to define a base residue and then apply specific 'patches' to it.

    <!-- Mapping CYX to a base CYS and then applying a DISU patch -->
    <residue>
      <name>CYX</name>
      <useresname>CYS</useresname>
    </residue>
    <residue>
      <name>CYX</name>
      <useresname>DISU</useresname>
      <atom>
        <name>CB</name>
        <useatomname>1CB</useatomname>
      </atom>
      <atom>
        <name>SG</name>
        <useatomname>1SG</useatomname>
      </atom>
    </residue>
  4. Access the pdb2pqr Python API

    main

    For developers who need to integrate PDB2PQR functionality directly into their own Python applications, the core logic is exposed via the pdb2pqr module.

    Warning: The API is currently in flux and there is no guarantee of stability between minor releases. Use with caution in production environments.

  5. Typical PDB2PQR Workflow

    main

    PDB2PQR is typically used as a preprocessing step for electrostatics calculations, often in conjunction with the APBS software. A standard workflow involves:

    1. Input: Start with a PDB ID or a locally generated PDB file.
    2. Conversion: Use pdb2pqr to assign titration states and parameters, converting the biomolecule and ligand into PQR format.
    3. Calculation: Perform electrostatics calculations using apbs (this can be integrated within the PDB2PQR web server).
    4. Visualization: Visualize the results using the PDB2PQR web server or other compatible software.
  6. Understand the PQR molecular structure format

    main

    The PQR format is a modification of the standard PDB format designed to include atomic charge and radius parameters. This allows for electrostatic calculations while remaining compatible with most molecular graphics software.

    Unlike the strict column-based formatting required by PDB, APBS uses a whitespace-delimited version of PQR. This liberal formatting allows for atomic coordinates that exceed the standard PDB range of ± 999 Å. While PDB2PQR attempts to preserve PDB-like structure for compatibility, the underlying parser relies on whitespace separation between fields.

  7. Parameterize ligands using the PDB2PQR web server

    main

    PDB2PQR can parameterize a single ligand within a structure using the PEOE_PB method.

    Important Limitations:

    • PDB2PQR can only process one ligand per structure. If multiple copies of the same ligand exist, only one will be processed.
    • Ligand parameterization requires a MOL2-format file to provide necessary bonding information.

    Workflow for Parameterizing a Ligand

    1. Input Structure: Enter the PDB ID (e.g., 1HPX or 1ABF) on the PDB2PQR server.
    2. Configure Options: Under the options section, you must select:
      • Ensure that new atoms are not rebuilt too close to existing atoms
      • Optimize the hydrogen bonding network
      • Assign charges to the ligand specified in a MOL2 file
    3. Submit: After submission, a successful ligand parameterization will result in a PQR file without warnings regarding ligand parameterization (though warnings about atom 'debumping' may still occur).

    Workflow for Ignoring a Ligand

    If you wish to process the protein but ignore the ligand:

    1. Enter the PDB ID.
    2. Select preferred forcefield and naming scheme.
    3. Select these options:
      • Ensure that new atoms are not rebuilt too close to existing atoms
      • Optimize the hydrogen bonding network
      • Use PROPKA to assign protonation states at pH (e.g., pH 7).
    4. Submit. The output will include warnings about the unparameterized ligand.
  8. Add an entirely new forcefield

    main

    To implement a completely new forcefield in PDB2PQR, follow these steps:

    1. Generate a forcefield data file: Create a new .DAT file (e.g., myff.DAT).
    2. Provide a names file (if necessary): If your forcefield's atom naming scheme differs from the PDB2PQR canonical naming scheme, you must create a .names file (e.g., myFF.names). The format for this file is defined in the /formats/xml-names documentation.
    3. Reference existing examples: It is recommended to use the existing .DAT and .names files located in the dat/ directory as templates for your new files.

    Once created, these files can be utilized via both the PDB2PQR command line interface and the web server versions.

  9. Integrate APBS with molecular dynamics simulations

    main

    To use APBS within molecular mechanics and dynamics software, you can use the iAPBS library. iAPBS facilitates the integration of APBS with several major molecular dynamics packages, including:

    • NAMD
    • AMBER
    • CHARMM

    Additionally, APBS is used directly by Brownian dynamics software such as SDA and BrownDye.