Dear Simon,
The performance lag / redraw is inconvenient but caused by holding many experiments in memory and calculating out the contours for each every time the window is resized / spectra turned on / off etc. This is slow and we're trying to think of innovative alternatives!
There are two things to try that might help alleviate the problem -
The first would be to use Wayne's 'Contour Files' which freeze the contouring of a spectrum at the chosen level and then draw these contour spectrum files very fast (the limitation is that it's slow to then re-adjust contour levels). To try this go to Experiment->Spectra->Display Options. Choose a spectrum and then hit Contour Files.
Another thing to try would be to 'block' the pipe files as Azara files - Azara has a very memory efficient method for storing chunks of spectrum (rather than the entire spectrum) and keeping the rest on disk. To 'block' your files, just run the executable 'pipe2azara' on the .ft2 files (pipe2azara should have come with the Analysis package).
Your traceback error will require some further thought! We'll get back to you on that...
Thanks,
Dan
On 26 Jul 2010, at 10:52, S.P. Skinner wrote:
> Hi everyone
>
> I'm analysing about 13 HSQCs in one window and whenever I navigate to a peak via selection from the peak list, turn a spectrum on or off, or change the contour level, the window goes blank for about 5 secs and then redraws everything. They are all nmrPipe .ft2 spectra. The following message appears in the terminal:
> Exception in Tkinter callback
> Traceback (most recent call last):
> File "/afs/gorlaeus.net/lic/metprot/software/ccpnmr/python2.5/lib/python2.5/lib-tk/Tkinter.py", line 1403, in __call__
> return self.func(*args)
> File "/afs/gorlaeus.net/lic/metprot/software/ccpnmr/ccpnmr2.1/python/memops/gui/ScrolledWindow.py", line 1016, in <lambda>
> cmd = lambda event, button=button, state=state: self.releaseFunc(event, button, state)
> File "/afs/gorlaeus.net/lic/metprot/software/ccpnmr/ccpnmr2.1/python/memops/gui/ScrolledWindow.py", line 989, in releaseFunc
> func(event)
> File "/afs/gorlaeus.net/lic/metprot/software/ccpnmr/ccpnmr2.1/python/memops/gui/ScrolledWindow.py", line 1577, in selectRegion
> self.select_multi_func(event.widget, a0, b0, a1, b1, x0, y0, x1, y1, button, state, event=event)
> File "/afs/gorlaeus.net/lic/metprot/software/ccpnmr/ccpnmr2.1/python/ccpnmr/analysis/frames/WindowFrame.py", line 2124, in selectMulti
> self.selectSingle(canvas, a0, b0, x0, y0, state=state, newSelection=newSelection, event=event)
> File "/afs/gorlaeus.net/lic/metprot/software/ccpnmr/ccpnmr2.1/python/ccpnmr/analysis/frames/WindowFrame.py", line 1928, in selectSingle
> result = self.findNearbyViewPeak(view, position_region, xAxisRegion, yAxisRegion)
> File "/afs/gorlaeus.net/lic/metprot/software/ccpnmr/ccpnmr2.1/python/ccpnmr/analysis/frames/WindowFrame.py", line 1881, in findNearbyViewPeak
> result = self.findNearbyPeak(peakList, spectrum_region, xdim, ydim, xscale, yscale)
> File "/afs/gorlaeus.net/lic/metprot/software/ccpnmr/ccpnmr2.1/python/ccpnmr/analysis/core/WindowDraw.py", line 508, in findNearbyPeak
> (peakInd, d2Min) = peakList.cPeakList.nearestPeak(xdim, ydim, xscale, yscale, first, last)
> error: first must be float list or tuple of size 1
>
>
> Any ideas as to the problem
>
> Regards
>
> Simon
>
> --
> Simon P Skinner
> Protein Chemistry Group
> Leiden Institute of Chemistry, Universiteit Leiden
> Phone: +31 71 527 6089 / Fax: +31 71 527 4349
> E-mail : [log in to unmask]
Daniel O'Donovan
[log in to unmask]
|