AutoPSF provides a streamlined interface for building complete structures for molecular dynamics simulations. To save work on the part of the user, many assumptions are made by the program to allow structure building with a minimum of user input. The procedures used by AutoPSF to determine how the structure should be built are detailed below.
AutoPSF runs roughly the same sequence of procedures in GUI or command line mode; in GUI mode, though, there is an opportunity for user input after stages 1 and 3.
Prior to building a structure, psfgen will run the internal program checkpsf on the input structure and topology files. This program first combines all of the input topology files into one (temporary) monolithic topology file, and then ensures that every residue present in the input structure is defined in the specified topology files. If there are residues missing, a set of dummy entries is added to the temporary topology file that will allow psfgen to run. These dummy entries are flagged so that these unparameterized fragments will be detected later.
AutoPSF attempts to properly guess the chain boundaries in the input structure; note that this is critical both for distinguishing protein chains from each other (so that they are properly named and terminated) and for separating protein, nucleic acid, and other components of the system. The first residue of the structure (obviously) begins a new chain; after that point, chain breaks are placed at any position where one of the following occurs:
Although these steps will correctly predict the chain breakdown for many common proteins, they are not foolproof; most notably, the presence of nonstandard amino acids or bases, missing residues, or unusual numbering can lead to errors. It is generally preferrable to use the AutoPSF gui in any case where this might be an issue, as the gui provides an interface for editing the chain boundaries and patches set by AutoPSF.
AutoPSF will apply a number of psfgen aliases to correct common clashes between PDB and CHARMM nomenclature. This is generally safe, although it could in theory cause a problem if you want to use a residue with a name that clashes with the PDB name for something fairly common. The alias lines applied by AutoPSF are as follows:
pdbalias residue G GUA pdbalias residue C CYT pdbalias residue A ADE pdbalias residue T THY pdbalias residue U URA foreach bp { GUA CYT ADE THY URA } { pdbalias atom $bp "O5\*" O5' pdbalias atom $bp "C5\*" C5' pdbalias atom $bp "O4\*" O4' pdbalias atom $bp "C4\*" C4' pdbalias atom $bp "C3\*" C3' pdbalias atom $bp "O3\*" O3' pdbalias atom $bp "C2\*" C2' pdbalias atom $bp "O2\*" O2' pdbalias atom $bp "C1\*" C1' } pdbalias atom ILE CD1 CD pdbalias atom SER HG HG1 pdbalias residue HIS HSD # Heme aliases pdbalias residue HEM HEME pdbalias atom HEME "N A" NA pdbalias atom HEME "N B" NB pdbalias atom HEME "N C" NC pdbalias atom HEME "N D" ND # Water aliases pdbalias residue HOH TIP3 pdbalias atom TIP3 O OH2 # Ion aliases pdbalias residue K POT pdbalias atom K K POT pdbalias residue ICL CLA pdbalias atom ICL CL CLA pdbalias residue INA SOD pdbalias atom INA NA SOD pdbalias residue CA CAL pdbalias atom CA CA CAL # Other aliases pdbalias atom LYS 1HZ HZ1 pdbalias atom LYS 2HZ HZ2 pdbalias atom LYS 3HZ HZ3 pdbalias atom ARG 1HH1 HH11 pdbalias atom ARG 2HH1 HH12 pdbalias atom ARG 1HH2 HH21 pdbalias atom ARG 2HH2 HH22 pdbalias atom ASN 1HD2 HD21 pdbalias atom ASN 2HD2 HD22
Histidine residues tend to require special treatment because of their ability to take on any of three protonation states (delta protonated, epsilon protonated, or the charged form with both nitrogens protonated). In the current version of AutoPSF, all histidines are assigned delta protonation, although an interface to change this will be added in the near future. Any histidines bonded to metal ions will have their protonation state adjusted to keep the protion away from the metal.
As with histidine, cysteine residues require special treatment because they can form disulfide bonds with other cysteines, and may also lost their sulfur hydrogen if they are involved in ligation of a metal. AutoPSF will automatically form a disulfide bond between any cysteine pair where the sulfur atoms are within three angstroms of each other (this is accomplished by putting a DISU patch on these residues). In addition, any cysteine bonded to a metal will be deprotonated, since it is likely involved as a ligand.
AutoPSF will assume that any residue not defined in the input topology files is unparameterized. When a structure containing such residue is built, AutoPSF will detect the unparameterized fragment and display a dialogue box detailing possible solutions.