Difference between revisions of "Nuclacid.m"

From Spinach Documentation Wiki
Jump to: navigation, search
(Sync syntax/arguments/outputs with current Spinach source)
Line 1: Line 1:
 
{{DISPLAYTITLE:nuclacid.m}} __NOTOC__
 
{{DISPLAYTITLE:nuclacid.m}} __NOTOC__
 +
 
Nucleic acid data import function. This function parses PDB and chemical shift data, runs a J-coupling guess using [[guess_j_nuc.m]] function and outputs sys and inter data structures that are required by [[create.m]] gateway function in ''Spinach''.
 
Nucleic acid data import function. This function parses PDB and chemical shift data, runs a J-coupling guess using [[guess_j_nuc.m]] function and outputs sys and inter data structures that are required by [[create.m]] gateway function in ''Spinach''.
  
 
==Syntax==
 
==Syntax==
  
    [sys,inter]=nuclacid(pdb_file,shift_file,options)
+
[sys,inter]=nuclacid(pdb_file,shift_file,options)
  
 
==Arguments==
 
==Arguments==
  
            pdb_file - a character string containing the name of the PDB file
+
pdb_file - a character string containing the name
   
+
                      of the PDB file
          shift_file - a character string containing the name of the chemical  
+
 
                      shift file, ASCII formatted as [residue_number atom_id shift],
+
        shift_file - a character string containing the name
                      see example.txt in examples/nmr_nucleic  
+
                      of the chemical shift file, ASCII for-
     
+
                      matted as [residue_number atom_id shift],
  options.deut_list - a cell array of strings, specifying which atoms should be
+
                      see example.txt in examples/nmr_nucleic
                      assumed to be deuterated, for example {'ADE:H2pp'}
+
 
 
+
  options.deut_list - a cell array of strings, specifying which
    options.noshift - 'keep' places unassigned atoms between -1 and 0 ppm, 'delete' removes them from the system
+
                      atoms should be assumed to be deuterated,
 +
                      for example {'ADE:H2pp'}. When an atom is
 +
                      deuterated, J-couplings are reduced appro-
 +
                      priately.
 +
 
 +
    options.noshift - 'keep' places unassigned atoms between -1
 +
                      and 0 ppm, 'delete' removes them from the
 +
                      system
 +
 
 +
 
 +
Returns:
 +
 
 +
 
 +
    sys.isotopes          - Nspins x 1 cell array of strings
 +
 
 +
    sys.labels            - Nspins x 1 cell array of strings
 +
                            containing standard IUPAC DNA/RNA
 +
                            atom labels
 +
 
 +
    inter.coordinates    - Nspins x 3 matrix, Angstrom.
  
When an atom is deuterated, J-couplings are reduced appropriately.
+
    inter.zeeman.scalar  - Nspins x 1 cell array of numbers,
 +
                            ppm. Isotropic chemical shifts go
 +
                            here.
  
==Returns==
+
    inter.coupling.scalar - Nspins x Nspins cell array of sca-
The following subfields of sys and inter data structures are set by this function:
+
                            lar couplings, all in Hz.
  
    sys.isotopes          - Nspins x 1 cell array of strings
+
  ilya.kuprov@weizmann.ac.il
 
    sys.labels            - Nspins x 1 cell array of strings containing standard IUPAC protein atom labels
 
 
    inter.coordinates    - Nspins x 3 matrix, Angstrom.
 
 
    inter.zeeman.scalar  - Nspins x 1 cell array of numbers, ppm. Isotropic chemical shifts go here.
 
   
 
    inter.coupling.scalar - Nspins x Nspins cell array of scalar couplings, all in Hz.
 
  
 
==Examples==
 
==Examples==
 +
 
Below is a typical use case for this function. This script calculates the HSQC spectrum of the example RNA hairpin.
 
Below is a typical use case for this function. This script calculates the HSQC spectrum of the example RNA hairpin.
  
Line 104: Line 119:
 
            
 
            
 
Further examples are available in examples/nmr_nucleic directory.
 
Further examples are available in examples/nmr_nucleic directory.
   
+
 
 
==Notes==
 
==Notes==
 +
 
# Unassigned atom coordinates are used internally for the J-coupling prediction procedure even if options.noshift is set to 'delete'.
 
# Unassigned atom coordinates are used internally for the J-coupling prediction procedure even if options.noshift is set to 'delete'.
 
# Deleting unassigned atoms removes them from the dipolar coupling network. Relaxation properties, such as Overhauser effects, may be distorted as a result.
 
# Deleting unassigned atoms removes them from the dipolar coupling network. Relaxation properties, such as Overhauser effects, may be distorted as a result.
Line 111: Line 127:
  
 
==See also==
 
==See also==
 +
 
