Sparky is the most popular NMR analysis tool for biomolecules for more than a decade. NMRFAM has taken over the original Sparky from UCSF for the continuous development to implement advances in biomolecular NMR field. Thanks to the generous allowance of Tom Goddard and Tom Ferrin from UCSF, NMRFAM is official center for developing, maintaining and distributing the new version of Sparky that we call it NMRFAM-SPARKY.



SPARKY (https://www.cgl.ucsf.edu/home/sparky) remains the most popular computer program for NMR operations, such as peak-picking and peak assignment, despite that fact that its originators have not released a new version since 2001 (Goddard & Kneller, SPARKY 3).

SPARKY supports user-defined enhancements, and we have used these to develop new tools in support of our packages for automated protein assignment and structure determination.

The added features support

(1) interfacing with servers offering new technologies,

(2) tools for data visualization and verification, and

(3) new protocols for maximizing the efficiency of NMR data analysis.

We have refined these SPARKY enhancements through their use in our annual workshops by participants with varying experience in protein NMR spectroscopy. We describe here the new package, which we have named “NMRFAM-SPARKY”.


NMRFAM-SPARKY Available for Download

The following distributions have been created for download. NMRFAM-SPARKY is not required to be explicitly installed on the host operating system. To run the program, simply unpack the binary, navigate to the bin directory where the Sparky launch script is present, and execute the launch script.

Platform Binary Archive Format Launch Script
Windows XP/Vista/7/8 nmrfam-sparky-win32.zip Zip bin/sparky.bat
Linux 32/64 bit nmrfam-sparky-linux.tar.gz gzip tar file bin/sparky
Mac OS X (10.7 or newer) 
nmrfam-sparky-mac.tar.gz gzip tar file NMRFAM-SPARKY.app



NMRFAM-SPARKY 1.3 powered by Sparky 3.12

  1. Sparky version = 3.12
  2. Python (bundled) version = 2.7, Tcl/Tk version = 8.6 (Win/Linux), 8.5 (Mac)
  3. NMRFAM extensions version = 1.3
Module Command Description
Automated assignment n1 >>> Automated BB and SC assignment: PINE
Open PINE web page for automatic resonance assignment.
ep Export to PINE(BMRB) input files. Generate peak list and assignment files that are readily acceptable for PINE, and open PINE web page.
Convert PINE automated assignments into Sparky ornaments. Related commands (see below) can be used to accept a probabilistic assignment as a "hard" assignment in Sparky
PINE sequence formatting. Convert various sequence formats to PINE sequence format (3-letter-code).
>>> PINE validation: PINE-SPARKY
Open PINE-SPARKY original web page for quick tutorial.
p2 Run PINE2SPARKY converter.  Automatically detect and launch PINE2SPARKY converter for PINE outputs to be imported to NMRFAM-SPARKY.
ab Assign the best by PINE. Accept all candidate assignments by PINE that are greater than a threshold probability.
pp Pine Graph Assigner. Graphically examine all assignments and probable candidates on a per residue & atom by atom basis.
pr Pine Assigner. Accept all automated assignments on a peak by peak basis.
se Select all floating labels. PINE labels are not linked to an actual peak. They can be selected by using this function to be removed.

Superfast side chain assignment

"Predict-and-confirm" method

n3 >>> Superfast assignment on-the-fly referring PACSY
dg Dummy graph. Graphically examine all assignments on a per residue & atom by atom basis without PINE runs.
ta Transfer and simulate assignments. Transfer or simulate assignments to different experiments. Simulated assignments will have "_s" tag after the assignment.
ut Untag _s. Detach "_s" tag indicating simulation generated by "ta" two-letter command.
cu Center and Untag _s. Move a peak to the local maximum and detach "_s" tag.
mt Merge two assignments to a pseudoatom. When two probable pseudo-assigned peaks are at the same position, drop a last numeric character from one assignment while the other is selected to delete.
E1 SHIFTX2 from Wishart Lab. Open SHIFTX2 web server for chemical shift prediction.
Chemical shift validation
>>> Assignment outlier detection and correction of errors in referencing: LACS
Run LACS validation. Submit a LACS chemical shift validation to detect outliers and possible error corrections.
>>> Assessment of the reliability of chemical shift assignments: ARECA
Export to ARECA input files. Generate ARECA input files and open ARECA web page to assess chemical shift assignment quality by NOESY peak lists.
ARECA list. Sort of peak list handling ARECA output for estimating your assignment confidence.

Structure calculation


Cyana Import/Export

n4 >>> Automated structure calculation: PONDEROSA
Open PONDEROSA-C/S web page
Calculate 3D structure by PONDEROSA.  Identify NOE peaks and submit a calculation to the Ponderosa Server with PONDEROSA-X refinement option. Ponderosa Client is not necessary to run this function.
cp Run Ponderosa Client. Automatically detect and launch Ponderosa Client for fully automated  NOE assignment, torsion angle prediction, structure calculation and refinement.
up Update Ponderosa. Open a connection window for validating PONDEROSA-C/S outputs
  • User can set NOESY spectra to update the view position regarding to Distance Constraint Validator and Angle Constraint Validator from Ponderosa Analyzer program interactively.
  • Supports 13C-edited NOESY (both aliphatic and aromatic) and 15N-edited NOESY.

Generate Distance Constraints / Whitelists for PONDEROSA. Open a dialog to select NOESY spectra to generate distance constraints in .upl and .lol format. These files can be used by both PONDEROSA and CYANA. Close residue contact information will be saved as whitelists (.wlt) format acceptable for PONDEROSA.

Module for conversions of chemical shifts list and peak lists between Sparky and the structure analysis program Cyana. This module extends the original xeasy (xe) command of the original Sparky distribution by adding import functionality and conversion between pseudoatom nomenclatures used by Cyana and standard IUPAC conventions.
cy Cyana2Sparky format. Imports a Cyana peak list (XEASY format) into Sparky. Conversion between
Cyana pseudoatom nomenclatures and standard IUPAC nomenclatures is automatically performed.
* Under NMRFAM -> Automated structure calculation
xe XEASY, CYANA format. Export NOESY peak lists to Xeasy format with optional Cyana header and conversion of IUPAC pseudoatom nomenclatures to Cyana-compatible names. Checkbox can be used to turn on/off Cyana-specific formatting and nomenclature substitution.
Manual restraint format. Create distance restraints in Xplor/Cyana/Ponderosa format.
Extract phi-psi and accessible surface info from PDB by STRIDE. Open STRIDE web server for PDB structural analysis.
Structure prediction
n5 >>> Structural predictions
n6 Run PECAN 2D structure prediction. Generate PECAN input file and run PECAN web server to receive secondary structure prediction.
2D structure prediction with GetSBY. Run GetSBY 2D structure prediction. GetSBY is based on quantification of PACSY DB.
Secondary chemical shift analysis. Compare secondary chemical shifts by referencing coil chemical shifts from PACSY DB.
Export to PACSY-ALIGN and PACSY-ALIGN web server. Generate NMR-STAR 3.1 file and open PACSY-ALIGN web page to find similar proteins and generate NOESY assignments.
ce CS-Rosetta 3D structure prediction. Generate CS-Rosetta input file (TALOS format) and open CS-Rosetta web service page powered by HTCondor (BMRB).
phi-psi prediction with TALOS-N (NIH). Generate TALOS input file and open TALOS-N web service page supported by NIH for torsion angle prediction.
PP Secondary structure prediction with PSIPRED (UCL). Open PSIPRED web server.
Large protein analysis
>>> SCAssign from Yang Lab for large proteins 
Sidechain assignment with 4D-NOESY and CCH-TOCSY.  Run SCAssign extension developed from Prof. Yang Daiwen's group at NUS. Instructions can be found at [here]
Disordered protein analysis
>>> ncIDP-assign from Mulder Lab for IDP proteins
RS ncIDP Repositioner. Reposition assigned stretch of protein sequence using ncIDP chemical shift statistics.
SG ncIDP Spin Graph. Generate resonance and peak assignments for IDP proteins using sequence and peak lists for several spectra.
Perturbation analysis
Assign N-HSQC arbitrarily. In many case you do perturbation study, assignments are required. This function generates assignments starting from residue number 1. They can be copied to the other N-HSQC sets by ornament copy function (two-letter-code: "oc" and "op")
NMR Perturbation Plot. This function is for comparing global dynamic properties of two spectra including chemical shifts, intensities, line widths, volumes, et al. This requires matching assignments on both spectra.
NMR Titration Plot. This function is for comparing local dynamic properties of multiple spectra. This works for chemical shift titration depending on user settings.
rh Relaxation peak heights. This function is enhanced from original Sparky. If peaks are assigned, they will be sorted by sequence indices. New plotting program is adapted in the curve fit window.
Easy overlay dialog. Open an easy overlay dialog that allows user can set overlaid views by mostly mouse clicks very efficiently.
Easy contour dialog. Open an easy contour dialog that allows user can set contour settings of multiple spectra by mostly mouse clicks very eficiently.
Nucleic acid analysis
Export to RNA-PAIRS.  RNA-PAIRS (RNA Probabilistic Assignment of Imino Resonance Shifts) is a web server assigning chemical shifts of RNA imino groups. This feature exports users to select two spectra (N-HSQC and HH-NOESY) for RNA-PAIRS into user selected directory and opens RNA-PAIRS web page for submission.
Show statistical ellipses for RNA analysis. Draw ellipses on RNA spectrum to guide chemical shift assignment and analysis of nucleic acids.
Dummy graph for nucleic acids. Open an interactive window visualizing assignments and atomic structures of nucleic acids.
Drag and copy to open multiple spectra.  Drag and copy in the file manager (Explorer, Finder, Nautilus), and paste in the window to open multiple spectra at once.
ae Backbone peak picking by APES. Open a dialog for an advanced peak picking for backbone spectra.
Check protein assignment nomenclature. Open a dialog for checking and fixing nomenclature errors.
rn Renumber sequence indices. Batch sequence renumbering by setting new first index of the sequence. Type "dr" before and after this function is necessary to remove unused resonances.
1D inspector. Plot 1D slice of selected integrated peaks in NDP-Plot.
ns Convert NMR-STAR 3.1 to SPARKY. Convert NMR-STAR 3.1 formatted chemical shift file from BMRB to SPARKY resonance list file.
Generate NMR-STAR 3.1 file. Generate NMR-STAR 3.1 formatted chemical shift file from current chemical shift assignments.
er Convert XEASY prot to SPARKY. Convert XEASY prot chemical shift file to SPARKY resonance list file.
Pu Run easy_pipe2ucsf. Execute a batch program to convert multiple NMRPIPE files to SPARKY files.
Bu Run easy_bruk2ucsf. Execute a batch program to convert multiple Bruker 2rr files to SPARKY files.
RD Change SPARKYHOME. Save SPARKYHOME variable as sparkyhome.cfg in the user directory. The file is read when NMRFAM-SPARKY is booted to set the root directory for Project, Save and Spectra sub-directories.
NMR Exchange Format
Export sequence only. Export sequence to NEF format.
Export sequence and chemical shifts. Export sequence and chemical shifts to NEF format.
i1 Convert NEF sequence to .seq file. Extract sequence from NEF and create 3-letter-code format.
Convert NEF chemical shifts to Sparky resonance list. Extract chemical shifts from NEF and create Sparky resonance list file to read in by two-letter-code "rl".
HC Peaks hc Modifications to original Sparky extension that places peak markers on a 2D 1H-13C HSQC spectrum using assigned resonances.
  • Added explanation to dialog explaining that the dialog is for creating & labeling peaks on a 2D 1H-13C HSQC.
  • Adds labels on peaks (instead of just 'x')
Strip Plot sp Modifications to original Sparky extension dialog for creating strip plots.
  • Provides option to append name of spectrum to label in bottom of peak strip dialog. This change also widens strip width to fit longer label name (generally desirable but problematic when number of strips is large). This option can be turned on/off from strip plot setup menu (ss).
  • Appended atom name (of horizontal dimension) to label in addition to the residue number.
Select by heights
Select bigger peaks than currently selected peak in the spectrum.
Select smaller peaks than currently selected peak in the spectrum.
Select bigger same signed peaks than currently selected peak in the spectrum.
Select smaller same signed peaks with same sign than currently selected peak in the spectrum.

Treatment of Non Standard Pseudoatom Nomenclatures

In order to both assist and enable IUPAC nomenclatures for atoms to be consistently used within Sparky when using the structure calculation program CYANA, NMRFAM made the following changes to Sparky extensions:

  1. Any valid IUPAC names missing from the 'atomnames.py' file were added to its data structures. This enables all peaks with pseudoatom conventions to be transferred to a 2D 1H-13C HSQC spectrum using the 'hc' command.
  2. Upon export from Sparky to Cyana, IUPAC atom names are replaced with Cyana-compatible names "on-the-fly".
  3. Upon import to Sparky from Cyana, all non-standard atom names are replaced with their IUPAC convention
IUPAC Amino Acid(s) Cyana Ponderosa
QG Ile QG1 HG1
MG Ile,Thr QG2 HG2
MG1 Val QG1 HG1
MG2 Val QG2 HG2
QD Asn QD2 HD2
MD Ile QD1 HD1
MD1 Leu QD1 HD1
MD2 Leu QD2 HD2
QE Gln QE2 HE2





  • NMRFAM-SPARKY citation:

Bioinformatics. 2015 Apr 15; 31(8):1325-7. Epub 2014 Dec 12
NMRFAM-SPARKY: enhanced software for biomolecular NMR spectroscopy.

Lee W, Tonelli M, Markley JL

  • PINE-SPARKY citation

Bioinformatics. 2009 Aug 15;25(16):2085-7. Epub 2009 Jun 3.
PINE-SPARKY: graphical interface for evaluating automated probabilistic peak assignments in protein NMR spectroscopy.

Lee W, Westler WM, Bahrami A, Eghbalnia HR, Markley JL.

  • PACSY citation

J Biomol NMR. 2012 Oct;54(2):169-79
PACSY, a relational database management system for protein structure and chemical shift analysis.
Lee W, Yu W, Kim S, Chang I, Lee W, Markley JL.

  • PINE citation

PLoS Comput Biol. 2009 Mar;5(3):e1000307.
Probabilistic interaction network of evidence algorithm and its application to complete labeling of peak lists from protein NMR spectroscopy.
Bahrami A, Assadi AH, Markley JL, Eghbalnia HR.

  • PECAN citation

J Biomol NMR. 2005 May;32(1):71-81.
Protein energetic conformational analysis from NMR chemical shifts (PECAN) and its use in determining secondary structural elements.
Eghbalnia HR1, Wang L, Bahrami A, Assadi A, Markley JL.

  • PONDEROSA citation

J Biomol NMR. 2014 Sep 5.
PONDEROSA-C/S: client-server based software package for automated protein 3D structure determination.
Lee W, Stark JL, Markley JL.

Bioinformatics. 2011 Jun 15;27(12):1727-8.
PONDEROSA, an automated 3D-NOESY peak picking program, enables automated protein structure determination.
Lee W, Kim JH, Westler WM, Markley JL.

  • APES citataion

Expert Rev Proteomics. 2008 Aug;5(4):589-601.
Structural proteomics by NMR spectroscopy.
Shin J, Lee W, Lee W.

  •  GetSBY citation

Lee W, Lee W. Method to predict protein secondary structure using NMR spectroscopy. The Korean Intellectual Property Office. 2009 Mar 16. Reg. No.: 1008899400000

Expert Rev Proteomics. 2008 Aug;5(4):589-601.
Structural proteomics by NMR spectroscopy.
Shin J, Lee W, Lee W.

  • SPARKY 3 citation

Goddard TD & Kneller DG (2008) SPARKY 3. University of California, San Francisco.

  • SHIFTX2 citation

J Biomol NMR. 2011 May;50(1):43-57
SHIFTX2: significantly improved protein chemical shift prediction.
Han B, Liu Y, Ginzinger SW, Wishart DS.

  • STRIDE citataion

Nucleic Acids Res. 2004 Jul 1;32(Web Server issue):W500-2.
STRIDE: a web server for secondary structure assignment from known atomic coordinates of proteins.
Heinig M, Frishman D.

  • TALOS-N citation

J Biomol NMR. 2013 Jul;56(3):227-41.
Protein backbone and sidechain torsion angles predicted from NMR chemical shifts using artificial neural networks.
Shen Y, Bax A.

  • CS-Rosetta citation

Proc Natl Acad Sci U S A. 2008 Mar 25;105(12):4685-90.
Consistent blind protein structure generation from NMR chemical shift data.
Shen Y, Lange O, Delaglio F, Rossi P, Aramini JM, Liu G, Eletsky A, Wu Y, Singarapu KK, Lemak A, Ignatchenko A, Arrowsmith CH, Szyperski T, Montelione GT, Baker D, Bax A.

  • PSIPRED citation

J Mol Biol. 1999 Sep 17;292(2):195-202.
Protein secondary structure prediction based on position-specific scoring matrices.
Jones DT.

  • SCAssign citation

Bioinformatics. 2006 Nov 15;22(22):2833-4.
SCAssign: a sparky extension for the NMR resonance assignment of aliphatic side-chains of uniformly 13C,15N-labeled large proteins.
Zhang L, Yang D.

  • ncIDP-assign citation

Bioinformatics. 2011 Apr 1;27(7):1039-40.
ncIDP-assign: a SPARKY extension for the effective NMR assignment of intrinsically disordered proteins.
Tamiola K, Mulder FA.

  • RNA statistical ellipses citation

Nucleic Acids Res. 2013 Oct;41(18):e172.
Automated and assisted RNA resonance assignment using NMR chemical shift statistics.
Aeschbacher T, Schmidt E, Blatter M, Maris C, Duss O, Allain FH, Güntert P, Schubert M.


As Sparky accepts additional plug-ins written in Python, we are happy to include your contributions in the next version of NMRFAM-SPARKY.

Please contact Dr. Woonghee Lee (whlee@nmrfam.wisc.edu) for details.