Personal tools
You are here: Home Software CcpNmr Analysis Tutorials Protein Structure Calculation Workshop Protein Structure Calculation With CcpNmr Analysis
Document Actions

Protein Structure Calculation With CcpNmr Analysis

by Tim Stevens last modified 2010-08-19 17:31

A short tutorial script to introduce the use of CCPN software in the process of protein structure calculation.

Analysis Tutorial Data

For this tutorial you will need the example spectra and project files in this archive (185 MB total size; 322 Mb unpacked):

CcpnStructCourse.tgz

These CCPN projects have molecular information and full resonance assignments but not all spectra have been included (backbone spectra & HCCH TOCSYs for example). Obviously, a lot of work has gone into the resonance assignments but that is beyond the scope of this tutorial.

Keys, Commands & Abbreviations


Mouse functions

Mouse Button + Keys Function
Left Select peak
Left + Shift Select peaks in region
(additive)
Left + Control Pick peak
Left + Shift + ControlPick peaks in region
Middle Drag canvas
Middle + Shift Zoom (with up/down)
Right Options menu
Mouse wheel
Zoom

Keyboard shortcuts

KeyFunction
Cursor
(Arrow)
Pan in window
PgUpZoom Out
PgDnZoom In
DelDelete Selected peaks
F1-F12Toggle spectrum
a Assign peak
h Add horizontal ruler
m Mark cursor position
n
Remove marks & rulers
p Move selected peak
v Add vertical ruler

Document Abbreviations

Abbreviation
Meaning
M:n1
A top-level menu named "n1", accessed from the main Analysis menu
M:n1:n2
A sub-menu item "n2" accessed from top-level menu "n1"
R:n3
A menu item "n3" accessed from a spectrum window with a right mouse click
<Return>
The Return key
 {title} A tab named 'title'
[command]
A button named "command"
text[]
A text entry box named "text"
->
OS command line prompt
>>>
Python shell line prompt

Opening an NOE spectrum

Open an existing project

Start CcpNmr Analysis on the command line by typing:
-> analysis

(This assumes that the CCPN bin/ directory is on your path, otherwise you will need to type the full path or be in the bin/ directory.)

When the Analysis menu bar has appeared select M:Project:Open Project.  Navigate to find and then select the CcpnStructCourseA project (the directory initially will be in green and then when you have selected it in deep purple). Then click [Open].

You might get a warning that various files have moved location.  You might also get a dialog with a list of spectra paths (because those also have moved location).  If the paths are all in grey then just click the "All Done!" button at the bottom.  If any path is in red then Analysis cannot find the corresponding spectrum data file, so either you need to tell Analysis where it is (by double clicking the path cell and navigating to the correct location) or accept that that particular spectrum will not have its contours displayed.

Now save the new project by selecting M:Project:Save. The first time you save a project that has moved locations the SaveAs dialog is brought up.  At this point you can choose to change the project name and/or the location where the project directory will be saved.  For now just hit the "Save" button.

After this first save, M:Project:Save will just automatically save to the existing location.  M:Project:SaveAs will let you save your project with another name, or in another location, but will still have the directory name the same as the project name.

It is a good idea to save now and again in case something goes wrong (either with your work or with the code).

This project has three spectrum windows and two of these, "window1" and "window2" will be open at the start.  The first is a two-dimensional window with an HSQC spectrum in it, and the second is a three-dimensional window with an 15N HSQC-TOCSY spectrum displayed.


Opening Spectra from File

To open a new spectrum go to M:Experiment:Open Spectra. In the resultant Open Spectra popup navigate to the CcpnStructCourse/spectra/ directory and select 182.spc.par (the other files are the spectra that are already open).  You can open up more than one spectrum at one time, but there we will just open one.

If necessary enlarge the popup (click and drag the bottom edge down) so that you can see the entry in the bottom table. This table is a list of how the selected spectra will be placed into the CCPN data structure. Each file will be associated with an experiment and a spectrum that are in turn linked to a shift list. For the most part each experiment carries only one spectrum, as will be the case in this tutorial. However, it is possible to have one experiment with several spectra, e.g. when they are processed differently. All the spectra will use the same shift list, as the experimental conditions are the same, so leave that field alone.

Enter a name for the selected experiment by double clicking on the experiment name cell, "Expt_4", and changing the name to "N-NOESY" or similar, and then pressing <Return> or clicking outside the box. The spectrum name could also be altered, but this is not necessary here and the spectrum name being inherited from the spectrum file ("182.spc") is informative.

Note that the file format option at the top op the popup is set to "Azara", which is correct for the files we will open. If the spectra were stored in a different format (Bruker, Felix, NMRPipe, NMRView, UCSF, Varian or Factorised) this option would have to be altered. Finally click [Open Spectrum].

Now file and referencing verification dialogues will appear. Again, enlarge the popup so you can see the entire table. The {Verify Referencing} tab will be open - it shows the parameters you normally need to look at. The {Verify File Details} tab lets you edit where and how the file is stored, but this its not normally needed. Click [Commit] on the button at the top of the popup (from either tab) to continue.

