Enhancements and bug fixes introduced in each Sparky version are listed below.
Project file paths | Fixed bug where incorrect paths to spectrum session files are put into a project file. Happened when Sparky is started from a shell in a project directory with a project file specified on the command-line. Saving the project then puts incorrect paths (extra "../") in the project file. Problem did not occur with files opened with the File menu, or with full file paths specified on the command-line. |
Windows Vista | Made Sparky work on Windows Vista. Sparky 3.113 did not start on Vista. Worked after updating Python 2.4.2 to 2.5.1 and Tcl/Tk from 8.4.12 to 8.4.14. |
Windows menu | Fixed problem where spectrum views from strip plots appeared in the Sparky Windows menu. The menu entries were never removed even if strips were closed and selecting one would cause a crash. |
Fonts too small | Some extension dialogs containing lists using fixed-width fonts used incredibly small default fonts (3 or 4 points) on Linux. Changed code to always use 12 point font. |
pipe2ucsf | Fixed pipe2ucsf segmentation fault that happened when converting projected spectra when axis 3 (or 4) was not projected. |
Atom names | Incorporated changes to atom name translation file atomnames.py submitted by Eiso AB. |
Windows crash | Fixed problem where assigning dozens of new resonances in the presence of hundreds of already assigned resonances caused crash on Windows and high CPU use on Linux. Caused by resonance menu memory leak. |
Python 2.4 | Updated from Python 2.3.3 to Python 2.4.2. |
Tcl/Tk 8.4 | Updated from Tcl/Tk 8.4.5 to Tcl/Tk 8.4.12. |
relaxation fit | Fixed bug where deleted fit line caused incorrect display of fit curves. A fit curve for the wrong peak would be shown. |
Chimera view | Fixed exception that is raised when trying to display assignment lines for an unassigned 3D peak. |
Chimera view | Added code so that selecting assigned peak in 3D spectrum tries to draw line in Chimera between 1H atoms. Formerly, only peaks selected in 2D spectra were drawn. |
Peak table | Fixed bug that made peak table list lines contain curly brackets, and table saving fail. |
Autoassign | Added new start line pattern for reading chemical shifts from AutoAssign. Needed because of slightly changed header line (extra space at end) in latest AutoAssign (April 27, 2005). |
Windows start-up | Fixed problem on Windows where Sparky did not start if spaces were in the installation path. |
Mac application | Packaged Mac version as a Mac application with an icon that can be placed on desktop or in dock. Still requires X windows. |
Install location | Made Sparky install at any location without having to edit startup script. |
Help buttons | Changed method for showing manual pages in web browser when Help buttons pressed. Now tries to use default browser on Windows and Mac, Mozilla on Linux and Netscape on other machines. Can be changed using SHOW_URL_COMMAND environment variable in startup script on unix systems. |
Python 2.3 | Updated from Python 2.1 to Python 2.3.3. Including Python with Sparky distributions now instead of requiring separate download. |
Tcl/Tk 8.4 | Updated from Tcl/Tk 8.3.4 to 8.4.5. |
relaxation fit | Added option for relaxation fitting to use peak volumes instead of heights. |
Ormament sizes | Added spectrum menu to ornament sizes dialog. It now acts on the chosen spectrum instead of the spectrum having selected ornaments. |
Peak height | Fixed several extensions that did not work correctly with peak groups because they could not get peak height. |
Spin graph assigner | Fixed bug where proposed assignments involving peak groups caused a Python exception. Made pattern axes menus in setup dialog only show choices that are consistent with spectrum nucleus types. |
example extension | Updated example Python extension in manual so it works again. |
relaxation fit | Allowed use of shifted peak markers in each spectrum in relaxation fitting. |
large spectra | Put in support for reading spectrum files larger than 2 gigabytes on some platforms. |
pointer modes | Added abilitiy to set pointer mode in Python and get notifications that pointer mode changed. |
ANSI C++ | Made code comply better with ANSI C++ standard. |
pipe2ucsf | Fixed bug where pipe2ucsf produced peak positions off by 1 data point from NMRDraw. |
ucsfdata | Added specific error messages when command-line arguments are bad. |
Removed license verification | Took out code checks trial licenses. |
Code documentation | Improved compilation instructions and included readme-code.html describing the source code for developers. |
Python 2.1 | Switched from Python 1.5.2 to Python 2.1.1. Also upgraded from Tcl/Tk 8.0.5 to Tcl/Tk 8.3.4. |
Mac OS X version | Compiled Sparky on Mac OS 10.1 with X server. |
Chimera interface | Updated Sparky interface to molecular graphics program Chimera to work with latest Chimera. |
Spaces in path bug | Fixed bug where spaces in path to NMR data or Sparky session files caused loading data to fail. |
Peak assignment labels | Added commands to add (lb) or remove (lB) assignment labels from selected peaks. |
Spectrum rename | Can change spectrum and view names used in menus with the spectrum settings dialog (st). |
Renumber view command | Change a spectrum view name to use the lowest available suffix number with the renumber view command rv. If only one view of a spectrum exists then it will have no suffix number. This allows you to get rid of the pesky "/1" in "noesy_100ms/1" if you only have one view. |
Printing 4D spectra | Fixed a bug that produced illegal Postscript when printing a 4D spectrum. |
Spectrum region RMSD | Added command (rm) to show mean and rmsd values for a spectrum region selected with the mouse. |
Python region selection notice | Added region selection notice to Python interface. Provides callback when user drags a box in a spectrum with the mouse. |
Crash when quitting | Fixed a bug that caused core dump when quitting. Happened when a Python extension registered a callback with the C++ Sparky module. |
AutoAssign interface | Added "write peak lists" and "read shifts" buttons so Sparky interface can be used while running AutoAssign manually with its native interface. |
Spectrum overlays | Fixed bug in spectrum overlay dialog where pressing remove button always removed first overlay in list instead of the selected overlay. |
Spectrum overlays | Allowed choosing multiple overlays in spectrum overlay dialog for removing more than one overlay at a time. |
Peak delete bug | Fixed bug where selecting a peak, pressing mouse button on it, hitting delete, and then lifting mouse button caused Sparky to crash. |
Strip plots | Made strip plot vertical scrollbar allow scrolling to cover strip with largest ppm range. |
Warning dialogs | Made destroying warning dialog invoke a default choice. |
Peak volume | Added initialization in Peak constructor for mFitResidual. |
Python peak volume | Made peak volume, volume_method, and fit_height python attributes settable. |
pipe2ucsf | Fixed file is smaller than expected error message to show correct file and expected sizes. |
Duplicate save files | Fixed bug that occured if project contained save file twice. Spectrum would be unloaded leaving view creation parameters pointing to deleted spectrum. |
Reposition sequence | Made move button move partially assigned peaks. |
Contour redraw bug | Added code to work around a gcc 2.95.2 PC linux compiler bug that caused the same tile to be continuously redrawn. Added comments about 80 bit Intel x86 FPU problems. |
Slices | Made slice not update if pointer just moves along current slice. Made slices update when z-plane changes. |
Memory bug | Fixed bug where spectrum data memory cache immediately freed large spectrum blocks right after they are allocated. Locked element being added to cache so it can not be freed in the add_to_cache() call. |
Sweep width | Added interface to specify sweepwidths in spectrum settings dialog (st). Made peak alias commands use new spectrum sweepwidth parameter. Made resonance panel aliasing use new spectrum sweep_width parameter. Added sweep_width attribute to Python Spectrum class which can differ from spectrum width. Updated Python extensions to use sweep_width for aliasing. |
Undo bug | Fixed bug undoing peak delete after spectrum has been closed. |
Assignment graph | Made selecting atom with no expected peaks not produce an error. |
HCPeaks | Added assignments to new peaks and checked for already existing assigned peak. |
Spingraph assigner | Fixed HNCACO expected peaks to include both i and i-1 CO. |
matrix2ucsf | Added program matrix2ucsf to convert an array of floats to a UCSF format spectrum file. |
Z plane step | Added zu, zd commands to move downfield or upfield one plane. |
AutoAssign on Windows | Noted in manual that AutoAssign interface does not work under Windows. Unable to use fork() to start AutoAssign server and client. |
Strip plots | Cleaned up add selected peak strips code. |
Memory allocation fix | Made new request for 0 bytes return non-zero pointer. |
Chimera molecule view | Fixed bug where selection handler was registered many times. Fixed undefined references to chimera. |
Read peak list | Recognize lower case atom names (h, c, n) in splitting group from atom. Changed split_group_atom() in sputil.py to allow lower case atom names. |
sputil.py warn() | Eliminated unused and broken warn() routine. |
Changes before this release not recorded.
Version | Date |
---|---|
3.91 | May 1 2000 |
3.87 | Mar 3 2000 |
3.85 | Feb 29 2000 |
3.76 | Nov 15 1999 |
3.74 | Oct 21 1999 |
3.72 | Oct 14 1999 |
3.66 | Mar 4 1999 |
3.64 | Jan 26 1999 |
3.62 | Nov 17 1998 |
3.58 | Sep 14 1998 |
3.37 | Nov 18 1997 |
3.21 | Jun 24 1997 |
3.3 | Mar 3 1997 |