You are here: Home V2 Software Software CcpNmr Analysis V2

CcpNmr Analysis V2

Download and installation:

Download AnalysisAssign, Version 3.0.1

Download V2.5 of the CcpNmr software suite from our V2.5 download page.

Analysis is open source but for-profit users require a subscription with CCPN.


The in-program documentation that describes the use of all the popup and other graphical elements is at

High level documentation and tutorials can be found on the CCPN Wiki.

Further tutorials can be found on this site here.

About CcpNmr Analysis

CcpNmr Analysis is a graphics-based interactive NMR spectrum visualisation, resonance assignment and data analysis program. CcpNmr Analysis can be considered a platform for almost all the NMR data described by the CCPN data model and a place from which to interact with connected non-CCPN programs, for example those integrated in the Extend-NMR project. CcpNmr Analysis currently provides:

Actively support & software updates

The software is actively supported by the CCPN development team and a large international user community. Software updates are made available on a regular basis and can be installed automatically from within the software.

Multiple format data import

Spectra can be read from multiple data formats including Bruker, Agilent/Varian, NMRPipe, NMRView, UCSF (Sparky), Felix & AZARA. Imports of textual NMR data formats, for example for peaks, restraints and chemical shifts, occur via the Format Converter

N-dimensional spectrum display Spectra with between one and five dimensions may be used within the software. Multiple navigation options are available to move between equivalent locations in different spectra and between table entries, e.g. for peaks or resonances, to spectrum locations.
Spectrum print output All spectrum displays may be output to PostScript or PDF format documents.
Comprehensive molecular descriptions The software can deal with virtually any kind of molecular system, from large bio-polymer molecules to arbitrary small compounds including multimeric complexes, conjugated moieties and unusual residue types.
Isotope labelling patterns
Comprehensive support is provided for specialised isotope labelling patterns. The software comes with a number of standard schemes, but the user can describe custom labellings and mixed samples. Isotopic incorporation is then used to guide resonance assignments, peak prediction and distance restraint generation.
Experiment type descriptions A comprehensive library of NMR experiment types allows the generation of a large variety of synthetic/idealised peak lists and guides various assignment sanity checks.
Resonance assignment All N-dimensional spectrum displays posses a peak to resonance assignment interface that supports ambiguous assignments and various kinds of partial annotation, reflecting the current state of knowledge.
Assignment quality control All assignments the user makes are sanity checked for obvious errors and reports may be generated to spot mistakes in a whole project.
Chemical shift titrations Situations where chemical shifts change according to a varying condition may be tracked and curve fitted in a automated manner. For example a titration where a ligand is added to a protein in increasing concentration may be used to extract Kd values.
Assessing molecular dynamics Interfaces are provided for the rapid extraction of relaxation rates, diffusion constants and hetronuclear NOE values from spectra, including support for pseudo-3D data sets.
Automated and semi-automated protein sequence assignment Interfaces are provided to quickly and robustly assign protein sequences using 3D triple resonance and 3D HN-H spectra.
Interactive analysis of NOE assignments Semi-automated tools are provided to enable the user to rapidly asses the state of assignment contributions to NOE peaks based on chemical shift and structural data.
Structure restraint generation An interface is provided to generate distance restraints from NOE peak lists. Chemical shift matching to generate potentially ambiguous restraints and filtering according to isotopic labelling patterns are supported. Dihedral angle restraints may generated using chemical shifts (via the program DANGLE) and by ising 3J HN-HA scalar couplings.
Structure validation The quality of macromolecule structures may be assessed using the comprehensive CING suite which is available as a web service. Analyses of missing and unexplained NOE peaks, given a structure, are performed using RPF. The software also generates violation lists for distance and dihedral restrains.
Interfaces to external software Interfaces are exposed to tightly coupled software which includes: ARIA, CYANA & ISD for structure calculation, HADDOCK for calculating structural complexes, PALES and MODULE for RDC analysis, CING and RPF for structural validation
Charts and graphs Several charts and graphs are available which are directly driven from the current project data including: chemical shift charts, secondary structure evidence plots, assignment connectivity plots, NOE matrices and Ramachandran plots.
Python access The whole program suite is accessible via a Python programming interface and may be extended by writhing Python 'macro' scripts.


CcpNmr Analysis was primarily written by Wayne Boucher and Tim Stevens at the University of Cambridge. Most of the computer code for Analysis is written in Python. Only speed-critical functions are performed by code written in the fast, compiled language C. Such C functions include the calculation of contours and mathematically intensive algorithms. The Python part of the program consists of a series of integrated graphical windows (“Popups”) and an underlying layer of Python library functions. The graphical elements allow the user to enter information and to view the status of the data, while the library functions manipulate the CCPN data model objects to record the scientific information.

CcpNmr Analysis has its own CCPN data model package, which means it uses CCPN technology to create a program-specific part of the Python API and thus allows program information (colours, window positions etc.) to be recorded and stored as XML files.


