What is PMB? PMB is a semi-automatic command-line interface to CNS. PMB also includes CNS modules and Patches which enhance it's capabilities and eases the structure-solution process. A few of the features of PMB are:

Why PMB? Well this started as a place to put programs being developed for the Gulf Coast Structural Genomics Consortium (GCSCC). Never heard of the GCSCC? Well that explains why PMB does not include any model-building tools. However, I started to include our automated structure refinement tools in the PMB suite, and the name PMB remains. The murky origin of this software lies deep within the ancient past of protein structure refinement with Alec Hodel and Paul Harkins of Robert Fox's group at Yale.

If you use these utilities please cite these papers:

Andrew T. Russo, Mark A. White, and Stanley J. Watowich, The Crystal Structure of the Venezuelan Equine Encephalitis Alphavirus nsP2 Protease. Structure 2006 14: 1449-1458. (PDF)

Singh R, White MA, Ramana KV, Petrash JM, Watowich SJ, Bhatnagar A, Srivastava SK., Structure of a glutathione conjugate bound to the active site of aldose reductase. Proteins: Structure, Function, and Bioinformatics 2006, July 1, 64(1), 101-110; (PDF)

Emily E. Scott, Mark A. White, You Ai He, Eric F. Johnson, C. David Stout, and James R. Halpert, Structure of mammalian cytochrome P450 2B4 complexed with 4-(4 chlorophenyl)imidazole at 1.9 Å resolution: Insight into the range of P450 conformations and coordination of redox partner binding J. Biol. Chem 279, 26, 27294-301, 2004. (PDF)

A more detailed description of PMB and the improved CNS routines included in pmb_bncs.f will be available when our Acta Cryst. D paper is published.

Best Regards,
Mark A. White

Other References:

If you use the fully hydrogenated or NQH-flipped features of J. Michael Word's REDUCE program please cite:
Word JM, Lovell SC, LaBean TH, Taylor HC, Zalis ME, Presley BK, Richardson JS, Richardson DC., Visualizing and quantifying molecular goodness-of-fit: small-probe contact dots with explicit hydrogen atoms., J Mol Biol. 1999 Jan 29;285(4):1711-33 {PM}



Image and data processing programs - from our web-server  


CNS 1.1 utilities. Last updated August 17, 2022. A typical installation will be placed in /usr/local/PMB (cd /usr/local ; tar -xzvf PMB_CNS_utils.tgz). Then add these lines to your .cshrc (/etc/csh.chrc) files:

setenv PMB_HOME /usr/local/PMB/

setenv PMB_BIN $PMB_HOME/linux


setenv PMB_BIN $PMB_HOME/irix      #IRIX6.5 binaries are not maintained

setenv PMB_BIN $PMB_HOME/mac_intel

setenv PMB_BIN $PMB_HOME/mac_ppc

Thanks to Evan R. Kantrowitz for providing the binaries for the MAC (OS 10.4).

The instructions on how to recompile CNS with the new restraint routines are located in the file:



PMB-3: PMB with Patches for CNS1.3 (Coming Soon)


Bruker image and data processing


Macscience calibration utility


HKL utilities


Get old versions of PMB (not recommended)

INDEX« ^ v

An index of programs and utilities in PMB

pmb_sca2cns pmb_CNS pmb_refine pmb_cns2phs pmb_start pmb_resolve pmb_check


The most current versions are installed on our main server in $PMB_HOME

pmb_sca2cns scalepack.sca

This program converts a SCALEPACK merged HKL file into a CNS format CV file with a 5% test set. The test set is picked using a THIN SHELL algorithm, which is prefered when there is NCS. The files Fobs.o.cv and Fobs.cv are also generated. This utility also prints a $PMB_HOME/pmb_CNS command line for you to cut and paste or edit, if the parameters need adjustment. Normally only the high_res parameter may need to be changed, but check the syntax of the "Space(Group)" entry.
BUG: Automatically runs pmb_CNS with default values. Rerun pmb_CNS with revised values to overwrite all CNS input files.

pmb_CNS a b c alpha beta gamma "Space(Group)" SG_Number Resolution

This com file sets up ALL the CNS 1.1 input files using the given command line inputs. It also copies the necessary PMB refinement utilities into your current directory. The BINDIVIDUAL refinement script utilizes the improved B-factor restraints developed at UTMB by Mark A. White (Acta Cryst D submitted, 2006). Note the syntax of the "SpaceGroup" entry, which needs to be in quotes to be recognized as a single text string. {eg. P4(1), P2(1)2(1)2(1), C2(1), P3(1)21 }