Note that you may skip all the verification steps, if you know your parameters to be correct, by selecting the "Skip verification dialogs" option before you click [Open Spectra]. You can change almost all the spectrum referencing and file parameters at a later time should you need to make adjustments, via M:Experiment:Spectra. The only thing that you cannot change after a spectrum is loaded are its primary axes; in terms of number and which isotopes they refer to.

Setting Experiment Types

After the verification there is one final popup where you specify the types of the experiment that was run. This information is very useful later on; for example Analysis uses the knowledge of which experimental dimensions correspond to single bond transfers to automatically remove impossible assignment options.

Set the synonym for the new experiment to "15N HSQC-NOESY". Note that for this experiment there are two different full types with the same synonym (double click the Full Type column). So the "15N HSQC-NOESY" could be either H_H[N].NOESY  or H[N]_H.NOESY, with the difference being that the NOESY transfer can come either  before or after the HSQC step. For our experiment the selection H_H[N].NOESY is correct. When the experiment type is set click [Done] at the top right or [Close - All Done] at the bottom. You may have to expand the popup to see the [Done] button. After a few moments you will hopefully see the newly loaded spectrum appear. You can now also close the Open Spectra popup.


Basic Peak Picking & NOE Assignment


Window Components and Views

Once the new spectrum has loaded it will automatically appear in "window2". This is a three-dimensional window with "1H" along the x and y axes and "15N" along the z axis.  A new window is created like this only if no existing window matches in isotopes.

Note that if you minimise or close a window you can get it back again by going to M:Windows:HN: window2 (or equivalent).

You can move around the spectra within the windows using several different inputs. To zoom in and out use the <PgUp> and <PgDn> keys, the middle mouse wheel (if you have one), or hold <Shift>, click the middle mouse button, and move the mouse up and down.  If you zoom out from your spectra so that you can see their edge you will notice a dotted line which denotes their border.

You cannot zoom out further than the maximum size allowed in each dimension.  To change this size open up M:Window:Axes and select the Axis Types tab (if it is not already selected).  Each Axis Type has a Region, which can be edited by double clicking on the relevant cell.

To pan around the spectra you can click and drag the scrollbars at the edges of the windows, use the arrow keys, or click and drag on the spectra with the middle mouse button.

Looking in "window2" move the extra scrollbar at the very bottom of the window. - Left click and drag. This scrollbar is present on the 3D window to change the depth or plane of the spectra being viewed. On a 4D window there would be yet another scrollbar. To change the thickness of the displayed planes click and drag the side of the depth slider with the middle mouse button.

Staying in window2, click on "Spectra" at the top of the window. Here you will see two coloured buttons, one for each of the 3D spectra. If you click the buttons you can independently toggle the contour displays for the two spectra on and off.


Setting Contours

To change contour settings click on the "Contours" button at the top of a window.  This lets you do simple adjustments.  The green arrows will raise or lower the contouring floor, while the +1/-1 will change the number of contours.  The "Pos/Neg" button allows you to swap between showing just positive or just negative or both contour levels. Note that using these contour options only changes the spectra that are visible at the time within the window. If you click on the "More.." button you will bring up a more detailed contour level setting dialog.


Peak Picking and Manipulation

Focusing on the newly loaded N-NOESY spectrum the next task is to define some contour extrema as peaks. Note that peaks will be picked for all spectra that have their peaks displayed in the window. You can avoid that by turning off display of the spectrum (in [Spectra]) or peaks (in [Peaks]). There are two common ways to pick peaks. One is to search for all extrema in a boxed region. Try this in "window2" for the new spectrum by holding down <Shift> and <Ctrl> whilst clicking with the left mouse button and dragging the box to define a rectangular pick region. If a peak is not easily picked in the 3D spectrum, it is possible that the current Z range (depth) of the window view does actually cover the peak center. This is easily adjusted by using the bottom-most depth scrollbar.

Note that when the peaks are picked the contours will carry diagonal crosses to denote the peak position.  Each peak will also have some annotation to the top right of the cross, which we discuss below.

Locate a point where the contours represent two overlapping peaks where the extrema search will only pick one of the two underlying signals. To define the second peak position hold down <Ctrl> and click on the location to pick the new peak, although the user should be careful to ensure that the current Z (depth) position is correct. The R:Locate Peaks:Center z planes on peak menu option can be helpful to bring an existing peak to the centre of the depth view. Also, it should be noted that manually adding a peak at a specific position, i.e. not looking for signal extrema, will add in all visible spectra. Hence, if you wish to pick in only one spectrum, all other spectra should be toggled off.

Now we will select some of the peaks, e.g. artefacts or noise, for deletion. To delete peaks click with the left mouse button and drag a box over a region containing peak crosses (without holding down any keys). When the mouse button is released you will see that the peaks in the defined region are highlighted with a border around the cross. To select just a single peak click near its centre with the left mouse button. To delete the selected peaks press <Del> or select R:Peak:Delete selected.

