Difference between revisions of "Guess j pro.m"

From Spinach Documentation Wiki
Jump to: navigation, search
(Arguments)
(Update function See also links and function index membership)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A reasonable attempt at a function that guesses and assigns all J-couplings in a protein.
+
{{DISPLAYTITLE:guess_j_pro.m}} __NOTOC__
 
+
A reasonable attempt at a function that guesses and assigns all J-couplings in a protein. This function assigns J-couplings in proteins from atomic coordinates using semiempirical estimates. It is a graph-theoretical estimator with the following stages:
==Syntax==
 
 
 
    jmatrix=guess_j_pro(resnums,resnames,labels,coords)
 
 
 
==Description==
 
This function assigns J-couplings in proteins from atomic coordinates using semiempirical estimates. It is a graph-theoretical estimator with the following stages:
 
  
 
# The molecular bonding graph is partitioned into connected subgraphs of size two, and one-bond J-couplings are assigned from a complete database of atom pairs. Our experienceindicates that there are fewer than 100 unique connected atom pairs in regular proteins, and that most one-bond J-couplings within those pairs can be either found in the literature, or measured in individual amino acids, or estimated with sufficient accuracy using electronic structure theory software.
 
# The molecular bonding graph is partitioned into connected subgraphs of size two, and one-bond J-couplings are assigned from a complete database of atom pairs. Our experienceindicates that there are fewer than 100 unique connected atom pairs in regular proteins, and that most one-bond J-couplings within those pairs can be either found in the literature, or measured in individual amino acids, or estimated with sufficient accuracy using electronic structure theory software.
Line 14: Line 8:
 
J-couplings across more than three bonds are ignored.
 
J-couplings across more than three bonds are ignored.
  
==Arguments==
+
==Syntax==
  
      aa_num - nspins x 1 vector giving the number of the amino acid to which each spin belongs
+
    jmatrix=guess_j_pro(aa_num,aa_typ,pdb_id,coords)
 +
 
 +
==Parameters==
 +
 
 +
    aa_num  - nspins x 1 vector giving the number of the amino acid to which each spin belongs
 
   
 
   
      aa_typ - nspins x 1 cell array of strings giving the PDB identifier of the amino acid to  
+
    aa_typ - nspins x 1 cell array of strings giving the PDB identifier of the amino acid to  
 
               which each spin belongs (e.g. 'TYR')
 
               which each spin belongs (e.g. 'TYR')
 
   
 
   
      pdb_id - nspins x 1 cell array of strings giving the PDB identifier of the protein atom  
+
    pdb_id   - nspins x 1 cell array of strings giving the PDB identifier of the protein atom  
              type to which each spin belongs (e.g. 'HE2')
+
              type to which each spin belongs (e.g. 'HE2')
 
   
 
   
      coords - nspins x 1 cell array of 3-vectors giving cartesian coordinates of each spin in Angstrom
+
    coords - nspins x 1 cell array of 3-vectors giving cartesian coordinates of each spin in Angstrom
  
==Returns==
+
==Outputs==
  
 
     jmatrix - nspins x nspins sparse matrix of J-couplings in Hz
 
     jmatrix - nspins x nspins sparse matrix of J-couplings in Hz
Line 37: Line 35:
 
   
 
   
 
     % Guess the J-couplings
 
     % Guess the J-couplings
     jmatrix=guess_j_pro(aa_num,aa_typ,pdb_id,coords)
+
     jmatrix=guess_j_pro(pdb_aa_num,pdb_aa_typ,pdb_atom_id,pdb_coords);
  
 
==Notes==
 
==Notes==
Line 46: Line 44:
 
# This is an auxiliary function that is called by [[protein.m]]; direct calls are discouraged.
 
# This is an auxiliary function that is called by [[protein.m]]; direct calls are discouraged.
  
 +
==See also==
 +
[[read_pdb_pro.m]], [[protein.m]], [[awg_interface.m]], [[bootstrap.m]], [[gslice.m]], [[guess_csa_pro.m]], [[guess_j_nuc.m]], [[py_run.m]], [[retrieve_file.m]], [[spinach2hiper.m]], [[Import,_export,_and_visualisation]], [[Spin_system_specification]]
  
