Invoking PDB2PQR


Please register before using PDB2PQR!

Most users will use PDB2PQR through the web server. However, it is also possible to install local versions of PDB2PQR and run these through the command line. This version of the software offers an expanded range of options and can also be customized with user extensions.


Make sure user extensions are adequately documented.

The command line PDB2PQR is invoked as

$ python [options] --ff={forcefield} {path} {output-path}

This module takes a PDB file as input and performs optimizations before yielding a new PQR-style file in {output-path}. If {path} is a PDB ID it will automatically be retrieved from the online PDB archive.



Replace this section with automagically generated documentation ala

Mandatory options

One of the options must be used for all PDB2PQR runs:

The forcefield to use - currently amber, charmm, parse, tyl06, peoepb and swanson are supported.
A user-created forcefield file. Requires --usernames and overrides --ff.
Do no optimization, atom addition, or parameter assignment, just return the original PDB file in aligned format. Overrides --ff and --userff options.

Titration state calculation options


Method used to calculate ph values. If a pH calculation method is selected, pKa values will be calculated and titratable residues potentially modified after comparison with the pH value supplied by --with_ph for each titratable residue


Use PROPKA to calculate pKa values. PROPKA options include:

Setting which reference values to use for stability calculations. See PROPKA 3.0 documentation for details.
Print extra-verbose PROPKA information to stdout.

Use PDB2PKA to calculate pKa values. Requires the use of the PARSE force field. Large proteins can take a very long time to run using this method. PDB2PKA options include:

Output directory for PDB2PKA results. Defaults to pdb2pka_output.
Resume run from state saved in output directory.
Protein dielectric constant. Defaults to 8.
Solvent dielectric constant. Defaults to 80.
Cutoff energy in (kT) for calculating interaction energies. Default: 1.0.
pH values to use when applying the results of the selected pKa calculation method to assign titration states. Defaults to 7.0.


Make sure that PDB2PQR force fields are referenced and described.

General options

Create a template APBS input file based on the generated PQR file. Also create a Python pickle for using these parameters in other programs.
Only assign charges and radii - do not add atoms, debump, or optimize.
Keep the PDB chain ID in the output PQR file.
Drop waters before processing protein. Currently recognized and deleted are the following water types: HOH, WAT
Instead of using the standard canonical naming scheme for residue and atom names, use the names from the given forcefield. Currently amber, charmm, parse, tyl06, peoepb and swanson are supported.
-h or --help
Print help message and exit.
Calculate the parameters for the ligand in mol2 format at the given path. PDB2PKA must be compiled.
Make the N-terminus of this protein neutral (default charge state is determined by pH and pKa). Requires PARSE force field.
Make the C-terminus of this protein neutral (default is charged). Requires PARSE force field.
Do not perform the debumping operation to remove steric clashes. See debumping for more information.
Do not perform hydrogen bond optimization. See hbondopt for more information.
Create a map of atom types in the molecule.
The user created names file to use. Required if using --userff.
-v or --verbose
Print additional information to stdout.
Show program’s version number and exit
Insert whitespaces between atom name and residue name, between x and y, and between y and z.

Include pdb header in pqr file.


The resulting PQR file will not with APBS versions prior to 1.5.

Extension options

These options refer to extension modules distributed with PDB2PQR.

Print the per-residue sidechain chi angles to output-path.chi
Print a list of contacts to output-path.con

Print a list of hydrogen bonds to output-path.hbond. Additional options for this extension include:

Change hbond output to WHAT-IF format.
Angle cutoff to use when creating hbond data (default 30.0 deg)
Distance cutoff to use when creating hbond data (default 0.34 nm)
Use distance from donor hydrogen to acceptor to calculate distance used with --distance_cutoff.

Print the per-residue phi and psi angles to output-path.rama for Ramachandran plots. Options for this extension include:

Only include phi angles in output. Rename output file output-path.phi
Only include psi angles in output. Rename output file output-path.psi
--resinter or --newresinter