If you have peaks selected and then select a different set of peaks you will see that the selection is completely substituted for a new one. You can add to an existing peak selection by holding <Shift> while you choose. Note that you can select peaks in several different spectra, and from different windows, in this manner.


Markers and Navigation

Pick and select an isolated peak in the HSQC spectrum (window1). Put a mark through it by holding the cursor over the peak centre and pressing <m>. The lines produced are a multi-dimensional marker at the peak position and will be visible at the equivalent 1H-15N location in the 3D window. To go to this equivalent position in window2, with the cursor over the marked peak select R:Navigate:1H - 15N in window2. Note that window3 has HHN axes and thus has two navigation options, where the second option would take you to the 1H position on the vertical axis, rather than the horizontal axis, which represents the amide proton.

Multi-dimensional marks, vertical ruler lines and horizontal ruler lines can be added to any window location, not just on peaks, using the <m>, <v> and <h> keys respectively. To increase the number of marks and rulers that can be displayed at one time select M:Window:Marks and Rulers or R:Markers:Options. Note that you can clear all marks and rulers with the <n> key.


Strips and Strip Navigation

Now we will start to manipulate "strips" which are sub-divisions of a window that are connected (in terms of their view) in one of the screen dimensions, but independent in the other dimensions. Go to window2, select the "Strips" option at the top and click [+], this will add a vertical division to the window. Click and drag with the middle mouse button to move the spectra - you will see that the vertical axes of the strips are tied together, but the horizontal axis is independent. The depth dimensions are also independent, e.g. if you move the bottom most, 15N scrollbar. Which depth dimensions are moved depends upon which strip is active. The active strip is indicated by an asterisk "*" next to its strip number and is set either by double-clicking (left mouse) within a strip or by using the strip options at the top of the window; by clicking [1] or [2] or whatever. The active strip is also the one that will be removed when the [-] button is clicked. You can rearrange the strip order, moving the selected strip with the green arrows, and swap between vertical and horizontal strips with the toggle button. To remove all the strips press the buttons with vertical and/or horizontal stripes to the right of "Clear:".

Manually locating strips at interesting positions can be tedious, but there are various options to build strips from pre-defined locations, for example using peaks. To make strips using peak locations select three (picked) peaks in the HSQC spectrum and select (using the right mouse button) R:Strip:Peak Location Strips:1H-15N in window2 (the same option is found in R:Navigate). The result is three strips located at the amide positions corresponding to the HSQC peaks.


Manual Resonance Assignment

Once we have some picked peaks we can assign those peaks to resonances. Given that we are starting from a CCPN project where the resonances have been almost fully assigned to atoms, what we need to do to the N-NOESY spectrum is link its peaks to resonances that have already been identified, and naturally are close in chemical shift to the peak position. For example we can say that a whole column of peaks in the 3D N-NOESY and an HSQC peak are derived from the same amide resonances. When we specify which atoms the resonances derive from then all of these linked peaks will automatically be assigned to those atoms.

To start an assignment choose the isolated 43Val HSQC peak at  the location 7.27, 121.7 (1H,15N). Mark the peak (<m>) and navigate to the equivalent position in the 3D N-NOESY spectrum in window2 via R:Navigate:1H - 15N in window2. Ensure the peaks along the marker in window2 are picked (<Shift> + <Ctrl> + left click and drag). Note that if you cannot pick some 3D peaks they may not have a maximum within the selected depth range. If this the case you can adjust the depth position or width.

Now assign one of the 3D peaks at the marked amide location: Press <a> with the cursor over the peak and find the Assignment Panel popup. You will see that the popup has now updated for the 3D peak and consequently there are three dimension rows. Because the peak position closely matches the chemical shift value for resonances 43ValH and 43ValN they appear in the right hand tables. We can link these existing resonances to the 3D peak by clicking on their rows in the right-hand table. When you do this the resonance annotation appears on the left hand side (and in the spectrum window) to indicate that the peak is now linked, i.e. assigned to the resonances. If there was a unique match for the second 1H dimension we could also assign it at this time, however most peaks will have a number of ambiguous options and we can let a structure generation and NOE assignment program like CYANA or ARIA resolve the full assignment.

Note that you can remove the resonance assignment in the popup by selecting a row from the left hand side and clicking [Clear Dim Contrib]. The use of the term "Dim Contrib" here reflects the fact that a given peak dimension could potentially have a contribution from multiple resonances. So for example you can could have an ambiguously assigned NOESY peak where two different pairs of close resonances contribute to the measured peak intensity.

With the 3D peak's amide dimensions fully linked we will quickly give the other 3D peaks at the same amide position the same assignment. Do this by zooming out in the window so that you can see all the peaks along the marker line, select all the peaks including the assigned one (left click & drag) then select R:Assign:Propagate assignments. This will cause the resonances assignments 43ValH and 43ValN (displayed on the spectra as " 43ValH,-,N") to be spread appropriately across all the selected peaks.


Efficient Resonance Assignment

