Loading modules...

GENESIS: a NOAH pulse programme generator

Module selector

Please note that this is an old version of GENESIS (v2.0.14)
Developer mode
13C HMBC
15N–1H
13C–1H #1
13C–1H #2
1H–1H
...or choose your own:

Pulse programme text

FAQ

Acquiring NOAH experiments

Nearly all of the setup is the same as for a standard 13C–1H 2D experiment. There are two parameters which require additional consideration:

  • NBL should be set to the total number of modules, e.g. 4 for a MSCN supersequence. (Set this either in ased, or by typing nbl into the TopSpin command line.) If you’re not sure what value to use, check the very top of the pulse programme.
  • TD1 (i.e. TD in the F1 dimension) must be its original value multiplied by NBL. For example, if you are running a supersequence with 4 modules and want to have 256 t1 increments in each module, TD1 must be set to 256 × 4 = 1024.

All pulsed field gradients can be set using the gppp command, and most shaped pulses can be created using the WaveMaker wvm -a command.

All other parameters are fully documented in the pulse programmes, and nearly all of these are the same as in the standard experiments. There are a few parameters which are NOAH-specific:

  • cnst16: factor to lengthen CTP gradients in 15N spectra by. We recommend setting this such that cnst16*p16 is around 2–2.5 ms. In other words, if your “standard” gradient duration p16 is 1 ms, set cnst16 = 2–2.5. This helps to suppress artefacts in the spectra which arise from imperfect pulses.
  • cnst32: in supersequences with multiple 13C spectra (e.g. HSQC-TOCSY + HSQC), cnst32 tells you how much of the one-bond C–H magnetisation to allocate to the first of the two, where 1 means “all of it” and 0 means “none”. The remainder goes to the second module. The optimum amount to use depends on what these two modules are, as well as other parameters e.g. acquisition times and relaxation rates, but something between 0.7 and 0.9 usually works well.
  • cnst37: this is the desired number of t1 increments or chunks for the 2DJ and PSYCHE experiments respectively. There is no need to multiply this by NBL. Note that this should be a factor of the other modules’ TD1.
  • cnst38: for 2DJ and PSYCHE experiments this is the indirect dimension proton SW in Hz. For PSYCHE modules, we include automatic corrections in the pulse programme to make sure that SW2/SW1 is an integer (i.e. each chunk has an integer number of points), so you can just provide an approximate value here without worrying about that.
  • cnst39: k-scaling factor for 15N modules. Set this to a value larger than 1 to reduce TD1 for the 15N experiment by a factor of cnst39; in return NS will be increased by a factor of cnst39. The impact is not huge, but sometimes sensitivity gains can be attained.
  • cnst40: for 15N experiments this is the nitrogen SW in ppm. (The nitrogen transmitter offset is O3P.)

Acquisition flags are ways of conditionally running (technically, compiling) parts of a pulse programme. They are useful when we don’t want to create two versions of what’s essentially the same module with just small changes. In this case, you can enable acquisition flags to turn on/off optional features. The available acquisition flags are listed near the top of the pulse programme.

To turn on an acquisition flag, such as -DEDIT, simply include it in the TopSpin acquisition parameter zgoptns (accessible via ased). To enable multiple acquisition flags, simply specify all of them together but separated by spaces.

There are currently a handful of acquisition flags:

  • -DEDIT and -DEDIT1: enables multiplicity editing in HSQC or HSQC-COSY spectra.
  • -DTEDIT: enables multiplicity editing in HSQC-TOCSY spectra.
  • -DINVERT and -DINVERT1: in HSQC-TOCSY spectra, causes “direct” (HSQC) and “indirect” (HSQC-TOCSY) responses to have opposite signs.

To see whether you need the flags with ‘1’ in them, please check the comments near the top of the pulse programme. Usually, the flags ending in ‘1’ are applied to the first of two 13C modules in a supersequence. If you only have one 13C module, it’s unlikely you will ever need the ‘1’-suffixed flags.

There is also the -DNUS flag, which (partially) turns on non-uniform sampling, but you should not set that manually unless you’re absolutely certain what you’re doing. Instead, please use the noah_nus2.py script. The next FAQ entry deals with the issue of NUS.

NUS can be enabled in the pulse sequence, but not in the conventional way of setting FnTYPE to non-uniform sampling. For all pulse programmes downloaded from this website, please follow the steps below:

  1. Download the newest version of noah_nus2.py. Place it in the appropriate folder for TopSpin's Python scripts.
  2. Set up your experiment normally without NUS first, with the full value for TD1 (i.e. number of t1 increments times NBL). Don’t change any other parameters, such as FnTYPE.
  3. Specify the parameter NUSAmount (this refers to the sampling density as a percentage, i.e. set this to 50 for half the points) and then run noah_nus2 in TopSpin.

To disable NUS on a dataset where it was previously enabled, run noah_nus2 off.

