server side Spinach

Dear Ilya,

nice minutes! Impressed. What kind of software did you use to produce them? ms project?

As to XML description of pulse sequences. An experiment contains the timeing events digaram (akin you gif picture) and auxiliray info like calibration tables and cpd, shapes etc files. The problem is that we need first to calculate a given experiment encoded in say Bruker or Varian library in Spinach in order to make meaningful interpretaion of events in timing diagram such as hard pulses to 90 degree, 180 degree or other categories. Only after that graphical rendering makes any sence. More over, such a graphical picture is intuitively clear only for simpliest HSQC or COSY like experiments. However, if you look at 3D experiments, the jumble of pulses and delays quickly makes traditional graphical representation completely usless. My point is that the experiment not nessessery shall be represented as actual timing events diagram, but we can move to more general logical LEGO blocks like transfer between this and that spin state. This would reveal the design behind the experiment, and in fact, would enable optimal construction of new experiments from the designed goals, like to correlate this spin state with this using LEGO styled blockes like INEPT. Very soon we have to move to optimization of the existing pulse sequences, so that all controls (phases, delays etc) should be accessible programmatically. What you are showing as XML stab, can be in fact a representational derivative of a higher order structure, but not the basis of experiment programming.

I have created a database of commonly used experiments encapsulating all files and procedures needed to setup an experiment of choice on any given spectrometer. I used CARA as an environment (www.nmr.ch) and LUA language (with lots of widget classes from CARA) to create GUI. I meant it to be lightweight, so that the whole database is a single XML file shareble via web. Soon I bumped into a problem of many concurrent users modifying entires in the database creating parallel versions of this file. We decided to move to server-side solution to maintain order in multiuser env and harniss the power of community to quickly debug the entire pool of experiments. My postdoc in Basel took one of the free wikis (written in .NET on C#) and started to hack server-side solution while I am doing desktop application. From here stemms my suggestion to use C#, – I have there experience and manpower already.

Ideally, all of us wish to have a united site with social networking possibilities, where we can expose community editable NMR experiments of any complexity with all aux files in a form which can self setup on any end user spectrometer (inspecting the local configuration if needed). Of course, Spinach fits neatly into this scheme providing a powerful analytical tool capable of semantic analysis and optimality checks (against fundamental quatum bounds) of the submissions followed in perspective by actual optimization.

I strongly recommend not to write GUI from scratch and even not to use David’s hacks. They might seem useful, but in fact, they will exist only in matlab environment as prototypes. Still better is to adopt an existing open source server side solution (wiki like, or more global content management systems, there are aplenty of them) equipped with CSS, styling etc and build GUI on the top of it right from the beggining.

As to David’s simulator. David sent me a trial version, but it was very unstable. From conversations with him it seems that he is very open to collaborations. However, I am not sure you would enjoy finding youself reverse engineering his code to furnish a prototype, just to discover that web application needs a entirely different set of widgets and programming techniques.

Konstantin

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.