Manual Backbone Assignment also possible?


is it also possible to do a manual backbone assignment with CCPN3? In principle, the semi-automatic version implemented is really useful especially together with the sequence graph and works most of the time well, but for example assigning all carbon NMR atom types takes much times and sometimes the matches are not so good, because of some NMR atom type assignments or picked peaks are missing. In this case, an option for manual backbone assignment would be useful. Is this possible and how? (e.g. when HCN, HCN_1 and BB assignment modules are open, manually looking for a best match by going through the 15N-planes - but how to set then the NMR residue in the head of the matching strip for dragging to the search strip?)

Thank you for your help!

Best regards,

Benedikt Söldner

1 Like

Hi Benedikt,

what happens when you drag things over onto the little arrows is that the residues become linked. Now there are several options for doing this by hand:

Assigned Residues
If you have a stretch of residues which are already assigned and you want to add to this, then all you have to do is to assign the residue. So let’s say you realise that NR:@-.@56. should be NR:A.89., then you can simply make that assignment and it will be automatically linked to NR:A.90.. You can make that assignment by dragging the NmrResidue onto the chain the Sequence Graph, or by double-clicking the NmrResidue in the sidebar and changing the Chain and SequenceCode by hand.

Unassigned Residues
If you are wanting to link two NmrResidues, neither of which are assigned, then I’m afraid this is (at the moment) still slightly more awkward. You’ll need to open the Python Console by pressing the Space Bar twice.
Then use code such as this:

nr1 = get('NR:@-.@24.')
nr2 = get('NR:@-.@56.')

This will link these two residues and put them into a new linked NmrChain (e.g. NC:#5)

Note that you can copy the Pid (the ‘NR:@-.@24.’ bit ) by right-clicking on an NmrResidue in the sidebar (also works with table cells).
Note that


also exists, so you connect on either side. Remember that nr1.connectPrevious(nr2) is connecting nr2 to nr1, so nr2 will then be followed by nr1. In the case of nr1.connectNext(nr2), nr1 will then be followed by nr2.

We will be adding this kind of thing to the Graphical User Interface (GUI) - it’s on a ToDo list - but they are sadly many and long!

Best wishes,


Hi Vicky,

thank you for your answer, it helps me a lot (and sorry for my late reply). Actually I found in the mean time also a way, to link unassigned residues without using the Python Console, for example, if one wants to link the NMR residue NR@-.@56 with NR:@-.@107:

  • open the Backbone Assignment (BB)
  • click one NMR residue, e.g. @56 or @56-1 in the backbone assignment window for getting a match and search spectrum displayed with the arrows for connecting NMR residues in the search spectrum
  • if in the match spectrum, no good match is found automatically, look for it manually
  • if a match was found (e.g. @107), assign CA/CA-1, CB/CB-1 if still incomplete
  • for connecting, look for @107 in the Sequence Graph.
  • Select in the options of the Sequence Graph window the match spectrum display
  • right click on @107 in the sequence graph and click “Show nmrResidue”: Now the @107 is shown in the match spectrum display with nmrResidue @107 in the top left corner of the spectrum display
  • drag and drop @107 to one of the arrows in the search spectrum for matching with @56/@56-1

Best regards,

Benedikt Söldner