The optimal sampling density depends on what spectra you’re trying to run as well as your sample. However, there is nothing special about NOAH in this regard: the typical considerations (e.g. how sparse the spectrum is) are the same, and whatever works for the individual spectra will also work on NOAH.

Incompatibilities

  • The script will not work on old versions of pulse sequences, e.g. those found in the Supporting Information of older papers. For these, please use the old noah_nus.py script.
  • NUS is not compatible with the cnst39 scaling in 15N modules respectively. If you try to enable this on a dataset with cnst39 > 1, the script will silently reset cnst39 back to 1.
  • Finally, NUS totally does not work with with QF-style modules (namely QF COSY), cnst37-scaled 1H modules (2DJ and PSYCHE), or time-shared / interleaved experiments. The -DNUS flag is not encoded in these pulse sequences, so the script will not work at all.

No, it doesn’t. It tries to optimise the receiver gain for the first module, instead of the entire supersequence as a whole. If the first module has low intrinsic sensitivity (which is typically the case), then rga will suggest unreasonably large values for the receiver gain, leading to ADC overflows for the more sensitive modules.

If you want to use rga, you will need to run it with a different pulse programme which corresponds to the most sensitive module. For example, for a MSCN supersequence, you should run rga with the pulse programme set to a COSY.

Alternatively, instead of simply acquiring with zg, you can run au_zgcosy. This performs rga on a pulse–acquire sequence before acquiring the actual data.

Yes. Using the same example as before, if you are running a NOAH-4 experiment with 256 t1 increments (i.e. TD1 = 1024), then the progress line in the status bar will inch towards “1024/256”.

The acquisition AU programme (AUNM) should be set to au_zgcosy, to avoid issues with rga (see above). The processing AU programme (AUNMP) should be set to splitx_au. If the pulse programmes and AU scripts are up-to-date, then there is no need to set the user processing parameters.

WaveMaker shaped pulses can optionally be generated before acquisition by adding the statement XCMD("wvm -q") into the acquisition AU programme.

In a way, yes, but as far as we are aware it has to be hardcoded in the pulse programme (and often in a nontrivial way). That would make the pulse programme overly specialised for a particular sample/spectrometer, and isn’t something we want to do here.

Processing NOAH experiments

If you acquired this data under automation, it should have already been set up such that your data is automatically processed. If your NOAH dataset was acquired with experiment number (expno) m, then check whether you already have datasets in expnos (1000 × m) + 1 onwards. If those exist, then chances are these are the individual processed 2D spectra. If not, then read on...

  1. If you haven’t already done so, download the newest versions of the NOAH scripts. Unzip that and copy everything inside the au subdirectory to <TS>/exp/stan/nmr/au/src/user, where <TS> is your TopSpin installation location (C:\Bruker\TopSpinX.Y.Z for Windows, and /opt/topspinx.y.z for macOS/Linux).
  2. Process the data by entering splitx_au into the TopSpin command line. This will create new datasets with expnos beginning from (1000 × m) + 1, where m is the expno of the original NOAH data.

If you are using old versions of the pulse programme, there is an additional step where you need to specify the userP1 through userP5 parameters. For example, in a BSC experiment, you would specify (userP1, userP2, userP3) = (noah_hmbc, noah_hsqc, noah_cosy) respectively. This is no longer necessary as long as you have downloaded the newest AU scripts and pulse programmes from this website. Please do get in touch if you need extra information on this.

On Catalina: Please update TopSpin to version 4.1.0 or later. On older versions of TopSpin for macOS, there is a bug in TopSpin which causes certain parts of AU programmes to not work on Catalina.