The linking together of related peaks in different spectra by assigning them to common resonances is something that can be partially automated to speed up the assignment process. Of course you can also do this manually, as we illustrate above, if you wish. We can use the HSQC positions to define the amide locations and pick and assign related spectra based upon these "root" locations. 

The next part of the assignment process is to link resonances from the HSQC to the corresponding trains of peaks in the 3D experiments. From the menu select M:Assignment:Pick & Assign From Roots. In the Pick & Assign From Roots popup that appears ensure that window1 is selected in the Root Window pulldown menu and select window2 in the pulldown menu in the Target Windows section, and click [Add Target Window:]. Make sure that both N-TOCSY and N-NOESY are set to Active. Now take a quick look at the {Tolerances} tab and set the "Root 1H Dim1" tolerance to 0.03 ppm and the "Root 15N Dim 2" to 0.2 ppm. Check if the other parameters look OK, and go on to the {Link Peaks} tab.

You will notice that the peaks from the HSQC are listed in the table. If you click on one of the rows, window1 will centre on that peak and the location of window2  will move to the same amide frequencies. Rearrange the positions of the windows so that you can clearly see all of them, and the popup. Select a row corresponding to an HSQC peak that is not overlapped and click [Pick & Assign Root Resonances]. You will see that peaks are picked in the 3D spectra, in the box defined by the tolerances, and assigned to the amide resonances from the HSQC. You can go on to further amide positions by clicking [Next Root]. With appropriately set tolerances you may also click [Pick All & Assign Root Resonances] to process all of the amide positions. Try it. You can still use the 'Next Root' function (etc.) to loop through the peaks afterwards. Note that closely overlapping amide resonances would still have to be checked or linked by hand.

It is important when picking peaks and assigning resonances in this automated manner that noise and artifact peaks are not picked. Of course any offending peaks can be deleted afterwards, but most can be avoided by setting the picking tolerances to appropriately small values and setting the contour levels so that the noise is not visible. By default the peaks are picked only above the visible contour base level.

Now that we have linked many resonances, look in the main resonance table at M:Resonance:Resonances. You will see that all of the resonances are listed here and many operations can be performed on them. The important thing to note here is that the chemical shift of each resonance is automatically calculated from the positions of the peaks to which it is assigned. Note that a resonance assigned to only one peak will have no deviation in its shift, but those assigned to several 3D peaks will deviate as the amide peak position varies slightly. By default the chemical shift values are the average of the assigned peak positions, where each spectrum is weighted equally. However, different dimensions of different spectra can carry different shift weightings (set at M:Experiment:Spectra {Tolerances}) so that the value of a shift may be influenced more by the more precise experiments.


Making Distance Restraints

The next part of the exercise is to look at how we can use a CCPN project to get peaks lists and restraints (both dihedral and distance) that can be used in an ARIA structure calculation, and how we can pass intermediate structural information back into Analysis to help with violation analysis and NOE peak assignment.

Open an existing project

For this last section we will be using programs that are part of the Extend-NMR software collection. The Extend-NMR project has its own graphical interface, but many of its components are also available from within Analysis.  If CcpNmr Analysis is not already open, start it up on the command line by typing:

-> analysis

from the main menu select M:Project:Open Project.  Navigate to find and select the CcpnStructCourseB project, then click [Open]. This project is at the same point that we left the last project if everything went according to plan.

You might get a warning that various files have moved location.  You might also get a dialog with a list of spectra paths (because those also have moved location).  If the paths are all in grey then just click the "All Done!" button at the bottom.  If any path is in red then Analysis cannot find the corresponding spectrum data file, so either you need to tell Analysis where it is (by double clicking the path cell and navigating to the correct location) or accept that that particular spectrum will not have its contours displayed. When the project data is loaded select M:Window:window2 and a blue NOESY spectrum will hopefully appear.

