You are here: Home Industry Developer Notes Pharmaceutical Industry Advisory

Pharmaceutical Industry Advisory

Old notes from the pharmaceutical industry advisory meetings

Workflow Requirements 2011

Software requirements for efficient pharmacological NMR workflows


  • Requires easy administration
  • Numbers of spectra & FIDs in the many hundreds
  • Repetition of established protocols
  • Scriptability - Using Python language. Documented * function library
  • Export of data to established formats
  • Promote software at PDSI meeting


  • Experiment locations, names and types set from in-house scripts
  • Link groups of experiments to compound library (& hence to reference spectra) - loading using in-house scripts that interrogate an analysis table.
  • Scale and offset spectra with mouse and GUI; automation where relevant
  • Ability to toggle scaling on/off
  • 1D panel stacks; with modes according to expt type, etc
  • Multiplet & integration analysis
  • 1D experiment type specification STD, T1rho, Water LOGSY, CPMG  etc...
  • Better 1D peak markers, and region of interest selection
  • On-the-fly and scripting generation linear combinations of spectra
  • Re-referencing across spectra
  • Simple processing; phase, baseline, shim correction - some automation (later)
  • On-spectrum chemical structure overlay (maybe)
  • Possible compressed spectrum data format

Ligand-Observe Screening

  • Repeat same operations on each compound (& experiment group)
  • Library of reference spectra for compounds
  • Access reference library (& and results) via 96/384 well array GUI
  • Easy cocktail set-up from library array and/or external files
  • Reference library array administration
  • Link reference spectra to each cocktail & experiment group (=Trial)
  • Linking of relevant experiments to knowledge of competitive inhibitor
  • Scores to enable ranking of hit likelihood; use freq domain & peak  correlations
  • Administration of which compounds were hits
  • Make reference info shareable as a separate, NmrProject
  • Pick & click / drag & drop assignment


Small Molecule Chemical Structure

  • Multiplet analysis important
  • Peak integration important
  • System for assigning unknown compound
  • Type resonances according t o C, CH, CH2, CH3 etc.
  • Build up spin systems progressively
  • Link to relaxation analysis software, e.g. NOEMOL (Mark Forster)
  • Link to DOSY toolbox
  • Link to LSD software
  • All the relevant isotopes

Protein-Observe Binding

  • Fitting of a single Kd across multiple sites
  • Entry of protein concentration for real Kd calculation
  • Superposition of delta chemical shifts on external structure viewers (PyMol/MolMol)
  • Use PDB B-factor slot for easy colouring for shift differences, binding K.
  • Use same compound library as 1D screens (& hence link all results)
  • Simplified repeat set-up of titration points (e.g. using Python)
  • Easy unique experiment naming
  • Lines on spectra that follow peak groups


NmrScreen Package

A suggested prototype CCPN data model package to support ligand-observe, protein-observe and metabolomics screening.

Object Overview


A top-level object to store compound libraries and their associated reference spectra, definitions of the mixtures used in various screens and ultimately groupings of NMR data that result during a screen.


A reference compound that forms part of a (usually small) molecule library. This object connects to reference spectra for the compound in isolation and a CCPN ChemComp chemical topology definition. The compound does not specify a particular form (e.g. protonation) of the compound; this only occurs in the context of an identified component of a mixture. Compounds can represent a library of small molecule ligands or metabolites (natural or otherwise).

A reference spectrum used to identify the NMR-visible components present within a mixture by comparison with the groups of spectra obtained by screening trials. A compound may have several reference spectra relating to different chemical forms and sample conditions, thus the object records any such specific details that differentiate it form ofter reference spectra of the same compound.


The NmrScreen is a container object to group all test mixtures together with the trials that were performed on a specific subject; albeit a macromolecular target, tissue sample or disease state. It can be viewed as a kind of 'project'. The screen contains sufficient information to specify why the screen was done and links together all of the experimental procedures and NMR data that formed the investigation.


A grouping of the components present in an sample that is analysed by a series of NMR  experiments in a given NmrScreen, i.e. for a given purpose. A mixture may be a pre-determined combination of small molecule components and macromolecules that is under test; e.g. one or more potential ligands and a protein, or it may be initially unknown and only filled with components when sufficient information is gleaned; e.g. for metabolomics experiments where the metabolite composition of a sample is the main objective. A mixture is linked, via the trials performed on it, to the NMR data which relate to that particular sample, for example to record spectra for shift differences and binding constants. A mixture does not necessarily correspond to a MolSystem because not all components would necessarily need to be setup for resonance assignment, but it may refer to one in the context of a protein target or complex.


The occurrence of a particular compound in a test mixture. The component specifies how much and in what form the compound is. The component may also be linked in a way to indicate that it was a hit in a trial. In ligand screening the components of a mixture would be known in advance. For metabolomics the components of a mixture are determined through experimentation.


Each Trial belongs within an NMR sreen and links a group for NMR experiments (and their resulting spectra) to a given test mixture of compounds. The Trial specifies both the NMR experiments that resulted from investigating a given mixture and the subset of reference spectra that have been used to make analyses. For ligand-observe screening a Trial may link STD, water LOGSY, T1rho and difference spectra. For protein-observe screening a Trial may contain a series of titration spectra. For metabolomics a Trial links any spectra recorded to identify the components (and their concentrations) within a mixture.


