Is it possible to generate a spectrum from BMRB chemical shifts?
I want to generate a spectrum to use as a reference for an H1-N15 HSQC experiment.
asked Nov 03 '11 at 10:46
NMRPipe already has some facilities for generating qualitative simulations, and you can start with BMRB-format data. Here's how ...
The script "star2cs.tcl" converts BMRB format chemical shifts into the chemical shift tables used by NMRPipe-related programs like TALOS.
The script "c2pk.tcl" takes a chemical shift table, and creates a simple synthetic 2D or 3D peak table for a selected canonical spectral type, like HN, HNCA, CBCANH, etc. Linewidths are uniform, and intensities are one of two values, depending on whether the signals is intra- or inter-residue.
"cs2pk.tcl" also creates a script which uses the synthetic peak table to generate a synthetic FID in NMRPipe format.
If you give "cs2pk.tcl" the "fid.com" conversion script for a measured spectrum, it can set up the simulated data so that it has the same parameters as the measured data. Otherwise, it will use some generic spectral widths etc for 1H, 15N and 13C.
This creates "csObs.tab":
This creates "simTD.tab" and "simTD.com" for a 2D HN/N spectrum:
This is what simTD.com as created above looks like:
answered Dec 11 '11 at 14:15
To simulate a 2D 1H-15N HSQC spectrum you will need information regarding chemical shifts of 1H and attached 15N nuclei, 1H-15N coupling constants and relaxation rates/line-widths.
You can generate a model 1H-15N HSQC spectrum from BMRB chemical shifts, if the chemical shifts of ALL the 15N nuclei in the protein and the attached protons have been assigned for the molecular (protein?) of interest. If information, regarding relaxation rates is also available for the same protein in BMRB then you can calculate the linewidths. You may find that for many BMRB data sets the 15N relaxation rates are available, but the corresponding relaxation rates for 1H are not available. The 1J(1H-15N) coupling constant is fairly uniform for most backbone amides, and the literature value should be fine for most applications.
If information regarding relaxation rates is not available in BMRB for the protein of interest and if you have a globular protein, and if its molecular weight is known, then you can predict T2's for backbone amides. As an initial approximation, you may neglect the effects of chemical exchange. For proteins, the molecular weight of the monomer can be easily calculated from knowledge of the amino-acid sequence (this information should be present in the BMRB data files) - the number of monomers in a molecule of the protein has to be determined experimentally.
A number of spectral simulation programs capable of generating 1H-15N HSQC spectra from chemical shifts, coupling constants and relaxation rates are available, e.g., GAMMA from ETH group.
assuming that you just care about the correct peak positions, have a look at the program peaks2ucsf :
you have to make an input peak list first, see below
$ peaks2ucsf Syntax: peaks2ucsf output-file < parameter-file
Creates a UCSF format spectrum file from a list of Gaussian peaks. The parameter file has the following format.
2 # dimension 1024 2048 # matrix size 8.37 9.21 # ppm at index 0,0 H H # nuclei (H, N or C) 500.123 500.123 # nucleus frequencies (MHz) 4000.732 5200.183 # spectral widths (Hz) 4.37 2.15 1.95e6 13.2 15.1 # Gaussian center (ppm), height, linewidth (Hz) .
answered Dec 07 '11 at 02:35
Here's a procedure I came up with to get a 2D spectrum in NMRPipe format from an NMRStar chemical shift file downloaded from BMRB. It's a bit tedious, but it does work. Except for the Perl script I'll put at the end, everything is in a stock NMRPipe install.
Here are my instructions to myself:
1) Prepare a shift list in NMRPipe table format. You can use my star2pipe.pl script for this, modified as necessary. The list MUST contain these columns:
Values for XAXIS, YAXIS, XW, and YW can all be set to 0.0 for now. XWHZ and YWHZ should be reasonable values (I've found that 20 Hz works well). Call this file temp.tab.
2) Prepare an empty NMRPipe spectrum. Make sure the spectral frequencies and sweep widths are reasonable. Also, the axes should be in the same order as in the peak table. Call this file temp.ft2. Two ways to do this:
2a. Make a copy of an existing HSQC with the data zeroed.
2b. Create an empty fid and transform it:
3) Update your table file to have the correct values IN POINTS for the peak positions and linewidths:
4) Create the synthetic spectrum using the files you've made using one of these methods:
4a. Frequency domain spectrum:
4b. Time domain (FID) data:
Note that in 4b. the point sizes in both dimensions are HALVED relative to the command in step 2b. If not, the peaks are in the wrong places! This probably has to do with processing the data to get the right point sizes and deleting imaginaries.
And here is my star2pipe.pl script. You'll need to modify the output in the last few lines to have all the columns/fields listed in step 1 above.