On Big Sur: AU programmes are broken even on TopSpin 4.1.1. However, there is a fix available for 4.1.1, courtesy of Gareth Morris and Marshall Smith (University of Manchester).

  1. Install the XCode Command Line Tools by running xcode-select --install in a terminal.
  2. In the file /opt/topspin4.1.1/exp/stan/nmr/au/makeau: uncomment line 20 (by removing the #), and remove the text -Wl,-lcrt1.o from line 494.
  3. In /opt/topspin4.1.1/prog/include/lib/libcb.h: change line 28 from #include<values.h> to #include<limits.h>, then below that, add two new lines #define MININT INT_MIN and #define MAXINT INT_MAX.
  4. In /opt/topspin4.1.1/prog/include/lib/uni.h: comment out line 182 by adding a # at its beginning.
General NOAH questions

Click here to download the AU and Python scripts (.zip). We assume you know what you’re doing here. (If not, the other entries in this FAQ have more information.)

Thanks for asking. Firstly, note that the pulse programmes provided above will already suggest references that are relevant. If you’re interested in reading more, the original NOAH paper is:

  1. Kupče, Ē.; Claridge, T. D. W. NOAH: NMR Supersequences for Small Molecule Analysis and Structure Elucidation. Angew. Chem. Int. Ed. 2017, 56 (39), 11779–11783. DOI: 10.1002/anie.201705506.

and there are a couple of reviews which cover the NOAH technique:

  1. Kupče, Ē.; Frydman, L.; Webb, A.; Yong, J. R. J.; Claridge, T. D. W. Parallel nuclear magnetic resonance spectroscopy. Nat. Rev. Methods Primers 2021, 1, No. 27. DOI: 10.1038/s43586-021-00024-3.
  2. Kupče, Ē.; Mote, K. R.; Webb, A. G.; Madhu, P. K.; Claridge, T. D. W. Multiplexing experiments in NMR and multi-nuclear MRI. Prog. Nucl. Magn. Reson. Spectrosc. 2021, 124–125, 1–56. DOI: 10.1016/j.pnmrs.2021.03.001.

Apart from these, there are a few other papers covering more technical details of individual modules and supersequences:

  1. Kupče, Ē.; Claridge, T. D. W. Molecular structure from a single NMR supersequence. Chem. Commun. 2018, 54 (52), 7139–7142. DOI: 10.1039/C8CC03296C.
  2. Claridge, T. D. W.; Mayzel, M.; Kupče, Ē. Triplet NOAH supersequences optimised for small molecule structure characterisation. Magn. Reson. Chem. 2019, 57 (11), 946–952. DOI: 10.1002/mrc.4887.
  3. Kupče, Ē.; Claridge, T. D. W. New NOAH modules for structure elucidation at natural isotopic abundance. J. Magn. Reson. 2019, 307, 106568. DOI: 10.1016/j.jmr.2019.106568.
  4. Hansen, A. L.; Kupče, Ē.; Li, D.-W.; Bruschweiler-Li, L.; Wang, C.; Brüschweiler, R. 2D NMR-Based Metabolomics with HSQC/TOCSY NOAH Supersequences. Anal. Chem. 2021, 93 (15), 6112–6119. DOI: 10.1021/acs.analchem.0c05205.
  5. Yong, J. R. J.; Hansen, A. L.; Kupče, Ē.; Claridge, T. D. W. Increasing sensitivity and versatility in NMR supersequences with new HSQC-based modules. J. Magn. Reson. 2021, 329, 107027. DOI: 10.1016/j.jmr.2021.107027.
About this website

Internally, the website contains multiple “versions” of many NOAH modules. For example, there are several different sensitivity-enhanced HSQC sequences, each having different strengths and weaknesses: which of these to use depends on the context. If the seHSQC module is placed at the end of a sequence (e.g. NOAH-2 BS+), then we can use the original Cavanagh–Rance seHSQC, which has greater sensitivity than the versions specifically modified for use in NOAH. On the other hand, if there is a homonuclear module which follows (e.g. NOAH-2 S+C), then we should use the versions specifically designed to preserve the uncoupled proton magnetisation. (We have an upcoming paper which will explain this fully.)

As another example, the NOAH HMBC module is usually configured to preserve one-bond C–H magnetisation using the zz-filter, which can be then used in a H–C HSQC experiment. However, if there is also a H–N module (HMQC or seHSQC) in the supersequence, then the filter must be modified to also preserve N–H magnetisation. This can be done, but the resulting “double filter” is less effective at preserving C–H magnetisation. Thus, we want to only use the “double filter” when it’s actually needed.

When using the “normal” interface, the website picks the “smartest” possible variants for use, based on decisions such as the above. Each version of a module is assigned an internal label, which you can see at the bottom of the generated pulse programme. In “developer mode”, you have complete control over this and can pick exactly which version of a sequence you want. You can also access a few modules, or combinations thereof, which are not generally recommended: for example, the 15N HSQC (without sensitivity enhancement) is available. The internal labels of the modules are described in more detail here.

Yes; you can navigate to version X.Y.Z of the website using the URL https://nmr-genesis.co.uk/X/Y/Z. For example, version 2.0.13 can be accessed here.

This is most likely to be useful for purposes of reproducibility. If you have an old pulse programme and want to find out which version of GENESIS created it, simply scroll to the bottom of the pulse programme: there will be a comment there with the version number.

Note that versions prior to v2.0.6 are not accessible. This is because v2.0.6 marked a migration from JavaScript to TypeScript, which made the build process quite different. In any case, there should not be any reason to access versions prior to v2.0.11, since these were only ever used internally.

The GENESIS website was written, and is maintained, by Jonathan Yong; that’s me! As of the time of writing, I am a PhD student at Oxford, and have been working with Tim Claridge (Oxford) and Ēriks Kupče (Bruker UK) on developing NOAH experiments.

If you have feedback or suggestions, please feel free to email jonathan.yong[at]chem.ox.ac.uk, or create an issue on the GitHub repository. (The latter will still work after I graduate.)

Current version: v