At the start of the CCPN project the requirement was for an NMR data analysis program that used a modern graphical user interface and could run on many types of computer. It would be supported and maintained by CCPN and would allow modification and extension, including for new NMR techniques. The first version of Analysis was released in 2005. Analysis is built directly on the CCPN data model and its design is partly inspired by the older ANSIG[1]. and SPARKY[2] programs, but it has continued to develop from the suggestions, requirements and computational contributions of its user community. Analysis is freely available to academic and non-profit institutions. Commercial users are required to subscribe to CCPN for a moderate fee.

CcpNmr Analysis Screenshot

A screen-shot of CcpNmr Analysis version 2.

Main Program Concepts

If you’ve not seen this documentation before you may want to know what it’s all about, so here are some highlights of the CcpNmr Analysis software.

Spectrum Windows

An Analysis project may contain an almost limitless number of spectrum windows. The windows are are inherently N-dimensional with scrollbars for not only the screen dimensions but also for orthogonal planes, with the ability to select any plane thickness. A window can be divided into several strips for easy comparison of different regions of spectra. Many spectra may be superimposed in the same window where their contours and peaks are readily toggled on or off. Navigation is achieved by using the mouse or keyboard and there are inbuilt navigation functions to easily find orthogonal planes and return-peak positions etc. Many functions may be applied to crosspeaks directly from the window menu. For example peaks may be assigned, deleted, unaliased and shift matched. Several of these functions can be used on several peaks at once to improve user efficiency. For example, columns of NOE peaks derived from the same amide resonances may be assigned to this amide at the same time.


Polymer chains and small molecules are readily put into NMR projects. Sequences may be imported from file or entered directly by the user and from this Analysis will build the molecules with all of their NMR assignable atoms. Many molecules of different types can be included and may be connected together into chains. For example, a GIP-anchored glycoprotein may be constructed by joining protein, sugar and lipid components. By using data provided by the PDBe group at the EBI, CcpNmr software has access to a large number small molecule templates - those that have appeared in PDB structures.


Virtually all of the information within a project is available to the user via a graphical interface (and a Python shell should you be brave enough to use it) and much of the commonly used information is presented in tabular form. These tables are used to display peak lists, chemical shifts, constraints, coordinates, spectrum configuration and the like. To allow the user to change information (peak position, contour colour, experiment name to name only a few...) they often have editable columns. The rows of the table may be sorted on any of the column types, may be filtered according to a search expression and may be selected (often several at once) to apply specific functions. Also, the data in a table may be exported to a text file, output as PostScript and if numerical may be plotted in a graph.

Resonance Assignment

Assignment in CcpNmr software is a two-step process proceeding via an intermediate Resonance object. This allows the user to represent anonymous but connected assignment states, and allows atomic assignment to be made to several peaks at once. Most crosspeak assignment is made by the user choosing a resonance (which need not be assigned to specific atoms) from a curated/ranked list. The choice is made with a single click (and is readily reversible) from a list of possibilities that are close in chemical shift. Structural information can also be used in assignment. Here through-space linked resonances may be ranked according to their distance in an intermediate structure.

Assignment of resonances to specific atoms is achieved by selecting the atom on a display showing the well-curated molecular information. This needs to be done only once for each resonance as all peaks which correspond to the same resonance will automatically share the atom information. A resonance may be assigned, where appropriate, in a stereospecific or non-stereospecific manner. For example, it is possible to say that two peaks represent two different hydrogen beta atoms in a residue, with different chemical shifts, but without necessarily specifying the stereochemical arrangement of the two atoms.

There are many tools designed to expedite the resonance assignment process, including using root resonance locations (e.g. amide) to direct peak picking and assignment in higher dimensionality spectra, automated matching of peak positions for sequential protein backbone assignment and chemical shift plus structure based filtering of NOE/through-space assignment possibilities.

Structure Generation

Analysis can be used to generate distance and dihedral angle restraints for structure generation. Distance restraints may be generated from assigned NOESY peaks, or may be created by performing shift matching on unassigned peaks. The potentially ambiguous constraints thus output may then be used by programs, such as ARIA, which are able to take input data from a CCPN project and write the results back. The violations that result from a structure generation cycle may be imported into Analysis, from where the user can readily follow a link to the peaks which were used in the generation of the violated constraint. Connections to the CING software allow easy validation of macromolecular structures.

Data Analyses

Analysis has specialist tools to extract relaxation rates, chemical shift changes, kinetic parameters, scalar couplings etc. These are designed to make such tasks in NMR less tedious, and the program aims to automate as much of the simple parts of the processes as possible. For example when following chemical shift changes in titration experiments Analysis automatically tracks the trajectories of shifting peaks so that the titration points can be considered as an analytic group. The program also goes on to fit equation curves to the data and extrct the relevant paremeters.

Reference Information

All the CcpNmr programs have access to a library of reference information. This includes chemical compound descriptions, chemical shift distributions, isotope information, idealised residue coordinates etc. This is often used implicitly within Analysis, so that the user doesn’t have to worry about how to get hold of such information. Some of the data is visualised where it can be helpful. For example, chemical shift distributions during assignment.



[1] P.J. Kraulis, “ANSIG: A Program for the Assignment of Protein 1H 2D NMR spectra by Interactive Graphics” (1989) J. Magn. Reson 24, pp 627-633
[2] T.D. Goddard and D.G. Kneller, SPARKY 3, University of California, San Francisco