ctnmr module

ctnmr contains functions related to nuclear magnetic resonance. ctnmr was written to be independent of needing a trajectory, as it includes some sequence-only functions.

Author(s): Alex Keeley (with Alex Holehouse)

camparitraj.ctnmr.compute_random_coil_chemical_shifts(protein_sequence, temperature=25, pH=7.4, use_ggxgg=True, use_perdeuteration=False, asFloat=False)

Function that predicts the random coil chemical shifts for user-provided amino acid sequence corrected for user-provided conditions. Specifically, chemical shift and general sequence correction factors are from [1], temperature corrections and glycine corrections are from [2] and the underlying methods associated with correction-factor calculations are in [3]. The correction factors for pertdeuteration are from [4].

Input sequence can be a standard one-letter sequence, but phosphoresidues can also be included (see examples). Code is based on JavaScript written by Alex Maltsev at the NIH and can be accessed here (https://www1.bio.ku.dk/english/research/bms/research/sbinlab/randomchemicalshifts/).

  • sequence (str) – The sequence of representative abbreviations for the sequence of amino acids

  • temperature (float or int) – Experiment temperature of the sample of amino acids for use in corrected chemical shift calculations (note units are in degrees celcius). Default value is 25 and should be between 0 and 100.

  • pH (float or int) – pH of the sample of amino acids for use in corrected chemical shift calculations. Default value us 7.4 and should be between 0 and 14.

  • use_ggxgg (bool) – Whether to use GGXGG-based neighbor correction for glycines. Default is True.

  • use_perdeuteration (bool) – Whether perdeuterated correction factors should be used. Default is False. Note this cannot work with phosphoresidues

  • asFloat (bool) – Whether to populate output dictionaries with float or string variables containing chemical shift numbers. False (strings) by default.


output – List containing a dictionary for each amino acid in the provided sequence detailing abbreviation and chemical shifts for the main six different atoms.

Return type

list of dict



[1] Kjaergaard, M. and Poulsen, F.M. (2011) Sequence correction of random coil chemical shifts: correlation between neighbor correction factors and changes in the Ramachandran distribution J. Biomol. NMR 50(2):157-165

[2] Kjaergaard, M., Brander, S. and Poulsen, F.M. (2011) Random coil chemical shifts for intrinsically disordered proteins: Effects of temperature and pH J. Biomol. NMR 49(2):139-49.

[3] Schwarzinger, S., Kroon, G.J., Foss, T.R., Chung. J., Wright, P.E., Dyson, H.J. (2001) Sequence-dependent correction of random coil NMR chemical shifts. JACS 123(13):2970-8.

[4] Cavanagh, J., Fairbrother, W.J., Palmer, A.G., Rance, M. and Skelton, N.J. (2007) Protein NMR Spectroscopy - Principles and practice. 2nd edition. Academic Press