[[Spin_system_specification#Protein_and_nucleic_acid_import|Protein and nucleic acid import]]
 
[[Spin_system_specification#Protein_and_nucleic_acid_import|Protein and nucleic acid import]]
  
Line 117: Line 134:
  
 
''Version 2.5, authors: [[Ilya Kuprov]], [[Zenawi Welderufael]]''
 
''Version 2.5, authors: [[Ilya Kuprov]], [[Zenawi Welderufael]]''
 +
 +
==Returns==
 +
 +
The following subfields of sys and inter data structures are set by this function:
 +
 +
    sys.isotopes          - Nspins x 1 cell array of strings
 +
 +
    sys.labels            - Nspins x 1 cell array of strings containing standard IUPAC protein atom labels
 +
 +
    inter.coordinates    - Nspins x 3 matrix, Angstrom.
 +
 +
    inter.zeeman.scalar  - Nspins x 1 cell array of numbers, ppm. Isotropic chemical shifts go here.
 +
 +
    inter.coupling.scalar - Nspins x Nspins cell array of scalar couplings, all in Hz.

Revision as of 15:06, 5 April 2026


Nucleic acid data import function. This function parses PDB and chemical shift data, runs a J-coupling guess using guess_j_nuc.m function and outputs sys and inter data structures that are required by create.m gateway function in Spinach.

Syntax

[sys,inter]=nuclacid(pdb_file,shift_file,options)

Arguments

pdb_file - a character string containing the name

                     of the PDB file
        shift_file - a character string containing the name
                     of the chemical shift file, ASCII for-
                     matted as [residue_number atom_id shift],
                     see example.txt in examples/nmr_nucleic
 options.deut_list - a cell array of strings, specifying which
                     atoms should be assumed to be deuterated,
                     for example {'ADE:H2pp'}. When an atom is
                     deuterated, J-couplings are reduced appro-
                     priately.
   options.noshift - 'keep' places unassigned atoms between -1
                      and 0 ppm, 'delete' removes them from the
                      system


Returns:


   sys.isotopes          - Nspins x 1 cell array of strings
   sys.labels            - Nspins x 1 cell array of strings
                           containing standard IUPAC DNA/RNA
                           atom labels
   inter.coordinates     - Nspins x 3 matrix, Angstrom.
   inter.zeeman.scalar   - Nspins x 1 cell array of numbers,
                           ppm. Isotropic chemical shifts go
                           here.
   inter.coupling.scalar - Nspins x Nspins cell array of sca-
                           lar couplings, all in Hz.
ilya.kuprov@weizmann.ac.il

Examples

Below is a typical use case for this function. This script calculates the HSQC spectrum of the example RNA hairpin.

    % Import RNA data
    options.noshift='keep';
    options.deut_list={'GUA:H1','GUA:H21','GUA:H22','CYT:H41',...
                       'CYT:H42','URI:H3','ADE:H61','ADE:H62'};
    [sys,inter]=nuclacid('example.pdb','example.txt',options);
    
    % Magnet field
    sys.magnet=11.7395;
    
    % Tolerances
    sys.tols.inter_cutoff=5.0;
    sys.disable={'krylov'};
    
    % Basis set
    bas.formalism='sphten-liouv';
    bas.approximation='IK-1';
    bas.connectivity='scalar_couplings';
    bas.level=4; bas.space_level=1;
    
    % Relaxation theory
    inter.relaxation={'damp'};
    inter.rlx_keep='diagonal';
    inter.equilibrium='zero';
    inter.damp_rate=5.0;
    
    % Sequence parameters
    parameters.J=90;
    parameters.sweep=[7500 4500];
    parameters.offset=[16250 4250];
    parameters.npoints=[128 256];
    parameters.zerofill=[1024 1024];
    parameters.spins={'13C','1H'};
    parameters.decouple_f1={'1H','2H'};
    parameters.decouple_f2={'13C','2H'};
    parameters.axis_units='ppm';
    
    % Create the spin system structure
    spin_system=create(sys,inter);
    
    % Build the basis
    spin_system=basis(spin_system,bas);
    
    % Simulation
    fid=liquid(spin_system,@hsqc,parameters,'nmr');
    save('hsqc_rna.mat','spin_system','parameters','fid');
    
    % Apodization
    fid.pos=apodization(fid.pos,'cosbell-2d');
    fid.neg=apodization(fid.neg,'cosbell-2d');
    
    % F2 Fourier transform
    f1_pos=fftshift(fft(fid.pos,parameters.zerofill(2),1),1);
    f1_neg=fftshift(fft(fid.neg,parameters.zerofill(2),1),1);
    
    % Form States signal
    fid=f1_pos+conj(f1_neg);
    
    % F1 Fourier transform
    spectrum=fftshift(fft(fid,parameters.zerofill(1),2),2);
    
    % Destreaking
    spectrum=destreak(spectrum);
    
    % Plotting
    plot_2d(spin_system,real(spectrum),parameters,20,[0.1 0.5 0.1 0.5],2,256,6,'positive');
         

Further examples are available in examples/nmr_nucleic directory.

Notes

  1. Unassigned atom coordinates are used internally for the J-coupling prediction procedure even if options.noshift is set to 'delete'.
  2. Deleting unassigned atoms removes them from the dipolar coupling network. Relaxation properties, such as Overhauser effects, may be distorted as a result.
  3. Watch carefully the output of this function, it would inform you if it sees anything strange in the data supplied. Nucleic acid datasets available from major databases are rarely free of errors.

See also

Protein and nucleic acid import

Protein NMR simulations


Version 2.5, authors: Ilya Kuprov, Zenawi Welderufael

Returns

The following subfields of sys and inter data structures are set by this function:

    sys.isotopes          - Nspins x 1 cell array of strings

    sys.labels            - Nspins x 1 cell array of strings containing standard IUPAC protein atom labels

    inter.coordinates     - Nspins x 3 matrix, Angstrom.

    inter.zeeman.scalar   - Nspins x 1 cell array of numbers, ppm. Isotropic chemical shifts go here.

    inter.coupling.scalar - Nspins x Nspins cell array of scalar couplings, all in Hz.