Each trial links to the NMR data that were performed as part of the investigation, this link occurs via a TrialExperiment that records how the NMR data was used in the context of the trial.


A TrialHit records, for a given trial, whether a given component of a mixture is considered a screening 'hit' and with what confidence. This object also serves to link the reference spectra which were used in the identification of a component given the NMR data. In the context of ligand screening a TrialHit is used to annotate which components of the mixture warrant further investigation. In the context of metabolomics the TrialHit records how a component of a mixture was detected.


A trail group is a categorisation within an an NmrScreen, of most use where investigations are naturally partitioned into different stages. For protein-ligand screens there would typically be groups of trials for the initial ligand-observe screening of compound mixtures and trials for protein-observe determination of binding sites and strength. For metabolomics grouping trials is a means of delineating different test groups that are meaningful within the context of the investigation; e.g. for control & disease populations or different environmental classifications.


Detailed Plan

memopsRoot 1..1 MemopsRoot (parent)
name 1..1 Word (key)
compounds 0..* Compound (child)
nmrScreens 0..* NmrScreen (child)
refNmrProject 1..1 NmrProject for comparison DataSources
nmrProject 1..1 NmrProject for results
mixWellFormat 0..1 WellFormat 96/384 well mixture plate
compWellFormat 0..1 WellFormat 96/384 well compound plate

nmrScreenStore 1..1 NmrScreenStore (parent)
code 1..1 Word (key)
refSpectra 0..* RefSpectrum (child)
mixtureComponents 0..* MixtureComponent
chemComp 0..1 ChemComp
molecule 0..1 Molecule
cocktailCode 0..1 Word mix selection mechanism
name 0..1 Line
details 0..1 Text
isEndogenous 1..1 Bool a natural metabolite?
refArrayIndex 1..1 NonNegInt location in ref array
solvent 1..1 Solvent open enumeration
concentration 0..1 Float Molar in ref array

compound 1..1 Compound (parent)
serial 1..1 PosInt (key)
name 0..1 Word
details 0..1 Line
concentration 0..1 NonNegFloat Molar
pH 0..1 Float

nmrScreenStore 1..1 NmrScreenStore (parent)
code 1..1 Word (key)
mixtures 0..1 Mixture (child)
trails 0..* Trial (child)
trialGroups 0..* TrialGroup (child)
nmrProject 1..1 NmrProject of resulting experiments
name 0..1 Line
details 0..1 Line
objective 0..1 Text our intentions
target 0..1 MolSystem
sampleType 0..1 Line e.g blood, rat liver
startDate 1..1 DateTime
endDate 1..1 DateTime

nmrScreen 1..1 NmrScreen (parent)
serial 1..1 PosInt (key)
mixtureComponents 0..* MixtureComponent (child)
trials 0..* Trial
name 0..1 Line
details 0..1 Line
arrayIndex 0..1 NonNegInt postion in well array
volume 0..1 Float Litres, the total
target 0..1 MolSystem e.g. protein target
targetSourceConc 0..1 Float Molar of added protein
targetConc 0..1 Float Molar in final sample
compounds 0..1 Compound derived
sample 0..1 Sample.Sample

mixture 1..1 Mixture (parent)
serial 1..1 PosInt (key)
compound 1..1 Compound
trialHits 0..1 TrialHit
concentration 0..1 Float Molar conc in mixture
volumeAdded 0..1 Float Litres

nmrScreen 1..1 NmrScreen (parent)
serial 1..1 PosInt (key)
experiments 0..* TrialExperiment (child)
trialHits 0..* TrialHit (child)
mixture 1..1 Mixture
trialGroups 0..* TrialGroup
code 0..1 Word for admin
details 0..1 Line
refSpectra 0..* RefSpectrum derived

trial 1..1 Trial (parent)
serial 1..1 PosInt (key)
name 0..1 Word
details 0..1 Line
dataSources 0..* Nmr.DataSource

trial 1..1 Trial (parent)
serial 1..1 PosInt (key)
mixtureComponent 1..1 MixtureComponent
figOfMerit 1..1 FloatRatio
refSpectra 0..* RefSpectrum

nmrScreen 1..1 NmrScreen (parent)
serial 0..1 PosInt (key)
trials 0..* Trial
phaseType 1..1 PhaseType lig/prt-obs,identification
name 0..1 Line
details 0..1 Text


This model is not for metabolomic analyses like binning, PCA etc. it's only for NMR related administration of experiments, compounds and reference spectra.

If reference compounds and mixtures can change well plate format within a given screen then this needs to be modelled.

Ideally, a good setup would require two NmrProjects; one acting as a reference to contain the non-modified dataSources and resonance assignments for the reference spectra.

Position in well arrays could be specified by row and column, but it is trivial to derive this from the well format and an index.

Some details attributes are Text data type where the user is encouraged to be verbose.

The metabolomics aspects may require more modelling if better descriptions of the tissue sample, control groups etc. is required.

The link to Molecules and/or ChemComps remains an open question.

Trial could be subclassed.

Mixture measurement lists could be separated into non-abstract types to limit measurements only the sensible.

Constraints are required for consistency of NmrProjects across refSpecta and trialExperiment.dataSources respectively.

Unit for volumes could be different.

Compound cocktails could be modelled explicitly if required

We could bring in links to NmrExpSeris and MeasurementLists