''Revision 3284, authors: [[Ilya Kuprov]], [[Zenawi Welderufael]]''
+
''Version 2.5, authors: [[Ilya Kuprov]], [[Zenawi Welderufael]]''

Latest revision as of 19:37, 6 June 2026

A reasonable attempt at a function that guesses and assigns all J-couplings in a protein. This function assigns J-couplings in proteins from atomic coordinates using semiempirical estimates. It is a graph-theoretical estimator with the following stages:

  1. The molecular bonding graph is partitioned into connected subgraphs of size two, and one-bond J-couplings are assigned from a complete database of atom pairs. Our experienceindicates that there are fewer than 100 unique connected atom pairs in regular proteins, and that most one-bond J-couplings within those pairs can be either found in the literature, or measured in individual amino acids, or estimated with sufficient accuracy using electronic structure theory software.
  2. The molecular bonding graph is partitioned into connected subgraphs of size three, and two-bond J-couplings assigned from a complete database of connected atom triples. The number of unique connected atom triples in proteins is also reasonable – fewer than 150 in regular proteins, a small enough number for an exhaustive list to be compiled from experiments, literature and electronic structure theory estimates.
  3. The molecular bonding graph is partitioned into sequentially connected subgraphs of size four and dihedral angles are computed from atomic coordinates, allowing three-bond J-couplings to be assigned from a complete database of Karplus curves. Karplus curves are a well-researched topic, with specific data available for the backbone and less accurate generic curves available for the rest of the structure. The number of unique sequentially connected atom quartets found in proteins (fewer than 300, many belonging to similar structural types) is sufficiently small for a complete database of Karplus curves to be compiled from literature data, experiments, and electronic structure theory estimates.

J-couplings across more than three bonds are ignored.

Syntax

    jmatrix=guess_j_pro(aa_num,aa_typ,pdb_id,coords)

Parameters

    aa_num  - nspins x 1 vector giving the number of the amino acid to which each spin belongs

    aa_typ  - nspins x 1 cell array of strings giving the PDB identifier of the amino acid to 
              which each spin belongs (e.g. 'TYR')

    pdb_id   - nspins x 1 cell array of strings giving the PDB identifier of the protein atom 
             type to which each spin belongs (e.g. 'HE2')

    coords  - nspins x 1 cell array of 3-vectors giving cartesian coordinates of each spin in Angstrom

Outputs

    jmatrix - nspins x nspins sparse matrix of J-couplings in Hz

Examples

The function accepts, for example, the output of read_pdb_pro.m:

    % Parse the PDB file
    [pdb_aa_num,pdb_aa_typ,pdb_atom_id,pdb_coords]=read_pdb_pro('1D3Z.pdb',1);

    % Guess the J-couplings
    jmatrix=guess_j_pro(pdb_aa_num,pdb_aa_typ,pdb_atom_id,pdb_coords);

Notes

  1. You can add or modify the J-coupling database by editing the function text.
  2. Atoms in the subgraph descriptors are listed alphabetically to make the descriptors unique.
  3. The four numbers in the subgraph descriptors refer to the bonding order, e.g. [1, 3, 2, 4] means that the first atom in the descriptor is bonded to the third, which is bonded to the second, which is bonded to the fourth. The coupling in this case is between atom 1 and atom 4 in the descriptor.
  4. J-couplings produced by this functions are rough estimates. For accurate protein work you must supply your own J-couplings.
  5. This is an auxiliary function that is called by protein.m; direct calls are discouraged.

See also

read_pdb_pro.m, protein.m, awg_interface.m, bootstrap.m, gslice.m, guess_csa_pro.m, guess_j_nuc.m, py_run.m, retrieve_file.m, spinach2hiper.m, Import,_export,_and_visualisation, Spin_system_specification

Version 2.5, authors: Ilya Kuprov, Zenawi Welderufael