NMRAtom Assigner

I am having an issue with the `NMRAtom Assigner` module. I have already gone through some of my 3D spectra to pick peaks using the `Pick and Assign` module. So at this point I have H and N atoms assigned. I open the atom assigner module to assign Ca/Cb, for example, and I do not have any options showing the atom I would like to assign (no options are being shown under `axis codes`). I have attached a screenshot to help show what I am describing. I am operating the ccpn software with my collected spectra on Linux and simultaneously running the tutorial on a Mac to make sure I am not missing any steps. I feel like I must be missing something. Any help would be much appreciated :)

Hi Domarin, I believe is because you don`t have any axis codes as Ca/Cb displayed. Can you select on the option panel: Select NmrAtom by Atomtype. This will enable more NmrAtoms you might need.

Just tried that (also had tried that before the posting) and still didn`t get any changes to the window.

Do you have any error on your terminal? Can you please try to select one peak only, does it enable the NmrAtoms?

If I click on just one peak, there is still no change in the window. It looks like I do have an error in terminal. Terminal window shows `TypeError: `NoneType` object is not subscripable`

Do you think this has to do with the setting up the experiment type when I first import the spectra? I have noticed that when I do try to update the experiment type under spectrum properties, when I click on `Apply` the settings don`t save. Idk if it is related but I figured I should mention that. 

Just a fair warning that I am very new to this software, so I apologize for asking too many questions.

that`s ok. Can you check the spectrum properties popup (double click on the spectrum on sidebar), dimension tab, if the axis code and isotope codes are correct? Can you share the full error message? thank you

I checked the spectrum properties. Some of the axis codes are listed as `Hn` and `Nh` while some are listed as just simple `H` and `N`. Does that make a huge difference? The carbon dimensions are correct. I am also pasting what terminal reports to me when I click on a peak for the atom assigner:

Traceback (most recent call last):
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/ui/gui/lib/OpenGL/CcpnOpenGL.py`, line 1889, in mouseReleaseEvent
self._mouseClickEvent(ev)
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/ui/gui/lib/OpenGL/CcpnOpenGL.py`, line 4999, in _mouseClickEvent
self.current.clearPeaks()
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/framework/Current.py`, line 418, in clearer
setField(self, [])
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/framework/Current.py`, line 374, in setField
func(value)
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/core/lib/Notifiers.py`, line 385, in __call__
self._callback(callbackDict, **self._kwargs)
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/AnalysisAssign/modules/NmrAtomAssigner.py`, line 1134, in _currentPeaksCallback
self._updateWidget()
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/AnalysisAssign/modules/NmrAtomAssigner.py`, line 528, in _updateWidget
ii, jj = self._createBackBoneButtons()
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/AnalysisAssign/modules/NmrAtomAssigner.py`, line 648, in _createBackBoneButtons
validAxisCode = self._getValidAxisCode()
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/AnalysisAssign/modules/NmrAtomAssigner.py`, line 607, in _getValidAxisCode
return code[0:numChars]
TypeError: `NoneType` object is not subscriptable
Traceback (most recent call last):
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/ui/gui/lib/OpenGL/CcpnOpenGL.py`, line 1889, in mouseReleaseEvent
self._mouseClickEvent(ev)
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/ui/gui/lib/OpenGL/CcpnOpenGL.py`, line 5004, in _mouseClickEvent
self._selectPeak(xPosition, yPosition)
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/ui/gui/lib/OpenGL/CcpnOpenGL.py`, line 4928, in _selectPeak
self.current.peaks = list(peaks ^ set(newPeaks)) # symmetric difference
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/framework/Current.py`, line 392, in setter
setField(self, list(value))
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/framework/Current.py`, line 374, in setField
func(value)
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/core/lib/Notifiers.py`, line 385, in __call__
self._callback(callbackDict, **self._kwargs)
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/AnalysisAssign/modules/NmrAtomAssigner.py`, line 1134, in _currentPeaksCallback
self._updateWidget()
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/AnalysisAssign/modules/NmrAtomAssigner.py`, line 523, in _updateWidget
self._setPeakAxisCodes(self.current.peaks)
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/AnalysisAssign/modules/NmrAtomAssigner.py`, line 473, in _setPeakAxisCodes
self.axisCodeOptions.setButtons(texts=axisLabels, tipTexts=axisLabels, silent=True)
File `/home/dkhago/Desktop/ccpnmr3.0.b5/src/python/ccpn/ui/gui/widgets/RadioButtons.py`, line 99, in setButtons
if objectNames[i]:
TypeError: `NoneType` object is not subscriptable

Looks like something on the display didn`t update correctly. Sorry for this. Would be able to close the displays and modules and retry again? I will try to reproduce this error. Thanks

No problem! So I closed all the modules and then reopened them. Same problem. Nothing shows up in the atom assigner for me to change the atom assignment. I can try and open this file up on a mac and see if I am having the same issue there. Thanks for all your help!

I see the issue.
We can fix this and push an update. Meanwhile, I can tell you another quick way to assign your nmrAtoms. Create the nmratom you need on the sidebar, drag and drop on the selected peak and click assign to peaks.

Hello Luca,

I’ve recently had a similar problem. When I try to select NMRAtom Assigner or try short cut “AN” I get a “NoneType’ object is not subscriptable” error.