To make a list of distance restraints from the assigned peaks in an NOE peak list first go to M:Structure:Make Distance Restraints. At the top of the popup, change the peak list to C-NOESY:173:1 and set the Restraint Set pulldown to "1" . We can leave all of the other parameters alone for demonstration purposes. The Restraint Distance Params section would allow us to specify how the NOE peak intensities relate to the distance bounds of any generated distance restraints. The default method is to calculate a target distance as peak volume raised to the power of -1/6 multiplied by some scaling factor, such that the reference intensity (in this case defaults to the peak list's average volume) exactly corresponds to the reference distance (in this case 3.2 Angstroms). The upper and lower bounds of the distance restraint are calculated as fractional changes from the calculated target distance (default is 20% above and below) while observing absolute minimum and maximum values for the bounds (1.72 & 8.00 Angstroms respectively by default). The {Residue Ranges} and {Chem Shift Ranges} tabs would allow you to make only restraints for specific assigned regions of your molecule or for specific shift ranges.

Making Restraints From Assigned Peaks

To calculate restraints for assigned peaks from the selected peak list simply press [Make Assigned Restraints]. After a short pause you will see the Restraints and Violations popup appear. This shows that you have one restraint set (a way of grouping related restraints and violations) containing a H-bond restraint list, which was already loaded via the FormatConverter, and list of 600+ new restraints. Click on the row of the restraint list in the central table and then click on the {Restraints} tab. Note that you can also get to this point via the M:Structure:Restraints and Violations option.

The restraints popup will appear and in its table you will see the restraints listed. Each restraint has one green-coloured row. Note some restraints also have following grey rows. These grey rows are alternative distance pairs for restraints that are ambiguous, i.e. a possible connection between two different pairs of 1H resonances. Note that such ambiguous restraints can represent logical uncertainty (before an NOE is resolved) or real physical ambiguity where a peak is caused by two or more overlapping pairs of resonances. This project has already been through one ARIA run, which is why we have so many peaks with ambiguous assignments.


Making Restraints From Unassigned Peaks

There is a second common way to generate distance restraints, which is to match the chemical shifts of resonances to NOE peak positions, thus generating potentially highly ambiguous distance restraints. Such restraints would typically be used as input for an iterative structure generation program like ARIA, where they would eventually be filtered to select only the correct contributing resonance pairs. Firstly, we could leave the matching of chemical shifts to the ARIA program by handing the program peak lists rather than restraint lists, which is what we we will demonstrate for the N-NOESY data. However, it is also possible to make such restraints in CCPN. Accordingly, the {Shift Match Tolerances} and {Network Anchoring} tabs in the M:Structure:Make Distance Restraints popup allow you to generate such distance restraints for peaks which do not have assignments. To generate distance restraints by shift matching, firstly set the peak list to "C-NOESY:173:1" click [Make Shift Match Restraints] This command uses the current settings, but {Chem Shift Ranges} and {Shift Match Tolerances} are only relevant for this command.

In the case of the shift-matching method potentially ambiguous distance restraints are generated by simply matching peak positions to close chemical shifts. In the case of network anchoring method, chemical shifts are also matched to peaks, but the ambiguous possibilities are refined by selecting only NOE assignments from amongst the possibilities that are supported by other, assigned NOEs or covalent structure. Say, for example, that a peak could arise from a number of resonance pairs. Two resonances A & B are more likely to be a correct assignment for the peak if we know that they are close to (or bound to) the same intermediary resonance, C and therefore must be close to each other.

Merging and Splitting Restraint Lists

To prepare these newly generated restraint lists for the ARIA calculation we will merge and split them in order to generate restraints that are separated into "Unambiguous"  and "Ambiguous" categories. In ARIA we do this so that the "Ambiguous" restraints and peaks follow a different protocol; they enter the calculation after the unambiguous, more certain, restraints have formed the initial structure.

In the M:Structure:Restraints and Violations:{Restraint Lists} tab, merge the two lists that derive from the C-NOESY experiment by cicking on the two relevant rows (probably numbers 2 & 3) while holding down the <Ctrl> key. Now click [Merge Lists] at the bottom and [OK]. You will see that the restraints have been combined and there is now only one list from the C-NOESY. Then for the remaining, enlarged restraint list, select its row and click [Split Ambig/Unambig]. These are now ready for input to ARIA.

Making Dihedral Restraints from Chemical Shifts

Next we will generate restraints in a different manner; dihedral restraints from backbone chemical shifts. We will be using a program called DANGLE (Dihedral ANgles from Global Likelihood Estimates) which is embedded within Analysis. DANGLE estimates dihedral angles from chemical shifts in a similar manner to TALOS; i.e. it matches a chemical shift & sequence query to a structural database of known PHI/PSI angles and chemical shifts. However, DANGLE uses a different (Bayesian) method to produce an angle estimate and tolerance, compared to TALOS. The idea is to use Bayesian inference to infer what the range of likely PHI/PSI angles might be (using the chemical shifts) by checking all PHI/PSI combinations in 10 degree square bins to see how well such angles can be used to explain the data. Such an analysis allows for the user to see uncertainties in the angle predictions, including where the chemical shift to structure mapping is redundant and there are multiple regions in the Ramachandran plot which could explain the chemical shift data.

To run DANGLE select M:Structure:DANGLE: Predict Dihedrals. Note that at the top that the Chain should be set as "GI:A", the Shift List as "ShiftList 2:2" and Max No. of Islands as 2. This simply specifies which data to use and how strict the analysis should be. Using two islands means that we will reject predictions that result in more than two discrete regions of the Ramachandran plot. To start the analysis press [Run Prediction] and accept "Run1" as the name for the job by pressing [OK] at the opportune moment. Please be aware that DANGLE will take several minutes to finish the calculation.

Once the calculation is over you will see the main table filled in with PHI and PSI backbone dihedral angle predictions and their associated error ranges. Further, if you select a row in the main table you will see a plot in Ramachandran (PHI/PSI) space of where the likely angles are deemed to be. Click on the "7 Ser" row and note that there is a lot of red colour in the chart, indicating that DANGLE was not able to make a distinct choice of PHI/PSI: you should not use such a prediction in a structure calculation. Click on the [Next] button to get to "8 Lys". The prediction for this residue is somewhat better, and you could use this in a structure calculation (it has one discrete region) although the error bounds for such a dihedral restraint would be suitably large. Click on the  "12 Glu" row. This residue has a very precise range of predicted PHI/PSI angles. Such a residue could be used in a structure calculation with a high degree of confidence and proportionately narrow error margins.

Note that DANGLE also predicts the secondary structure of the residues, but that this calculation is not made from the angles, but directly from the measured secondary structures in the shift-structure database. To make the restraints themselves set the Restraint Set to "1", which will place the PHI/PSI dihedral restraints with our existing distance restraints and press [Commit Constraints].  View the generated restraints by going to M:Structure:Restraints & Violations:{Restraints}. Note that if you have a structural model for your protein you can see how the model's angles match with the DANGLE prediction


Submitting a Structure Calculation to CCPN Grid

If for any reason you are not confident about the state of your CCPN project at this stage of the demonstration before we do a structure calculation you may like to open a pre-prepared CCPN project, which has all of the expected restraints present: In the Analysis menu bar select M:Project:Open Project then [Yes] to close the current project and [No] to not save.  Navigate to find and select the CcpnStructCourseC project, then click [Open].

To start the structure calculation using the restraints we have created we will launch a panel that is dedicated to setting up an ARIA job, which will be run remotely on the CcpnGrid service. The ARIA Setup panel is officially part of the Extend-NMR project, but we can avoid having to install all the Extend-NMR software and start it directly from Analysis by typing the following at the python prompt:

>>> top.activateAriaSetup()

The resulting panel allows us to control which data goes to the ARIA calculation from the CCPN project. For more fine-grained control you need to use the ARIA GUI; for example to change the annealing protocol.

Create a new job for ARIA to work on by pressing the green "New Run" button. This "Run" object links together all the data that goes into the same calculation. Ensuring that the {Input Data} and {Peak Lists} tabs are selected (they ought to be by default), change the pulldown menu at the bottom right to N-NOESY:182:1 and click [Add Peak List]; this will state that in this run ARIA should use this data. Now swap to the {Restraint Lists} tab and add restraint lists in a similar way: Select the list name from the pulldown menu and click [Add Restraint List]. Do this for all of the restraint lists, i.e. the H-bond, two distance and dihedral restraint lists. Now that all of the input data is set we have to tell ARIA how to run on the data.

Move to the {Run Settings} tab, found at the top. Here you can see some of the settings to control the ARIA run. In the lower table make sure that the "Ambiguous protocol?" column set to "Yes" for the "Ambig" distance restraints and "No" for the "Unambig" distance restraints. If we wanted to run the ARIA structure calculation locally (noting you will have to have a CNS executable and ARIA itself available) we can [Launch ARIA GUI], make relevant changes, save the ARIA project and then [Setup Project], which will put the ARIA data in a state that it can be run from the command line in the usual way.

For this demonstration you may run the ARIA calculation remotely using the prototype CCPN Grid service. To do this simply press the [Submit to CcpnGrid] button. For this demonstration use the user identification ''test" and the password "test123". We will not wait for the final structure calculation, which will take some time (although this protein will take less than an hour on an unloaded server), but instead we will look at a structure calculation that has already been completed, and which uses exactly the same data as you have been looking at in the CCPN project.

Via a web browser go to the page http://webapps.ccpn.ac.uk/ccpngrid/status: if you do start a grid calculation this is the page that you get to via the [Show web page] button. If asked, log on with UID: ''test" password: "test123" . Here you will see various ARIA calculations, one of which will have status "Finished" and be entitled ''CcpnStructCourse...". Click on the [Results] button for this job and look at the available data. Note  that we have the option to download an updated CCPN project which contains the newly calculated structures and a violation analysis, all of which remained linked to the NMR data in the CCPN project; so that for example we can easily jump from a violation to the offending point in the spectrum.

Importing Structure Calculation Results

You can see the CCPN project that resulted from this completed ARIA run by loading the project CcpnStructCourseD: In the menu bar select M:Project:Open Project then [Yes] to close the current project and [No] to not save.  Navigate to find and select the CcpnStructCourseD project, then click [Open]. Although we are using a pre-prepared CCPN project, to use the CCPN project that was generated by ARIA on the CCPN Grid it simply has to be downloaded. We will now have a look at the result of the structure calculation by using Analysis.

Structures

In the data that comes back from ARIA we will see that two structure ensembles have been entered into the CCPN project; one from the last ARIA iteration and one after the water refinement stage. To see the structures go to M:Structure:Structures. If you go to the {Structure Models} tab select the [Superpose & Calculate RMSDs] button at the top right and then [OK] to see how well the structural models align. To see the structure in a 3-dimensional representation for whichever is selected in the table click the [Viewer] at the top.

The controls for the structural viewer are as follows:

  • Rotate with middle-click & drag.

  • Zoom with the mouse wheel, or middle-click, <Shift> & drag.

  • Move with middle-click, <Ctrl> & drag.

The mouse right-click brings up a menu that allows you to change the display mode, spin, and print the structure. The left-click is used for atom selection. Try the atom selection by first ensuring that the N-NOESY peak list is selected at the top, click on an amide location on the structure (i.e. a blue atom) and then click [Show Peaks]. This will show a table containing all of the peaks that relate to connections from the selected atom in the structure. The numbers on the dashed lines represent the distances between the atoms.

The same sort of functionality is present in the Edit Assignment popup (M:Assignment:Assignment Panel). - If you look at the NOESY spectrum in window2, and assign a peak (by pressing <a> with the cursor over a peak), you can see assignment possibilities via the [Show On Structure] button. Also note that because we now have a structure the Edit Assignment popup will show distances between one peak assigned 1H resonance and the 1H possibilities in another peak dimension.

Referring back to the restraints popup (M:Structure:Restraints & Violations {Restraints}), set the structure pulldown menu to "2"; the structure from the ARIA/CNS water refinement. Next set the restraint list as one of the Distance lists. You will see that the "Struc Value" is now filled-in for the restraints and you are are able to select any restraint rows (using <Shift>/<Ctrl> keys) and then click [Show Selected On Structure] to illustrate graphically where on the loaded structure the restraints apply.


Restraints & Violations

In the Restraints & Violations popup (M:Structure:Restraints & Violations), choose Restraint Set "2" at the top; these are the results from the ARIA run (set 1 was the input) and choose the {Restraint Lists} tab. You will see that ARIA has generated one or more restraint list for each peak list and restraint list that was used as input data. Choose the second row labelled "ARIA_REJECT_run1_NOEs_it8", which represents the peaks/restraints that ARIA rejected, and select the {Restraints} tab. From the Structure pulldown menu at the top check that "2" is selected (the water refined ensemble) and in the Violation List pulldown menu table select "1"; you will hopefully see that many of the rows become orange/red, indicating that these restraints caused violations. If you change the Restraint List pulldown menu to a list that is not labelled as "REJECT" you will see that there are far fewer violations.

Choose a restraint row for one of the violated (red/orange) restraints and click [Show Peaks]. This will open a table containing the peak (or peaks) that gave rise to the restraint. Note that  a restraint may be linked to more than one peak, for example where there are symmetry related peaks that correspond to the same close resonance pair. In this Selected Peaks table click on the peak row and then the [Find Peak] button at the top. You will be whisked to the point in the spectra where the peak resides. From here you may choose to look at the peak assignment by using the <a> key with the mouse over the peak. You can get to the same point directly from the restraint by using the [Assign Peak] button from below the Restraints table. Note that ARIA has generated an assigned peak list, so when we look at the N-NOESY spectrum we see two, differently assigned, peak lists on top of one another. To switch off the new peak list in the spectrum window you can click on the [Peaks] button at the top and toggle the [N-NOESY:182:2] option.

Now go back to the list of restraints. Click on the heading of the "Mean Viol" column then scroll to the bottom of the table to see the largest violation. Select the last red row (probably restraint number 77) and click [Assign Peak]. In the Assignment Panel that appears/updates you will see that the original peak that was used to make the restraint does not have an assignment an the second dimension. This peak was not satisfactorily assigned during the structure calculation process, but this is not surprising given that no care was taken in generating an initial set of seed assignments; we deliberately wanted a project with lots of interesting violations. For the second "F2" peak dimension in the Assignment Panel click on the "Dist" heading (mid-right table) so that the possible assignments are presented in order of distance from the assigned amide proton. Hopefully, you will see that there are two resonances "3GluHga" and "3GluHgb", from the same residue as the amide, at 2.7 Angstroms and that the chemical shift difference to the peak position "Delta" is 0.044 PPM. These options are close enough in both chemical shift and structural distance to be good assignment candidates, thus click on both the "3GluHga" and "3GluHgb" rows for the second dimension to assign them. The peak will now have contributions to both resonances.

Repeat this operation once more for the second to last restraint (number 22), again clicking [Assign Peak]. This time you will see that there is an assignment option for "36IleHa" which seems plausible. Although this is not the closest possibility in the structure ensemble (at least the what we have so far) it is chemical shift difference is fairly small, unlike the "41ProHdb" option. Once we have checked all of the rejected and seriously violated restraints, adjusting their peaks accordingly we would go through another round of structure calculation, with a better starting set of NOE assignments. Although we can go though each problematic restraint in a fairly manual matter, there is a more automated procedure for checking NOE peak lists and curating their assignments using chemical shift and structure information.

Using Structures to Assign NOE Contributions

An alternative, more detailed, method of looking at NOE assignments is via the M:Assignment:NOE Contributions option. This is designed to make the whole process of comparing NOE peaks to a structural model efficient. Select this and in the "Peak List & Display Settings" choose the "NOE Peak list" for the NOESY experiment you are currently looking at, then double click the "Use?" column in the lower table for the relevant window, so that it becomes "Yes". Also set ''Structure Display" to "Assigned" and  'Mark Peak' to true. Now move to the {Peak Assignments} tab, select the peak in the spectrum window (left click & drag) and in the NOE Contribution popup click [Selected Peak]. This will show you, in terms of the close chemical shifts and distances from the selected structure, what the likely NOE assignments are.

By clicking on the rows in the NOE peaks table you will see that several things happen automatically: The view of the selected windows (in this case the selected window2) zooms and marks the selected peak; the graphical structure view highlights the assigned atom connections from the peak; and the lower table of the NOE Contributions popup shows the structurally possible, shift-matched resonance pairs ordered in terms of shift and geometric distance. Select the first peak in the table (10Tyr) and you will see that the top row for the possible assignments is "9SerHbb", which is close in chemical shift and only 2.939 Angstroms away. Click on the "9SerHbb" for the second column in the table and then [Assign Selected]. The will see that the upper table, spectrum window and structure view all update to reflect the new assignment.

Next, in the upper table select peak number 4 (62Glu) and you will see that the assignment possibilities are not so clear cut. Here, selecting [Predict Peaks] will use the entered structure and the known chemical shift values to predict the positions of peaks, near to the selected real peak, which correspond to close resonance pairs. These artificial peaks are labelled with the structural distance and are contained in an entirely separate list to the real peaks (so nothing is contaminated and they can be removed easily). In this instance it is probably appropriate to assign the peak to both of the top assignment possibilities (from residues 62Glu and 31Ala). While holding down the <Ctrl> key select both the "63AlaH" and "32LeuH" options in the table and click [Assign Selected]. We can confirm that this double assignment was the correct thing to do by looking for "return" peaks that show the reciprocal connection (looking from the point of view of the other amide). Clicking on [Find Reciprocal Peaks] you will see that the spectrum window splits into separate panels, with the original amide location on the left. Strips 2-4 show other amide positions with peaks that may possibly reciprocate the same proton-proton connection. Peaks for 63AlaH and 32Leu are indeed present and confirm the assignment in the second dimension we just made. Note also that 36Leu shows a potential return peak, but this is too far away in the structure and so does not appear in the table.

Note that if we change peak assignments then we have the choice of making (or letting ARIA make) a new set of restraints. Alternatively we can curate the existing restraints using the [Update Assignment From Peak] button (see M:Structure:Restraints & Violations {Restraints}), which will alter the distance restraint to reflect this new assignment.


Assignment & Structure Validation

The final part of these tutorial exercises is to look at how we can use the CING software to analyse and validate NMR and structure data. Also, we will consider the data checks that can be performed within Analysis, without the need for external programs, for example to find chemical shift outliers and bogus assignments..

Structure Validation

In the main menu select  "M:Structure:CING: Validate Structures" and click the green [New Run] button in the upper right corner. This run specification will contain all of the data that CING will analyse. When a new run is made the {Structures} table will fill with the various models from an ensemble. Accepting this, we move on to the {Shifts & Measurements} tab. Here click [Add Measurement List] to add the shift list to the CING analysis. Move to the {Peak Lists} tab, and add the N-NOESY:182:2 peak list (this is the one that ARIA made) by selecting it from the lower right pulldown menu and selecting [Add Peak List]. Finally in the restraint lists tab add restraint list "Distance-2:1". This restraint list is the one that came back from ARIA and consequently lives in the second restraint set. Note that in general you may select as much data as you like, but we are just selecting a smaller subset for demonstration purposes.

Select the {Run Settings} tab. To submit the analysis press the [Submit Project] button. Note that this may take some time, so you may wish to let the demonstrator make a real submission and view some previously calculated results, thus sparing the iCING server. Although, feel free to use this server generally.


Assignment Quality Control

At the menu option M:Assignment:Quality Reports you can access a suite of analyses which generate automated reports about the quality and completeness of your assignments. The first tab simply lists how many of each kind of residue and atom type you have resonance assignments for. The second tab shows statistics for how many NOE (and other through-space) connections you have across your molecular system.

While the first two tabs are dedicated to analysing completeness, the last two tabs are dedicated to finding mistakes and inconsistencies in assignments. These tables look at the same kind of issues, but one presents the information from a resonance point of view, and the other from a peak point of view. Most notably the assignments are checked for the following criteria:

  • An assignment to a given atom is duplicated.
  • The standard deviation for a chemical shift is large.
  • If a peak position is far from the chemical shift average (irrespective of a shift's deviation).
  • A resonance has an impossible number of covalently bound partners: e.g. an amide proton assigned to two HSQC peaks cannot be linked to both nitrogen resonances.
  • The chemical shift for an atom assignment is unlikely given the known chemical shift distributions (BMRB).
  • If peaks have unusual intensities or sign.

When something is potentially wrong, then cells of the tables are coloured red. A highlighted cell doesn't mean that something is definitely wrong, just that it warrants an explanation or further investigation. To find the peaks responsible for any aberration, simply click on the row in the table and click [Show Peaks]. In the resulting table you can assign or find any of the peaks in the various spectrum windows.



Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: