Joint Software Centre

Funding for this software has been provided in part by the
Canadian Institutes of Health Research (CIHR Group)
and the
Protein Engineering Networks of Centres of Excellence (PENCE).


A semi-automated nmr assignment tool using nmrview.

Current version 5.1.3 - Released Nov 18/2005
Previous version 5.0.6 - Released May 6/2005

Previous version 4.3.0 - Released Feb 04/2005
Previous version 3.2 - Released Oct 29/2003
Previous version 2.0.1 - Released Dec 27/2002
Previous version 1.0.3 - Released Oct 16/2002

Latest News

Jun 30/10 - If the software complains about problems with the xpk files when you know the xpk files are good, please make the following change to tcl/sys.tcl:

proc sys_run_connect { runScript inputDir outputDir xpkFiles } {
    global snbVar snbConst
    if [catch {eval exec $cmd } err] {
        if { [string match "*warning*" $err] == 0 } {
            usnb_err "Problems running $runScript.\n\n Check your xpk files."
The error results when perl prints a warning when some environment variables are not set. The above tells the software to ignore the warning. I will fix this up on the next release when i have time.

Nov 3/06 - Fixed broken link for v5.1.3 download. Decided to store the download in tar format instead of compressed tar.

Apr 28/06 - Small bug in installation script regarding the manual input of the nmrview executable. The script should look like this and the change will take effect in the next snb release.

if ($PROGRAM == "") then
   exit 1

Nov 18/05 - I am almost ready to endorse the 5.1.x versions. I am releasing a new beta version (5.1.3) for people to play with. Those spectroscopists who have already used smartnotebook, pipp_nav and nmrview together are very excited. It is quite nice to see how all software parts can interact together in the spectral assignment process.

Again, every so often, I like to make a pitch to developers of automatic assignment software, to consider the possibilities of using this platform as the gui which allows the spectroscopist to evaluate computer generated chains and assignments.

Nov 1/05 - My apologies for neglecting this project for awhile. Hopefully this will be the start of a good run. More beta versions coming for people who are testing. Version 5.1.2 is trying to address a bug in peak folding.

Aug 26/05 - The new version of snb will be encorporating pipp-nav thanks to Leigh Willard. Preliminary testing is showing how well these two software packages compliment each other. It should not be long before we release a beta version of this new software.

Aug 23/05 - This is the start of the v5.1 series of snb. Do not expect a finished product for several weeks, several beta versions will be released for those people who are testing the new features. This first release (v5.1.0) contains only one new feature, I have added configuration files to support the hnca/hncacb/hncoca/hncocacb experiment as described in the Yamazaki paper "A suite of triple resonance NMR Experiments for the backbone assignment of N15, C13, H2 labelled proteins with High Sensitivty". I do not have data to test smartnotebook with this experiment type, however I try to present an example where the data is simulated with two hncacb/cbcaconnh datasets.

May 11/05 - Encorporating snb with NMRViewJ looks doubtful right now. There are too many Tk constructs which break when converted to java (eg, tkwait, option add, relative pathname specification).

May 6/05 - Moving snb website from pence (which will eventually go away) to Brian Sykes website. Minor changes in html documents lead to version 5.0.6. No other changes.

Mar 18/05 - Please see the release notes for v5.0.3. Several significant fixes over v5.0.2. I apologize for all these releases, this will calm down soon.

Mar 12/05 - This is the first release in the version 5.x series of smartnotebook where we expand the software's ability to handle a wider range of experiments. If you are a previous user of smartnotebook, start with the release notes to become aware of the changes from version 4.x. I have not had the chance yet to try the software on all the different platforms, hopefully i can do that next week.

The first goal is to have a solid release of this series with correct documentation and examples. The release notes testify to the number of changes, it may take a few bug releases to ensure nothing broke in the transformation to version 5. After this we proceed to add more interesting experiments/spectral views as suggested by users.

Mar 03/05 - Smartnotebook v5.0.1 - I made a mistake with the hnco.xpk assigned entries, hopefully fixed now. Corrected a problem with the install script as noted by one of our users. Made search window more general and added configuration files for hncacb/hncoca experiment types.

This version should only be tested with hnco.xpk reference data as i have not updated the configuration files for hsqc! Again, this version is beta and is only released for the benefit of a few brave souls who are helping me get this right. Once the software is deemed to be working, i will update the documentation, the hsqc configuration files and then release a stable/tested version. That will not take long once the assignment output is ok.

Feb 11/05 - Smartnotebook v5.0.0 - is basically a preliminary release which demonstrates the use of smartnotebook with the hnca/hn(co)ca experiment with hnco as reference. This version is not supported, superficially tested, has no example data, and it has no documentation other than the release notes. However, it is working to some degree, so I need spectroscopists (who have this type of nmr data) willing to make an evaluation.

As mentioned in the online manual, snb v5.x.x concentrates on the addition of many experiment sets. This should be the first of several. if you wish to make an experiment request, please be prepared to supply data and answer questions of the developer. Thanks.

Feb 04/05 - This is a nice version even if it still has bugs. I spent lots of time with the application defaults file, organizing and simplifying the attributes of snb windows. Got the documentation up to date. I plan to spend more time testing next week, did not test sun or sgi versions but they should be ok.

Jan 28/05 - I'm just finishing updating all the documentation for v4.3. Software to be released shortly.

Jan 14/05 - Version 4.3 is nearly ready for release. The main software associated with this version is improved searching mechanism. I think it will be very nice feature for those rulesets where users are not trying to solve the whole assignment, where users are trying to get as much useful info as they can from an experiment set.

Dec 15/04 - Version 4.2 turned out to be another bug fix version as I strive to correct errors in peak folding. The reason I did not call this release 4.1.1 is because changes in the configuration files will force the user to update previous output directories. Please look at the v4.2.0 Release notes to see the fixes in this version.

Dec 08/04 - I am working on release 4.2 where I will add a new experiment where hncoca will replace cbcaconnh. Because this will be much more difficult to assign I will see what I can do about adding filtering rules (so that users can quickly find the most interesting connections right off the bat). Any bug reports from release 4.1 will be addressed in this version. cheers.

Dec 01/04 - Release version 4.1. This version allows users to change the snb font via the gui and fixes a bug in specifying folded peaks. This is a minor release because of changes in the configuration file "snb.defaults". Your snb v4.0 output directory is not compatible with this version, however the software will give instructions on making any previous output compatible.

Feel free to wait a few days as I verify the integrity of this version. Or you can choose to help me by trying this version.

Nov 23/04 - Added ruleset for hnco-3 and allow user to modify maximum slider value for vertical scale. This takes us to bug fix version 4.0.3 (4.0.2 is dropped).

Nov 19/04 - I've made a few more changes (see the release notes) and I'm now calling this version 4.0.2 (4.0.1 is obsoleted). More corrections are on the way so please feel free to wait.

Nov 17/04 - It is good to be back! First things first, I have fixed the error where certain "delete chain" operations can cause snb to get mixed up and loose its current chain list. Given the seriousness of this bug I felt i should fix this first and release it (version 4.0.1).

Sep 10/04 - Back from holidays, I now have more tasks. I will post here when I'm back on smartnotebook issues.

Jul 27/04 - Other projects are keeping me occupied. I doubt if I will have a bug fix version until september.

Jul 16/04 - This release is a huge change from v3.2 especially in terms of the software internals. Although there are some nice improvements for users, this release is aimed more at software developers. I think the smartnotebook platform may be a nice base to showcase assignment tools written by others.

How many mistakes are in this release? Lots. It is such a big project and there are so many things to test. So expect a number of bug releases in the next month as I get word of the biggest mistakes. I hope things are stable by Aug 17 because that is when I go on holidays. Feel free to wait until Aug 17 if you want to try a better product. Yeah, and I did not get all the documentation done either, so you can tell I was scrambling to try and release this version.

Jul 15/04 - I under-estimated the amount of work, and over-estimated the amount of time I would get to work on this project. Tomorrow (jul 16) is the release date regardless.

Jul 2/04 - Ok, I have set Jul 15 as the release date. All I have to do is update the documentation so this WILL be the release date (or sooner).

Jun 21/04 - I can work some limited hours again. Let me try to release in a couple weeks. thanks for your patience.

Jun 10/04 - Unfortunately i cannot finish the work on this release right now due to a medical condition.

May 21/04 - Smartnotebook under macosx aqua is running and will be included in v4.0. I changed my sequence panel to be labels with attached events instead of buttons and that works as least as nice as the buttons. However there is no work around for the unfortunate placement of tearoff windows or the noticeably slower spectral display. C'est la vie.

Spent a couple hours playing with snb and NmrviewJ. Maybe next version.

May 13/04 - Exciting improvements in v4.0! The user no longer has to help the software to define the correct peaks in an overlap region. The software only tracks the legitimate connections (for a current chain) and with an improved fitting score criteria, the correct connection variation is usually obvious. The "junky" connections are now filtered out and the user only considers the relevant connections for the current chain. My trials indicate this change to be exceptional! My only regret is that I took so long to realize this obvious and easy to implement improvement.

May 6/04 - I am now committing to Jun 21/04 as the release date for snb 4.0. Please mark it in your calendars to check back here if you are interested in this software.

Here is how I decided on the date. Nanuc is having an nmr training session that weekend, I will probably get a demo machine to advertise the software, so it has to be ready! Second, I will need to allocate extra time to understand and test the new versions of nmrview coming out. Third, my documentation and help screens need a complete update, i no longer feel comfortable releasing the software without up to date documentation.

Apr 30/04 - I am currently testing smartnotebook's ability to import connectivity and chains files from other sources. I am also addressing the issue of imported ppm.out files and how assignment conflict is resolved.

Apr 28/04 - The interface between nmrview and snb is down to 3 subroutines contained in a 250 line tcl file. Also, the init files for each defined experiment also call nmrview routines and set variables that nmrview needs to know about. I am satisfied that this is a reasonable and mostly minimial interface.

Apr 26/04 - I have been fixated on nvdraw.tcl, trying to clean up the interface between snb and nmrview as much as possible. This will definitely be my last excursion before bundling up and fully testing version 4.0. If you are a developer, please be patient for version 4.0 as the code is significantly changed and improved over 3.2.

Apr 16/04 - Internal live demo of snb 4.0 for our nmr group.

Apr 3/04 - Added "Back" buttons to all snb init windows. Init procedure now has "optional files" screen which allows users to enter connections or chains files from other sources. Simplified Options menu item, re-wrote prefs.tcl in the process. Preference windows do not disappear when an item like vertical scale is changed. Vertical scale is now available for each spectra in the spectral strips window. Have simplified the init procedure to produce two output:

The improvements on the development side of this software have increased significantly, in my opinion. I can finally see a future release date on the horizon, I am looking at the end of April. There is a ton of testing to do between now and then. I will keep updating these records regularly.

Mar 18/04 - snb initialization gui seems to be working correctly. Users will download version 4.0 and the gui will automatically guide the user to configure snb correctly with helpful documentation. It includes orb as describe below. Next on the list is "balloon help" for snb.

Mar 9/04 - xalign (v6.0) and orb (v2.0) are done and encorporated into smartnotebook package. It may be awhile before these versions are available standalone because updating the orb/xalign websites is *not fun*.

The inclusion of orb/xalign into snb should be an interesting example for developers as it demonstrates how the same software can be maintained both standalone and as part of the smartnotebook suite. Anyhow, I am back on the snb 4.0 interface again.

Feb 9/04 - I am taking a couple weeks to modernize orb and xalign. I have now seen an example where a properly created sequence shifts constraint file greatly enhances the assignment process. Plus my boss keeps bugging me about it all the time. I've done most of the user-interface part and it will be a welcome additional to the snb suite.

Jan 28/04 - Imagine a continuum of nmr assignment software as follows:

	Auto Assign         Semi Automatic        Manual

To pigeon hole smartnotebook near the semi-automatic section is misguided. Smartnotebook does not belong on the continuum at all becauses the goal of the software is not the "solving of the nmr assignment problem". The real goal is "defining the best spectral assignment environment" which can lead to a solution. Solving the nmr assignment problem is a possible by-product. Smartnotebook wants to be the interface that provides access to tools on the continuum. Users with tough assignment problems access the manual tools, users with sharp data want to interface with the auto-assign tools.

The one and only implementation of smartnotebook is snb(peakcon,nmrview) which is a smartnotebook interfacing with peakcon and nmrview. For many spectroscopists these are weak choices, and you can certainly reject and criticize snb for this particular implementation. But my goal is not what tools get implemented in snb, it is the defining of standards that allows people who write real assignment software to plug-in. The truth is that most developers are not excited to put a great deal of time into the tedious development of user-interface tools and documentation. What if we can develop a standard user interface that minimizes the amount of gui work for the developer and captilizes on the expertise of the user working within a familiar nmr assignment environment?

This is certainly an ambitious goal. We are open source because developers need to know the details of what we are doing. snb 4.0 will certainly be more generic (and interesting to developers) than snb 3.x. I'll get off my soapbox now...

Dec 19/03 - Just a quick note that I took some time off to work on a different project (stc) and I expect to be back on snb in the new year. We ran an in-house nmr assignment contest in the lab in November on a very difficult dataset. Almost everyone decided to use smartnotebook in the contest including the judges. The good news is no one abandoned the software once they started using it, the more humbling news is that I have a large bucket to work on now, including some bugs that I appreciated people finding for me.

Oct 29/03 - Version 3.2 released.

Oct 27/03 - Other projects and the conversion of my development environment to macOSX is taking time. I have decided that version 3.2 is only going to contain the "create connection" panel. It is a self contained module and therefore should not break anything else. I will release it today or tomorrow.

Sep 26/03 - Version 3.2 will also have support for nmrDraw peak pick files.

Sep 18/03 - The current plan is to work towards a v3.2 of snb which has only one additional feature, a convenient mechanism for entering connections manually. Work on version 4.0 of snb with the new pattern searching algorithms will be delayed until v3.2 is released. I do not anticipate v3.2 taking too long to write, look for progress reports here.

Sep 5/03 - Smartnotebook version 3.1.2 is released and is hopefully the last in a series of bug fixes for version 3.x. I am retiring all previous versions of 3.x because 3.1.2 should be the most stable and accurate.

Aug 13/03 - version 3.1.1 corrects two installation errors, one in the updated makeshift.bmrb and the other in building the examples directory. Also, I found and fixed a remote bug (regarding the variable hiProb) when a chain selected from the Suggest menu has a connection which is unrecognized.

Jul 10/03 - A weakness of smartnotebook has always been the ability of the database (peakcon) to identify and categorize basic sequential connections. A vastly improved database has been proposed which is both simpler and more accurate.

The improvement of the database stems from the ability to set various states based on the presence or non-presence of certain peaks. Now only one rules file is necessary and no special perl filtering scripts are required. Look for the new database in snb 4.x.

Jun 27/03 - version 3.1 released. There were 16 fairly minor changes from version 3.0 and because we also made a few changes in lib, we felt justified in going to 3.1 instead of 3.0.5. If you are following this project please see the list of changes in the release notes. I have meticulously combed the manual and examples to make sure they are up to date as well. Please, please, please let me know of any mistakes you find, i have to trust my release scripts to make sure everything gets put in the right place.

I anticipate we start on version 4 in the fall with a year-end release. It is still somewhat surprising to me that I cannot get nmr people interested in auto-assign integration possibilities for snb, maybe as the snb software matures people will warm to the possibilities.

Jun 25/03 - version 3.1 is looking solid with lots of nice fixes. It will be released Jun 27. v3.0.3 will be expired at that time.

Jun 4/03 - The bug list is growing which means i'll have to implement another minor version before starting snb 4.0. I still like the current version over previous versions despite the flaws mentioned. Please check back at this site at the end of June to download a better snb 3.0 (preliminary date is Jun 26).

Jun 3/03 - Some browsers may not be have the correct configuration to download our compressed tar file format. Given that compression doesn't make a big difference in the size of the file, I have changed the download to be tar files instead of compressed tar files.

May 29/03 - Today we release smartnotebook v3.0.3. It is my hope that errors reported are minor and that I can soon commence on the very exciting ideas that will become reality in snb 4. I've spent weeks doing the documentation, testing, bug fixes, install scripts, and i indeed under-estimated the amount of work and organization that goes into software maintenance for this project. My appreciation to those people who contributed their comments, nmr expertise and software skills.

My initial estimate for snb 4 is December 2003, I believe our focus will be to greatly extend the rulesets with an improved relational database. This leaves the integration of auto-assign features pretty much untouched.

May 15/03 - Sorry, we're not ready yet. However, we present smartnotebook 3.0 in our internal seminar series on May 29, so it has to be ready by then. Please check back with us in two weeks for the new software.

May 9/03 - Another beta release to fix an error in connection panel selection, a new install script, more of leigh's gui setup stuff, and the mac OSX version. I still do not feel comfortable with the stability of this version (although things seem to be improving).

May 7/03 - It is difficult to work on snb3 (manuals, testing, little details) when the topic of snb4 comes up. Here is my proposed implementation for the music pulse sequences which give residue specific pattern information. It involves only two fairly easy changes to the peakcon program:

  1. rules can be specified as being optional
  2. rules have an additional attribute, a "state" column, a matching rule may want to set the search state.
For example, imagine an optional rule to peakcon which looks in a certain peakpick file for a match, finding it upgrades the state from a default like "dxx" to the more specific "dxa" or "dax" where the "a" may stand for alanine. The OUTPUT connection record will now have a state variable which can be used to filter connections into the various con.peakcon.* files.

peakcon may look more and more like a *real* database... but surely what i want to do has already been done, and done better. if you are the person that holds the key to that solution, let's discuss an implementation plan.

May 6/03 - Beta version for snb 3.0.1. This one will be replaced in afew days, just correcting a few things for my testers. We will have a Mac version of the software very soon. Please stick with v2.0.1 until we have v3.0.x stable.

Apr 30/03 - I'm a slow writer, still working on the new snb 3.0 manual.

Apr 23/03 - Beta version for snb 3.0.0 Unless you want to help me test, you should stick with v2.0.1.

Apr 8/03 - Just an update regarding snb 3.0, things are progressing nicely. The "lookahead" feature for making chains is a big improvement, making chains just got alot easier. The way in which the current chain and connections panels now work together is much more intuitive. Also, this will be the first version where we have a gui lead the user in setting up snb and for making changes in the init files.

But in my opinion, the most interesting aspect is the ability to build chains from xpk files which already contain assignments. This version of snb allows you to parse those chains easily. We are no longer very far away from creating a feedback loop with one or more auto-assign programs.

Testing, bug fixing, library updates and documentation will take alot of time. Please check for a beta version of snb by early may. Feb 25/03 - I am tentatively scheduling release of snb 3.0 for May 22/03 which corresponds with the PENCE annual general meeting. The first new feature will be the calculation of chains from assignment files. The beauty of this feature is that a user can quickly validate a manual assignment or computer assignment. Or imagine a case where the expert nmr spectroscopist verifies the assignment work of the beginner and does it during a lunch break? It could make a pretty good teaching tool as well.

The quick parsing of chains via snb has already been implemented and works great (and it's fun)! Hopefully the back-end goes well. I will keep people informed and release a beta version as soon as it is completed and mostly stable.

Dec 27/02 - Renamed the mkshift program to makeshift. Some internal changes with the installation script and updated website. If you have 2.0, there is no need to upgrade.

Dec 10/02 - Small omission in the manual when setting up smartnotebook on your own data, you should remove the old smartnotebook.out directory first.

Dec 4/02 - Just a few changes to the Question and Answer section of the manual.

Nov 29/02 - Here is a summary of the more notable changes in v2.0 from the previous v1.0.3. Expect at least one or two minor revisions to fix bugs in the next couple weeks, then we'll take stock of what to put in v3.0.

Nov 28/02 - It seems like everything changed in this version of smartnotebook and according to my definition for future revisions, this clearly falls into a major revision. So it will be designated 2.0 instead of 1.1 as i first planned. Released some time tomorrow.

Nov 13/02 - More issues with hnco referencing and peak folding. I am tired of pushing back my self imposed deadline so I am going to pick a date that I know i can meet which is Nov 29. Look for our next release at that time. I've got lots of testers so i think the release should be pretty solid.

Nov 8/02 - Nov 8 was too optimistic. i have some issues with hnco reference data that came up in testing just today. I expect to have this resolved by next week, so Nov 15 is my next target date.

Nov 6/02 - Folded Peaks is done, and i think it is nice. I will release a beta version on Nov 8 for those people who want to evaluate it. Please send me some feedback if it is missing something. Otherwise, I have finished this set of enhancements I will be testing and updating documents for the major v1.1 release (which should be compatible up to nmrview 5.0.4).

Oct 30/02 - what about this for an idea, we could take the assignments that are suggested from an auto-assign program, back calculate what the chains and connection data would look like, and then have smartnotebook read these in instead of the output from our rules files. the user displays the spectra for each connection of the chain and can very quickly evaluate whether the data is supporting the assignment or not. At the very least you get a good idea of what parts of the auto-assign you like and the parts which are weak... i have never seen output from an auto-assign program so maybe you already get this type of analysis and stepping through chains in smartnotebook is not that interesting...

Oct 30/02 - almost done with the folded peaks, but i re-structured a fair chunk of code, i will need to do alot of testing. Adding a new "lib" directory to handle hnco means my installation scripts change, i may need to rethink how i organzie sets of rules files. I am ruling out anything new for nov 1 and will now try for nov 8 for the next release.

Oct 23/02 - we should be capable of handling generic reference spectra now, i should be able to get an hnco in the next few days to test this out. Folded peaks should be in by the end of the week. I am still hopeful for nov 1 as the next release date for smartnotebook.

Oct 18/02 - I think I have better set of rules for picking patterns which involve looking at the weak peaks. Also, I will have some kind of pulldown menu which allows you to designate the folded peaks. Finally, I want to do some testing on datasets that start somewhere other than residue 1. If all goes reasonably well, expect a new smartnotebook version by the end of the October.

Oct 16/02 - Fixed the bug regarding the selection of peaks 0 and 1 on the hsqc spectra. This bug was significant enough to go to version 1.0.3.

Oct 12/02 - The first release of the software v1.0.2 is now available for download. The tutorial has been updated to coincide with this version.

Oct 8/02 - Added functionality for updating xpk files when assignments are made. This was much more complex than i anticipated and thus several changes were made in the 'init' files. Please wait a day before downloading this version as I verify that something else didn't break with these changes.

Sept 27/02 - I have noted and fixed a bug with the way dgx and dxg connections are calculated. Also, I have corrected the one-line error i made for writing out the ppm.out file. Any more requests before the release date of Oct 11?

Sept 25/02 - I am releasing version 1.0 of this software for people who are testing. You may want to wait a few days for version 1.0.1 as I correct the obvious errors and update this document.

Sept 4/02 - You can now request the linux and sgi versions of smartnotebook. I had to make some minor changes to 'mkshift', the install script, and the location of perl. I have made a minor change in how i keep track of smartnotebook versions.

Back to Software Centre

This file last updated:

Questions to: