# Pch¶

## Overview¶

The Pch utility helps prepare input files for use with SZMAP by adding partial charges (thus the name) and radii to atoms, and separating protein chains from any ligand(s) and any waters. It reads a structure file—preferably one where the hydrogens have already been added and oriented in optimal positions—and writes out two charged molecule files, one with the protein and any metals and one with other (non-water) molecules, such as ligands (waters can be written out to a separate file, if needed). The molecules in these output files have AmberFF94 partial charges assigned to protein atoms, formal charges on the ions, and AM1BCC partial charges on heterogen atoms. Modifications to residues, such as sugars or covalently-bonded small molecules or non-standard residues, are charged separately from the rest of the protein using AM1BCC and the charges are then transferred back to the modified protein.

By default, Pch will eliminate all alternate conformations from the input except the one with the highest occupancy. Although this behavior can be overridden with the option -keep_alts, SZMAP will not process more than one conformation so keeping multiple alternative conformations is not appropriate for input to SZMAP.

Because many proteins require co-factors to function, Pch provides a rich set of options to define precisely which residue(s) will go into the ligand file, leaving the rest to be incorporated into the protein file.

## Example Commands¶

A useful protein preparation procedure before running SZMAP or GamePlan starts with deleting any unwanted subunits, detergent and other non-essential molecules. Next, hydrogens are added and their orientations optimized, see the SZMAP Workflow and chapter MKHetDict for more information. Then, the protein and any ions are separated from any small-molecules and partial charges and radii are added using Pch:

> pch structure.pdb prot+ions.oeb.gz small-mols.oeb.gz


Because the output structures were saved in OEBinary (.oeb) format, the partial charges and radii can be inspected in VIDA and used by SZMAP and GamePlan.

Note

A warning that the formal charge is not equal to the sum of the partial charges usually indicates one or more atoms were missing from the protein structure. The degree to which this affects calculation results depends on the distance of the group with missing atoms from the region where the SZMAP calculations are performed. Missing atoms more than 10 Å from the binding site usually do not alter the results significantly. Pch will display a list of any non-hydrogen atoms missing from standard protein residues, which can help you to check the location of missing atoms with respect to the binding site.

If the structure contains small-molecules other than the ligand, such as ions, detergent, or co-factors, use -lig_res or one of the other selection options to ensure that only the specified residue will be placed in the second (ligand) output file and all the other non-water molecules are placed in the first (protein) file.

> pch -lig_res cam 2cppH.pdb 2cpp_prot.oeb.gz 2cpp_lig.oeb.gz


Tip

To identify a peptide or nucleic acid as the ligand, select it by chain or by a range of residue numbers.

If you need to modify the charge Pch assigns (for example, to change iron II to iron III), either modify the charge in VIDA using the builder or save the output to a .mol2 format or (DelPhi) .pdb format rather than .oeb format where it can easily be edited. DelPhi format is a non-standard version of the PDB format where the radii and partial charge are stored in the occupancy and B-factor fields, respectively.

> pch -lig_res cam 2cppH.pdb 2cpp_prot.pdb 2cpp_lig.oeb.gz
> edit 2cpp_prot.pdb


If you store the protein and ligand you want to use as input to pch in separate files, run Pch twice and discard the extra (empty) files. Just make sure the protein and the ligand has hydrogens and that these hydrogens are in positions that make all the appropriate interactions with the corresponding protein or ligand.

> pch proteinH.pdb prot.oeb.gz /tmp/junk.oeb.gz
> pch ligand.sdf /tmp/junk.oeb.gz lig.oeb.gz


### Elements¶

Because small-molecules and modifications to amino-acids are charged with AM1BCC and SZMAP uses MMFF van der Waals terms, there are restrictions on the elements that may be used with SZMAP and GamePlan.

AM1BCC supports the following elements:

H, C, N, O, F, P, S, Cl, Br, I, and Si


MMFF supports the following elements:

H, B, C, N, O, F, P, S, Cl, Br, I, Si, Se,
Li, Na, K, Ca, Fe, Zn, Cu, and Mg


Pch will generate a warning if other elements are found in the input. If the offending atom happens to be a metal used to determine the crystallographic phase and it is not related to the binding site, you can usually edit it out of the input and rerun Pch. If, on the other hand, you need to replace this atom with a “reasonable facsimile”, you can specify -fix_elements to request that Pch attempt such a replacement, for example replacing $$Hg^{2+}$$ with $$Zn^{2+}$$. Note that the oxidation state may be a problem regardless of the substitution: if molybdenum IV is converted to iron II, you can’t just change this to iron IV because MMFF only contains van der Waals parameters for iron II and iron III. Future versions of SZMAP will provide van der Waals parameters across a wider range of elements and oxidation states.

## Command Line Help¶