Print interaction energy between each residue pair in the protein to output-path.resinter or output-path.newresinter Additional options for this extension include:

Remap residues to different titration states and rerun --resinter, appending the output. Consider only the minimum number of whole protein titration combinations needed to test each possible pairing of residue titration states. Normally used with --noopt. If a protein titration state combination results in a pair of residue being re-tested in the same individual titration states, a warning will be generated if the re-tested result is different. This warning should not be possible if used with --noopt.
Remap residues to ALL possible titration state combinations and rerun resinter appending output. Results with --noopt should be the same as --residue_combinations. Runs considerably slower than --residue_combinations and generates the same type of warnings. Use without --noopt to discover how hydrogen optimization affects residue interaction energies via the warnings in the output.
Print a list of salt bridges to output-path.salt
Print protein summary information to output-path.summary

Method descriptions


Unless otherwise instructed with --nodebump, PDB2PQR will attempt to remove steric clashes (debump) between residues.

To determine if a residue needs to be debumped, PDB2PQR compares its atoms to all nearby atoms. With the exception of donor/acceptor pairs and CYS residue SS bonded pairs, a residue needs to be debumped if any of its atoms are within cutoff distance of any other atoms. The cutoff is 1.0 angstrom for hydrogen/hydrogen collisions, 1.5 angstrom for hydrogen/heavy collisions, and 2.0 angstrom otherwise.

Considering the atoms that are conflicted, PDB2PQR changes selected dihedral angle configurations in increments of 5.0 degrees, looking for positions where the residue does not conflict with other atoms. If modifying a dihedral angle does not result in a debumped configuration then the dihedral angle is reset and the next one is tried. If 10 angles are tried without success the algorithm reports failure.


It should be noted that this is not an optimal solution. This method is not guaranteed to find a solution if it exists and will accept the first completely debumped state found, not the optimal state.

Additionally, PDB2PQR does not consider water atoms when looking for conflicts.

Hydrogen bond optimization

Unless otherwise indicated with --noopts, PDB2PQR will attempt to add hydrogens in a way that optimizes hydrogen bonding.

The hydrogen bonding network optimization seeks, as the name suggests, to optimize the hydrogen bonding network of the protein. Currently this entails manipulating the following residues:

  • Flipping the side chains of HIS (including user defined HIS states), ASN, and GLN residues;
  • Rotating the sidechain hydrogen on SER, THR, TYR, and CYS (if available);
  • Determining the best placement for the sidechain hydrogen on neutral HIS, protonated GLU, and protonated ASP;
  • Optimizing all water hydrogens.

Titration states

PDB2PQR has the ability to recognize certain protonation states and keep them fixed during optimization. To use this feature manually rename the residue name in the PDB file as follows:

Neutral ASP
Negative CYS:
Neutral GLU:
Neutral HIS:
HIE or HSE (epsilon-protonated); HID or HSD (delta-protonated)
Positive HIS:
Neutral LYS
Negative TYR

PDB2PQR is unable to assign charges and radii when they are not available in the forcefield - thus this warning message will occur for most ligands unless a MOL2 file is provided for the ligand with the --ligand option. Occasionally this message will occur in error for a standard amino acid residue where an atom or residue may be misnamed. However, some of the protonation states derived from the PROPKA results are not supported in the requested forcefield and thus PDB2PQR is unable to get charges and radii for that state. PDB2PQR currently supports the following states as derived from PROPKA:

Protonation State AMBER Support CHARMM Support PARSE Support
Neutral N-Terminus No No Yes
Neutral C-Terminus No No Yes
Neutral ARG No No No
Neutral ASP Yes [1] Yes Yes
Negative CYS Yes [1] No Yes
Neutral GLU Yes [1] Yes Yes
Neutral HIS Yes Yes Yes
Neutral LYS Yes [1] No Yes
Negative TYR No No Yes
[1](1, 2, 3, 4) Only if residue is not a terminal residue; if the residue is terminal it will not be set to this state.