Hello,
I'm not positive but it sounds like an edge-of-spectrum bug of some sort
(I'm not sure what caused it).
It's likely that the number of points in the affected peak dimension is
256 and 257.543822646 > 256+1. So the position should instead be
257.543822646 - 256 = 0.543822646 and numAliasing should be 1 (assuming
the data file now says it is 0).
The best way to fix this is probably to edit the Nmr.xml file, which is in
the PROJECT_DIR/ccp/nmr. Before you edit this make a copy (just in
case!).
Look for 257.543822 (so truncate a few digits in the search) and see if it
only occurs once. The line will look similar to:
<PeakDim _ID="_169" dim="1" numAliasing="0" position="274.23999205231667"
dataDimRef="_140">
Now to find out which spectrum it is you would need to scroll up until you
find a line starting with "<DataSource" (which is the spectrum), e.g.
<DataSource _ID="_115" serial="1" numDim="3" scale="1.0"
isBigEndian="true" nByte="4" fileHeaderSize="0" isNormalStorage="true"
isSimulated="false" numberType="float" blockPadding="block">
<name>edl387_5.spc</name>
and scroll further up to a line starting with "<Experiment" if you want to
find the experiment name. The PeakDim dim (in my example above 1) tells
you want dimension we are dealing with. So that will tell you the number
of points, but if you are not sure then look for a line starting with
"<FreqDataDim" between the "<DataSource" line and the "<PeakDim" line,
e.g.
<FreqDataDim _ID="_134" numPointsOrig="512" pointOffset="0"
valuePerPoint="7.87646484375" dim="1" numPoints="512" isComplex="false"
blockSize="64" expDim="_135">
So here the number of points is 512, but I imagine yours is 256. If so,
in the "<PeakDim" line subtract 256 from the position and add 1 to
numAliasing (so set to 1 if currently 0).
Wayne
On Fri, 11 Apr 2008, Gina Pagani wrote:
> Hi, worked on my files yesterday, saved before heading home, tried to open
> project this morning and got the error at the bottom. No problem saving (so
> I thought) and no problem opening other project files. Searched the
> archives but did not find anything directly related. Help?
>
> ERROR loading xml ccp.nmr.Nmr ccp/nmr/Nmr.xml
> Exception in Tkinter callback
> Traceback (most recent call last):
> File "/usr/local/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__
> return self.func(*args)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/memops/gui/BasePopup.py", line
> 227, in ok
> if (not self.apply()):
> File
> "/usr/local/ccpnmr/ccpnmr1.0/python/memops/editor/OpenProjectPopup.py", line
> 142, in apply
> self.callback(self.project)
> File
> "/usr/local/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/AnalysisPopup.py", line
> 947, in initProject
> Analysis.initProject(self, project)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/Analysis.py",
> line 406, in initProject
> self.initTopObjects(project)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/Analysis.py",
> line 196, in initTopObjects
> if not project.currentNmrProject:
> File "/usr/local/ccpnmr/ccpnmr1.0/python/memops/api/Implementation.py",
> line 18782, in getCurrentNmrProject
> result = self.findFirstNmrProject()
> File "/usr/local/ccpnmr/ccpnmr1.0/python/memops/api/Implementation.py",
> line 13173, in findFirstNmrProject
> otherStorage.load()
> File "/usr/local/ccpnmr/ccpnmr1.0/python/memops/api/Implementation.py",
> line 9066, in load
> ioModule.load(stream, self.project)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccp/xml/nmr/Nmr.py", line 114, in
> load
> return GeneralXmlIO.load(stream, mapping, parentObject)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/memops/format/xml/XmlIO.py", line
> 425, in load
> result = doLoad(stream, mapping, headObject)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/memops/format/xml/XmlIO.py", line
> 649, in doLoad
> headObject.checkAllValid(checkPackage=packageName)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/memops/api/Implementation.py",
> line 17175, in checkAllValid
> value.checkAllValid(complete)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccp/api/nmr/Nmr.py", line 65377,
> in checkAllValid
> value.checkAllValid(complete)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccp/api/nmr/Nmr.py", line 40281,
> in checkAllValid
> value.checkAllValid(complete)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccp/api/nmr/Nmr.py", line 20745,
> in checkAllValid
> value.checkAllValid(complete)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccp/api/nmr/Nmr.py", line 84377,
> in checkAllValid
> value.checkAllValid(complete)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccp/api/nmr/Nmr.py", line 73754,
> in checkAllValid
> value.checkAllValid(complete)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccp/api/nmr/Nmr.py", line 79206,
> in checkAllValid
> self.checkValid(complete)
> File "/usr/local/ccpnmr/ccpnmr1.0/python/ccp/api/nmr/Nmr.py", line 78603,
> in checkValid
> raise ApiError("%s.checkValid: position:" % self.qualifiedName +
> ApiError: ccp.nmr.Nmr.PeakDim.checkValid: position:position constraint
> position_lt_dataDim_numPoints_plus_one violated by value:257.543822646
>
|