Department of Chemistry, Iowa State University  
Pulse Sequences
Faculty Page
Department of Chemistry
Iowa State University


1) Amino-Acid Type and Secondary-Structure Assignment by PLUQ


This script/code queries a database to help predict possible amino acid residue types and secondary structure assignments from 13C and/or 15N chemical shifts. Please cite the following paper when using PLUQ:

                   Fritzsching, K. J.; Yang, Y.; Schmidt-Rohr, K.; Hong, M. J. Biomol. NMR. 56, 155-167 (2013).

The PACSY database scheme is described by Lee et al 1. All chemical shifts are from the BioMagResBank (BMRB) 2.

If you find bugs or have any questions please contact: Keith Fritzsching (

Download (from Dropbox)

 PACSYlite sqlite3 database and PLUQ Python code (~60MB)



 You must have Python 2.7 on your computer or Python 2.x and the necessary packages (argparse, sqlite3...). If you have troubles install the latest version of Python. We recommend using the free Enthough Python distribution, which has a one click installer for common operating systems and includes many useful Python packages with a scientific focus.

This code does not need to be installed, simply navigate to the directory.




2) Automated Sequential Resonance Assignment by NSGA-II


The NSGA-II and combination NSGA-II/MC programs are designed to predict the assignment of protein solid-state NMR (SSNMR) spectra with partial resonance overlap and missing peaks due to broad linewidths, molecular motion, and low sensitivity. Please cite the following paper when using these programs:

              Yang, Y.; Fritzsching, K. J.; Hong, M. J. Biomol. NMR. 57, 281-296 (2013).

A pure Monte-Carlo algorithm was previously published by Tycko and coworkers 3, 4.

If you find bugs or have any questions please contact: Yu Yang (


1. Test_data: this folder includes the input files of 6 test proteins.

                    "control_nsga.txt" is the control file used for NSGA2_assign (modified NSGA-II program).

                    "control_gamc.txt" is the control file used for nsga2mc_assign (Combo NSGA-II/MC program).

2. Fortran_programs: NSGA-II and NSGA2:MC.

3. MATLAB_program: This code allows you to analyze and display the assignment output of the Fortran programs.


 (1) The executable files: nsga2_assign and nsga2mc_assign can be run directly in a Unix system.

 (2) Or you can download the Fortran source codes: main_program.f95 (main program), sub_source.f95 (contains all the subroutines of the NSGA-II algorithm) and qsort.f95 (this quicksort code is downloaded from the internet). All three files should be added to a Fortran project and compiled to make an executable file. A Fortran compiler is needed to do this.

(3) You must have MATLAB installed on your computer to use the Matlab code postproc_assign.m. This code does not need to be installed, simply navigate to the directory.



(1)       Lee, W.; Yu, W.; Kim, S.; Chang, I.; Lee, W.; Markley, J. L. J. Biomol. NMR. 54, 169-179 (2012).

(2)       Ulrich, E. L.; Akutsu, H.; Doreleijers, J. F.; Harano, Y.; Ioannidis, Y. E.; Lin, J.; Livny, M.; Mading,   S.; Maziuk, D.; Miller, Z.; Nakatani, E.; Schulte, C. F.; Tolmie, D. E.; Kent Wenger, R.; Yao, H.; Markley, J. L. Nucleic Acids Res. 36, D402-8 (2008).

(3)       Tycko, R. and Hu, K. N.  J. Magn. Reson. 205, 304-314 (2010).

(4)       Hu, K. N.; Qiang, W.; Tycko, R. J. Biomol. NMR. 50, 267-276 (2011).


(updated 12/2013)

Professor Mei Hong
Department of Chemistry
0219 Hach Hall, Iowa State University
Ames, Iowa 50011-3111
Tel: 515-294-3521
Fax: 515-294-0105

Please send comments or suggestions about the website to:          

Visitor counter (since June 2013):