pmb_refine -c5 -g -w2 -n -r -a -b -l -s22 -S -O -q -d -o -v -h [MODEL.pdb]

An automated CNS refinement program with several command line flags:

-c{#} (Cycles {opt#cycles})  -Default 1 cycle of refinement
-g (Generate new topology files) - Do this after model building. Specify PDB file as last entry on line (1)
-w{#} (Pick waters {opt#rounds}) - Default 1 round water pick
-n (NCS-shake)  - Relaxes NCS restraints for 1 round: "NCS Annealing"
-r (Rigid body refinement)  - Normally only used after MR
-a (Simulated Annealing)  - Do this with your initial models! (*See pmb_param.inp)
-b (Generate & Use H-bond restraints)  - For low resolution models (*See pmb_my_hbonds.inp)
-R (Use Ramachandran Phi/Psi restraints) - For low resolution models
-l (LocalScale OFF flag)  - Turns OFF local scaling: PHS files are still generated (2)
-m (Map for COOT)  - Generates FWT DELFWT maps for COOT (4)
-s{#} (Stereochem optimize )  - Optimize bond rmsd to Engh & Huber (*See pmb_param.inp) (3)
-S (Stereochem Stretch & Relax )  - A Quick & Simple Annealing proceedure (3)
-O (Stereochem Optimization Search )  - Find Optimal Bond RMSD Target (Optimizes X-ray Weight) (>Doubles refinement time!)(3)
-o (Composit Omit Map)  - Generate a Composit Omit Map after refinement
-q (Occupancy refinement)  - qindividual of selected atoms!
-d{%} (Density Modification)  - Use RESOLVE to generate a MAP (CCP4) (4)!
-v (Validate structure)  - Use PROCHECK & SFCHECK to check model(CCP4) (4)!
-h (HELP)  - View this help message - Look for new features
Each refinement cycle continues until the freeR value stops decreasing. This routine utilizes the Czerwinski/Matthews/Hynes local scaling program to correct for absorption and anisotropic scattering. It generates an XtalView format PHS file for generating a map in xfit or COOT. The MTZ file new_sa.mtz generated with the -d flag (using pmb_resolve) is recommended for use in COOT.
Flow Chart: This pmb_refine flow chart will help you to understand what is happening during the refinement process.

(1) Run ./pmb_start on your rebuilt model OR specify your MODEL.pdb as the last entry on the command line.
(2) Local scaling should be turned off when the model is incomplete (<80%).
(3) See pmb_param.inp for bond_trgt and refined wa_scale value. Enter 0 to automatically determine or a bond_trgt value in thousanths of an A (3-25). A negative value will reset the wa_scale to CNS defaults.
(4) This option requires CCP4! RESOLVE: Input %Solvent or else let CNS determine.


A com file which launches the Czerwinski/Matthews/Hynes local scaling program $PMB_BIN/pmb_cns2phs, written in FORTRAN. This program uses the output of the CNS script FoFc_calc.inp (fo.sfo.fc.fob), which calculates Fc, Fbulk and phases, to produce an XtalView PHS format file (pmb_lscale.phs) and a corrected Fobs.cv (fobs_lscale.fob) file. The inclusion of the local scaling correction and bulk solvent component produces superior quality maps!

Note: Although COOT can read the XtalView format PHS files and create maps it is recommended to use the -m flag in pmb_refine to create a Refmac style 2Fo-Fc & Fo-Fc MTZ map from the locally-scaled data..

pmb_start PDB_file

Configures your PDB file for generate to create the connectivity and stereo chemical restraints list. This splits your PDB file into the necessary components for generate.inp: start.protein.pdb, start.ion.pdb, start.ligand.pdb, start.nucl.pdb, start.carbo.pdb, and start.water.pdb. The start.ion.pdb and start.ligand.pdb files may need manual editing to insert the necessary TER cards between each ion or ligand. The new (2007) version of pmb_start is a more intelligent program. It automatically recognizes the standard amino acids, nucleotides, ions, carbohydrates, and waters. All other residues are now placed into the start.ligand.pdb file. A TER card is automatically placed between each ligand residue as the residue number or chain_id changes. This requires that the atoms of a residue are contiguous within the PDB file.

This function is called if you specify a PDB file at the end of the "./pmb_refine -g ... My_Model.pdb" command.


Create a solvent-flipped map (CCP4+RESOLVE). This runs RESOLVE using your latest model (minimize.pdb) and phases (pmb_lscale.phs). The MTZ files new_sa.mtz and resolve.mtz generated by pmb_resolve are recommended for use in COOT. This script is run after refinement with the pmb_refine -d{%sol} flag. Users may enter an optional %solvent value, or let CNS estimate the solvent content. BUG: Requires CCP4.


Check the Quality of your Model (CCP4) This runs both PROCHECK and SFCHECK on your latest model (minimize.pdb). This script is run after refinement with the pmb_refine -v flag. BUG: Requires CCP4.

Note: The Molprobity reduce program is always run at the completion of any refinement. It is a good idea to look at the YYMMDDx.##.Project-flipped.pdb for possible His/Asn/Gln flips.

File Naming Conventions

generate.mtz(pdb), minimize.pdb, bindividual.pdb

The output files of generate.inp, minimize.inp and bindividual.inp. They are used as the input files for iterative minimization/b-factor refinement. The pmb_param.inp file can override the defaults set in these input files: (minimize, bindividual, anneal)

Fobs.o.cv, Fobs.cv

The ORIGINAL CV format data file, and the locally scaled file used by most refinement scripts.

start.protein.pdb, start.ion.pdb, start.ligand.pdb, start.water.pdb, start.nucl.pdb, start.carbo.pdb

The input files for generate containing your protein model, the ions, any ligand, and the waters.

ligand.top, ligand.param

These ligand parameter and topology files must exist in your working directory. They may be empty if you do not have a ligand. (Look in $PMB_HOME/CNS/other for some examples)

HOW TO ^ v

A roughly cronological order of how to use the PMB utilities



Convert Scalepack {SCA} intensities to CNS Fobs {CV} with 5% test set

Run $PMB_BIN/pmb_sca2cns ScalePack.sca to generate your Fobs.cv file. This utility also copies the output file "ScalePack.sca.cv" to the two required CV files for you: Fobs.o.cv and Fobs.cv

Make the CNS input files

Run $PMB_HOME/pmb_CNS a b c alpha beta gamma “S(G)” SG_No. Res to automatically produce the required CNS input files and copy all the PMB utilities into your current directory. Use this command to override the spacegroup in the SCA file or to change the resolution limit. Warning: This clobbers all of your CNS INP files and the ligand toppolgy/parameter files.

Set up PDB for CNS

Then run "pmb_start My_Model.pdb" to set up your CNS input models. The start.ion.pdb file may need manual editing to insert the necessary TER cards between each ion. The script pmb_start has recently been changed to a more intelligent perl script. Unidentified residues are now added to the start.ligand.pdb file with TER cards placed at the end of each residue.

Refine your model in CNS

To refine the model and generate a map run:
"./pmb_refine -g |tee LogFile.log"
The pmb_refine program uses the current directory name as the PROJECT name. It creates data and log files with a date/project stamp for easy project management. The pmb_param.inp file can override the defaults set in these input files: (minimize, bindividual, anneal). This program has many flags to modify its behavior. To see the current list of flags type: ./pmb_refine -h

Build the Model

XtalView may be run using the "sharefonts;xtalmgr &" command.
You will need to create a project name and crystal data entry from the XTALMGR menu before using XFIT "xfit minimize.pdb pmb_lscale.phs" to examine your model there are links to local copies of the XtalView HowTo webpages on our web-server under SOFTWARE. To use COOT for your model building it is recommended that you run pmb_resolve in order to generate a MTZ file (new_sa.mtz or resolve.mtz). (Use the -d flag in pmb_refine) COOT can display PHS files, but there is a problem using the resulting map with COOT's refinement tools.

Use NCS and Solvent Flattening in RESOLVE/CCP4

Edit pmb_resolve to have the correct CELL and SG number. Pick suitable residues to use as the basis of NCS and edit the default selection criteria accordingly. Note that you do not want too many nor too few atoms to be selected. Note that this script requires that the model has been refined at least once in order to generate PHIC.





A cut and paste example of how to do it.

Convert Scalepack to CNS CV

$PMB_BIN/pmb_sca2cns My_Data.sca

Set up files for CNS

$PMB_HOME/pmb_CNS 47.812 47.812 62.134 90.000 90.000 90.000 "P4(1)" 76 1.7

Prepare PDB model for CNS

pmb_start 1STN.pdb

Refine your model in CNS

./pmb_refine -g -r -a -s 1STN.pdb |tee MMDDHH_My_Project_log

Build the Model in XTALVIEW

sharefonts;xtalmgr &
xfit minimize.pdb pmb_lscale.phs
xfit MMDDHHx.Project.pdb MMDDHHx.Project.phs

Use NCS and Solvent Flattening in RESOLVE


FAQs ^

Automated Refinement « ^ v »

PMB helps to automate the refinement process through the pmb_refine command line script. This program accepts many flags to customize the refinement process. All refinements are run to convergenge as determined by the Rfree value. For a full list of the refinement options see the entry on pmb_refine above.
Flow Chart: This pmb_refine flow chart will help you to understand what is happening during the refinement process.

Improved Stereochemistry ^ v

PMB includes modified TOPOLOGY and parameter file for proteins. These changes were based on our experience with high-resolution strucuture refinement using the Eng & Huber bond rmsd targets (see below). After every refinement is finished the REDUCE program (part of MOLPROBITY) will create a fully hydrogenated model and check for possible NQH rotomer flips. These models are saved in the MMDDHH.XX.ProjID+H.pdb & MMDDHH.XX.ProjID-flipped.pdb files.

Optimized Weights ^ v

PMB will automatically calculate the optimal weights for refinement. This will benefit refinements of either high- or low-resolution structures. The optimal weight will neither over- or under- weight the xray terms.

Pictured on the left is an example of the automatic optimization data produced with the -O flag. Just look for the PNG image in your directory to see the entire optimization plot. The software will select the optimum bond-target based on this data and use it for refinement.

MAP Generation ^ v

PMB helps to automate the map generation process.
  • Phase File: Two phase files are automatically generated after each round of refinement. Of these two files one, Fobs.phs is always produced, the other date-stamped phase file is locally scaled MMDDTT.ProjID.phs.
  • RESOLVE Maps: Two RESOLVE phase-improve maps are createed when using the -d flag in pmb_refine, the resolve MTZ and a MMDDTT.resolve.phs PHS file which should be displayed as a Fo*FOM map in Xfit. In addition the CNS Fo-Fc-PHIC file is converted into two MTZ files: new_s.mtz and new_sa.mtz with sigmaa weights. This option requires that both CCP4 and RESOLVE be installed and configured.
  • OMIT Maps: Two CNS composit-omit maps are created when using the -o flag in pmb_refine, a MMDDTT.omit.phs PHS file which should be displayed as a Fo map in Xfit and a MMDDTT.omit.mtzs MTZ file for viewing in COOT. The MTZ option requires CCP4.
  • NCS averaged maps: When the -n option is specified a CNS ncs_avg_map script is run. This requires that the NCS groups be specified in NCS.def. A phase file, MMDDTT.ncs_avg.phs, is automatically generated after refinement is finished. Note: RESOLVE will also use NCS averaging based on a ha.pdb file which is generated automatically from the minimize.pdb file by pmb_resolve.

B-factor Patches ^ v

PMB contains a CNS module, pmb_bncs.f, which removes much of the model-bias from B-factor refinements. This isotropic B-factor model seems to work at any resolution. This is because it inherently modifies the restraints to match the apparent resolution of the data. Users are still provided with a bdomain.inp CNS input file, however the bindividual.inp script is prefered when using the PMB/CNS B-factor patch.
B-factor plot of 1AV1, refined at 4 Å using the PMB B-factor patch for isotropic B-factor restraints. Note that even the side-chain b-factors are well-behaved, and that the molecular motions are modeled more accurately by these individual B-factors than they could be by a series of group B-factors.

Improved NCS ^ v

PMB has several features for the better use of NCS. An improved NCS B-factor patch allows each NCS group to "float" with a group B-factor, better modeling variation in the local enviroment of each NCS domain. The NCS annealing feature has been demonstrated to lower the Rfree by allowing the structure to move out of a local minimum trap more readily. PMB will also generate NCS averaged maps for you (see above). Also, See the pmb_refine -n flag entry.

Low Resolution Refinement ^ v

PMB greatly improves refinement at low resolution. Some of the improvements offered for low-resolution structures include:
  • Optimized Weights: (see above).
  • B-factor Patch: (see above) Has been shown to work at < 4.0 Å.
  • Improved NCS: (see above).
  • Hydrogen Bond Distance Restraints: See the pmb_refine -b flag entry.
  • Ramachandran (Phi/Psi) Restraints: See the pmb_refine -R flag entry.



Mark A. White,
© 2001-2013

Visit our friends



Basic Science Departments:
Biochemistry & Molecular Biology
Neuroscience & Cell Biology
Pharmacology & Toxicology
Microbiology & Immunology
Sealy Centers & Institutes:
Center for Structural Biology
Center on Aging
Center for Molecular Medicine
Institute for Vaccine Science
Institute for Drug Discovery





Contact Us
For Students
Copyright (C) 2022
The University of Texas Medical Branch
Please Review Our
Site Policies & Required Links
Webmaster • Mark A. White