A description of the command line interface can be obtained by executing Pch with the --help option.

> pch --help


will generate the following output:

Help functions:
pch --help simple      : Get a list of simple parameters
pch --help all         : Get a complete list of parameters
pch --help defaults    : List the defaults for all parameters
pch --help <parameter> : Get detailed help on a parameter
pch --help html        : Create an html help file for this program
pch --help versions    : List the toolkits and versions used in the application


## Required Parameters¶

-input_mol <filename>
-i <filename>

[keyless parameter 1]

Input structure file. Hydrogens should already be added and their positions optimized.

File type Extension
OEBinary .oeb .oeb.gz
PDB .pdb .ent .pdb.gz .ent.gz
SDF .sdf .mol .sdf.gz .mol.gz
MOL2 .mol2 .mol2.gz
MacroModel .mmod .mmod.gz

## Optional Parameters¶

### Output Files¶

-output_prot <filename>
-p <filename>

[keyless parameter 2; default pch_prot.oeb.gz]

Name for output protein file. This file is either a DelPhi format PDB file (radii and charges stored in occupancy and Bfactor) or another format that retains the partial charges: OEBinary or MOL2. Saving in an OEBinary format allows the charges and radii to be easily inspected in VIDA. The extension modifier .gz means gzipped and is usually more compact than the uncompressed format but otherwise identical.

File type Extension
OEBinary .oeb .oeb.gz
PDB(DelPhi) .pdb .ent .pdb.gz .ent.gz
MOL2 .mol2 .mol2.gz
-output_lig <filename>
-l <filename>

[keyless parameter 3; default pch_lig.oeb.gz]

Name for output ligand file. This file is either a DelPhi format PDB file (radii and charges stored in occupancy and Bfactor) or another format that retains the partial charges: OEBinary or MOL2. Saving in an OEBinary format allows the charges and radii to be easily inspected in VIDA. The extension modifier .gz means gzipped and is usually more compact than the uncompressed format but otherwise identical.

File type Extension
OEBinary .oeb .oeb.gz
PDB(DelPhi) .pdb .ent .pdb.gz .ent.gz
MOL2 .mol2 .mol2.gz
-output_waters <filename>
-waters <filename>

Name for output file containing waters. The following file 3D formats are supported:

File type Extension
OEBinary .oeb .oeb.gz
PDB .pdb .ent .pdb.gz .ent.gz
SDF .sdf .mol .sdf.gz .mol.gz
MOL2 .mol2 .mol2.gz
MacroModel .mmod .mmod.gz

### Parameters¶

-nonsymmetrized_charges
-nonsym

Generate AM1BCC partial charges where topologically equivalent atoms are not forced to have the same charge. For example, by default the hydrogens on a methyl will all have the same partial charge. Charges generated using this option will generally differ for each of these “equivalent” hydrogens.

Since SZMAP does not vary the conformation of the ligand, non-symmetrized charges can be used to describe a specific conformation of each atom. But for any workflow down the road where the conformation may change, the default symmetrized charges are more appropriate.

-keep_alts

Retain alternate locations in input. This option should be used with caution, molecules with alternate locations cannot be processed sensibly by most programs and all but the highest occupancy will be discarded by SZMAP.

-no_fixup

Don’t attempt to fix problems with protein charges (inconsistent HIS and N-term charges).

-fix_elements

Attempt to substitute elements that will work with SZMAP for those that won’t work (due to lack of MMFF parameters) and adjust metal charges.

-keep_numbers

Do not renumber atoms in output.

### Ligand Selection¶

-ligand_res <RES>
-lig_res <RES>

If specified, only ligands with this (case insensitive) residue name will be written to -output_lig, the rest (e.g. cofactors) will be added to -output_prot. Results will be produced even if a residue named RES is not found.

-ligand_resnum <int>
-lig_num <int>

If specified, only ligands with this residue number will be written to -output_lig, the rest (e.g. cofactors) will be added to -output_prot.

-ligand_resnum_end <int>
-lig_end <int>

If specified, this is the last residue number (in a range of residues beginning with -ligand_resnum) that will be written to -output_lig. Although -ligand_inscode will be ignored if this option is used, the other selection criteria (residue name, chain ID, model number) will operate normally.

-ligand_inscode <char>
-lig_ins <char>

If specified, only ligands with this (case insensitive) residue number insertion code will be written to -output_lig, the rest (e.g. cofactors) will be added to -output_prot.

-ligand_chain <char>
-lig_ch <char>

If specified, only ligands with this (case insensitive) chain ID will be written to -output_lig, the rest (e.g. cofactors) will be added to -output_prot.

-ligand_model <int>
-lig_model <int>

If specified, only ligands from this model will be written to -output_lig, the rest (e.g. cofactors) will be added to -output_prot.

-verbose
-v