mailRe: To all relax developers: presenting relax at the ENC conference and preliminary BMRB NMR-STAR file creation for model-free results.


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Eldon Ulrich on March 18, 2009 - 05:35:
Hi,

Sorry to be late on getting this to you. Directly below is a list of the current relevant tags for the '_Model_free' loop (table) as I have the data modeled. This is still open to discussion and refinement. I have tried to answer your latest comments further below. I will be traveling the next two days, but will try to stay in contact.

Eldon

loop_
_Model_free.ID
_Model_free.Assembly_ID
_Model_free.Assembly_atom_ID
_Model_free.Entity_assembly_ID
_Model_free.Entity_ID
_Model_free.Comp_index_ID
_Model_free.Comp_ID
_Model_free.Obs_atom_ID
_Model_free.Obs_atom_type
_Model_free.Obs_atom_isotope_number
_Model_free.Attached_atom_ID
_Model_free.Attached_atom_type
_Model_free.Attached_atom_isotope_number
_Model_free.S2_val
_Model_free.S2_val_err
_Model_free.S2f_val
_Model_free.S2f_val_err
_Model_free.S2s_val
_Model_free.S2s_val_err
_Model_free.Local_tau_c_val
_Model_free.Local_tau_c_val_err
_Model_free.Tau_e_val
_Model_free.Tau_e_val_err
_Model_free.Tau_f_val
_Model_free.Tau_f_val_err
_Model_free.Tau_s_val
_Model_free.Tau_s_val_err
_Model_free.Rex_val
_Model_free.Rex_val_err
_Model_free.Chi_squared_val
_Model_free.Model_fit
_Model_free.Model_free_list_ID


stop_

Edward d'Auvergne wrote:
On Fri, Mar 13, 2009 at 4:50 PM, Eldon Ulrich <elu@xxxxxxxxxxxxx> wrote:
Hi Edward,

I am working on the dictionary and the enumerations for various tags. Below
are proposed enumerations with a few comments. I should have this in good
shape over the weekend.

Cheers.


Comment #1: The 'General_relaxation' saveframe is intended for standard two
spin relaxation data, but would include more than just R1, R1rho, and R2 as
you can see below. I think it would be best to reserve this saveframe for
rates and not include time constants. It would not include cross-correlation
data.

I don't know if any programs would generate time constants, T1, T2,
etc., but some people are still very old school.  I thought the units
tag covered this though?

The units tag could cover this, but in the end, if all agree, I think it would be best to separate the time constant data from the rate data.



Comment #2: For the 'Temp_calibration_method', I have spelled out the names
of the chemical compounds as there are too many abbreviations and acronyms
that might cause confusion.

That's true.  Thinking about this tag again, I'm not sure how useful
it would be to allow it to be computer parsable.  If it's a fixed
list, then it will be safe either way.


Comment #3: I kept the 'Temp_control_method' as an enumerated tag instead of
breaking it into two tags as you suggested. This allows for the designation
of 'no temperature control applied' and for additional types of control
methods to be added.

That's a good idea.


Comment #4: The 'Temp_calibration_method' and 'Temp_calibration_method' tags
also have been added to the saveframe where a complete description of the
NMR experiment is contained (NMR_spec_expt). The table where you suggested
putting these tags is intended only to link NMR experiments with samples and
sample conditions and the details for each of these are give in the specific
saveframes.

Ok.


Comment #5: We agree here that the 'Order_parameter' saveframe should be
redefined as 'Model_free'. The draft proposal for renaming the tags in the
new 'Model_free' saveframe are given below. I also included just an idea for
how to handle the bond_vector issue you raised by creating a separate table
for this information that is linked to each order parameter value in the
main data table.

I have no problem either way.  If it's ok to name it that way, then
that will make the SRLS people happy.  Then there could be the
'Slowly_relaxing_local_structure' and 'RDC_model_free' saveframe
categories added in the future.


I am afraid I have some family obligations to take care of now, but will be
back to work on this later this afternoon and as I said hope to have a
complete proposal ready over the weekend.

Thanks,
Eldon

Thank you.  There's still plenty of time until the ENC, so please
don't spend too much time on the weekend with this.  I have a few more
points are below.


save__General_relaxation_list.Relaxation_coherence_type

   loop_
     _item_enumeration_value
     _item_enumeration_description

  Iz                  'R1              longitudinal'
  Sz                  'R1              longitudinal'

  I+                  'R1rho           transverse'
  I-                  'R1rho           transverse'
  S+                  'R1rho           transverse'
  S-                  'R1rho           transverse'
  (I+)+(I-)           'R1rho           transverse'
  (S+)+(S-)           'R1rho           transverse'

  I+                  'R2              transverse'
  I-                  'R2              transverse'
  S+                  'R2              transverse'
  S-                  'R2              transverse'
  (I+)+(I-)           'R2              transverse'
  (S+)+(S-)           'R2              transverse'

  I-S+             'ZQ relaxation'
  I+S-             'ZQ relaxation'
  (I+S-)+(I-S+)    'ZQ relaxation'

  IzSz             'longitudinal spin order'

  I+Sz             'single quantum antiphase'
  I-Sz             'single quantum antiphase'
  IzS+             'single quantum antiphase'
  IzS-             'single quantum antiphase'
 ((I+)+(I-))Sz     'single quantum antiphase'
 Iz((S+)+(S-))     'single quantum antiphase'

  I+S+             'DQ relaxation'
  I-S-             'DQ relaxation'
 (I+S+)+(I-S-)      'DQ relaxation'

   stop_

save_

This is missing the NOE?  This could either be sigma_NOE, the
cross-relaxation rate, or the measured steady state NOE:

NOE = 1 + gH/gN * sigma_NOE/R1

Should General_relaxation include NOE relaxation rather than leaving
it in the Heteronucl_NOEs saveframe category?

I have mixed feelings on this. Heteronucl and Homonucl NOEs usually represent relaxation between two specified nuclei. Tags are needed to define the two nuclei. In most cases, R1, R1rho, and R2 values represent the relaxation of one nucleus as influenced by one or more usually unspecified nuclei. This is more or less the reason separate saveframes were orginally created. Sometimes trying to stuff too many things into one box causes confusion even when the items are clearly related. I am open to a discussion on this.



save__General_relaxation_list.Relaxation_type_common_name

   loop_
     _item_enumeration_value
     _item_enumeration_description

     R1                                    .
     R2                                    .
     R1rho                                 .
    'ZQ relaxation'                        .
    'longitudinal spin order'              .
    'single quantum antiphase'             .
    'DQ relaxation'                        .

   stop_

save_


save__General_relaxation_list.Relaxation_val_units

   loop_
     _item_enumeration_value
     _item_enumeration_description

        s-1           .
        ms-1          .
        us-1          .
        ps-1          .

   stop_

save_

ns-1 is missing.  I would assume these will be reported only in s-1
though as the rates are on the order of seconds.


Yes, added.

save__General_relaxation_list.Temp_calibration_method

   loop_
     _item_enumeration_value
     _item_enumeration_description

   methanol                    .
  'monoethylene glycol'        .
  'no calibration applied'     .

  stop_

save_

This I can easily handle in relax.


save__General_relaxation_list.Temp_control_method

   loop_
     _item_enumeration_value
     _item_enumeration_description

   'single scan interleaving'                                         .
   'temperature compensation block'                                   .
   'single scan interleaving and temperature compensation block'      .
   'no temperature control applied'                                   .

  stop_

save_

This too.


save_
save_order_parameter_list_1
    _Model_free_list.Sf_category
    _Model_free_list.Sf_framecode
    _Model_free_list.ID
    _Model_free_list.Sample_condition_list_ID
    _Model_free_list.Sample_condition_list_label
    _Model_free_list.Tau_e_val_units
    _Model_free_list.Tau_s_val_units
    _Model_free_list.Global_chi_squared_fit_val
    _Model_free_list.Global_tau_c_val
    _Model_free_list.Details

The _Model_free_list.Global_chi_squared_fit_val tag is quite useful.
I can use that straight away.  Would it be useful to match
_Model_free.Chi_squared_val and call it
_Model_free_list.Global_chi_squared_val?

Yes, see new set of tags below:

_Model_free_list.Sf_category
_Model_free_list.Sf_framecode
_Model_free_list.ID
_Model_free_list.Sample_condition_list_ID
_Model_free_list.Sample_condition_list_label
_Model_free_list.Tau_e_val_units
_Model_free_list.Tau_s_val_units
_Model_free_list.Tau_c_val_units
_Model_free_list.Global_tau_c_val
_Model_free_list.Global_chi_squared_val
_Model_free_list.Details


As for the diffusion tensor, I've looked into the BMRB for saveframes
and there appears to be nothing I can use.  This is actually quite
complex, as the diffusion tensor can be spherical (with just a tau_c),
spheroidal, and ellipsoidal.  The ellipsoidal diffusion tensor is
composed of 6 parameters, {Diso, Da, Dr, alpha, beta, gamma}.
Alternatively you can specify this using the eigenvalues {Dx, Dy, Dz,
alpha, beta, gamma}.  The Euler angles in relax are in the zyz
notation (not always though), and are defined from 0 from their axes
(this changes things too).  They are folded between:

0 <= alpha <= 2pi,
0 <= beta <= pi,
0 <= gamma <= 2pi.

The spheroidal tensor is composed of 4 parameters, {Diso, Da, theta,
phi} (or {Dpar, Dper, theta, phi}).  Theta and phi are the polar
angles, and are defined in relax starting at 0 to pi and 2pi
respectively.  This is all described in the relax manual on page 163
(http://download.gna.org/relax/manual/1.3/relax.pdf).  relax can dump
all of these parameters, including all permutations of parameters, if
you wish.

Things can get more complicated though because of what I have called
hybrid diffusion models in relax.  A good example would be a 2-domain
protein.  Each domain would have it's own diffusion tensor, each being
one of the ellipsoid, spheroid, and sphere.  Alternatively, a stretch
of residues could be described by the local_tau_m parameter, and the
rest belonging to a rigid core of the protein being described by a
single or multiple diffusion tensors.  Therefore for the global
diffusion tensor info, quite a bit needs to be stored, including a
list of the spin systems that the tensor covers.  I can also guarantee
that much more complex global diffusion models will exist in the
future (I'll talk to you again later once I develop these).

We should discuss this at the ENC and see if there is a reasonable way to model all of these options.


 loop_
    _Model_free_input.Saveframe_category_ID
    _Model_free_input.Saveframe_label
    _Model_free_experiment.Model_free_list_ID

 stop_

I'm still not sure what I'm supposed to put into the Model_free_input 
saveframe?

I think I did not construct the above loop correctly and it should look like this with example values for the tags:

  loop_
    _Model_free_input.Saveframe_category
    _Model_free_input.Saveframe_ID
    _Model_free_input.Saveframe_label
    _Model_free_input.Model_free_list_ID

   'general_relaxation'   1   $general_relaxation_R1_600MHz    1
   'general_relaxation'   2   $general_relaxation_R2_600MHz    1
   'Heteronucl_NOE'       1   $Heteronucl_NOE_600MHz           1
   'general_relaxation'   3   $general_relaxation_R1_800MHz    1
   'general_relaxation'   4   $general_relaxation_R2_800MHz    1
   'Heteronucl_NOE'       2   $Heteronucl_NOE_800MHz           1

  stop_

Entries may have many sets (saveframes) of R1, R2, heteroNOE, and other data. A particular set of order parameters will be derived from specific sets of input data. There maybe more than one set of reported order parameters. It is not appropriate to assume that the order parameters are derived from all of the data in the entry, and therefore the above loop or table is needed to define which sets of relaxation data were used to derive the specific set of order parameters. Of course, this assumes that a set of results are derived from sets of input data and it could be argued that this should be modeled at the level of data items and not data sets. This could be done, but becomes much more complex requiring at least two additional loops or tables.

In the above example the combination of 'Saveframe_category' and 'Saveframe_ID' is redundant with 'Saveframe_label'. You can choose the one you would prefer to program.

I also have assumed that the NOE data will continue to be recorded in a unique type of saveframe and not be recorded in a 'general_relaxation' saveframe. This point is still up for discussion.



 loop_
    _Model_free_software.Software_ID
    _Model_free_software.Software_label
    _Model_free_software.Method_ID
    _Model_free_software.Method_label
    _Model_free_software.Model_free_list_ID


 stop_

 loop_
    _Model_free.ID
    _Model_free.Assembly_ID
    _Model_free.Entity_assembly_ID
    _Model_free.Entity_ID
    _Model_free.Comp_index_ID
    _Model_free.Comp_ID
    _Model_free.Obs_atom_ID
    _Model_free.Attached_atom_ID
    _Model_free.Bond_vector_x_val
    _Model_free.Bond_vector_y_val
    _Model_free.Bond_vector_z_val

Should the above 3 tags be removed?
Yes, if you feel the 'Bond_vector.X_val' table below will be more flexible and be the better way of modeling the data.


    _Model_free.Bond_length_val
    _Model_free.Bond_length_val_err
    _Model_free.S2_val
    _Model_free.S2_val_err
    _Model_free.S2f_val
    _Model_free.S2f_val_err
    _Model_free.S2s_val
    _Model_free.S2s_val_err
    _Model_free.Local_tau_c_val
    _Model_free.Local_tau_c_val_err
    _Model_free.Tau_e_val
    _Model_free.Tau_e_val_err
    _Model_free.Tau_f_val
    _Model_free.Tau_f_val_err
    _Model_free.Tau_s_val
    _Model_free.Tau_s_val_err
    _Model_free.Rex_val
    _Model_free.Rex_val_err
    _Model_free.Chi_squared_val
    _Model_free.Model_fit
    _Model_free.Model_free_list_ID


 stop_

 loop_
    _Bond_vector.ID
    _Bond_vector.Model_free_ID
    _Bond_vector.X_val
    _Bond_vector.Y_val
    _Bond_vector.Z_val
    _Bond_vector.Model_free_list_ID


 Stop_

Do I put this Bond_vector saveframe into the Model_free saveframe
category, or is it its own saveframe category?

If you prefer this 'Bond_vector' table with the '.Model_free_ID' foreign key, then this would be a loop within the Model_free saveframe and the '_Model_free.Bond_vector_?_val' tags would be removed.


Regarding the enumerations below for the '.Model_fit' tag, we have found that if we do not list as complete a list of enumerations as possible, depositors seem to think that if their data is not in the enumerated list BMRB will not accept it. I duplicated the RELAX strings with those you provided for Art's ModelFree program only because I was afraid that the order and spelling of the variables in the string might be software dependent and therefore affect the interpretation of the deposited data sets.


>I don't think that all these models are currently required.  They
>could be added once someone uses this - and develops the theory and
>methodology to use these, but for now, the BMRB probably only needs:

> >        '{ }'                                                .
> >        '{S2}'                                               .
> >        '{S2, te}'                                           .
> >        '{S2, Rex}'                                          .
> >        '{S2, te, Rex}'                                      .
> >        '{S2f, S2, ts}                                       .
> >        '{S2f, tf, S2, ts}'                                  .
> >        '{S2f, S2, ts, Rex}'                                 .
> >        '{S2f, tf, S2, ts, Rex}'                             .
> >        '{Rex}'                                              .

The model-free models:

> >        'S2s'                                                .
> >        'S2s and te'                                         .
> >        'S2s and Rex'                                        .
> >        'S2s, te and Rex'                                    .
> >        'Sf2, Ss2, and te'                                   .

are simply the 2nd to the 6th entries from the top list (note the last
one should be 'Sf2, Ss2, and ts'), so I don't think these are
necessary.  The top ones cover all combinations possible in relax,
Dasha, and modelfree4.  This is everything the theory allows (well
parameters such as CSA, bond length, angle between CSA and dipole
interaction, and maybe others could be added later), and is
independent of the program used.  The only thing to do with relax in
the top list is the order and the curly brackets.

Regards,

Edward



On Fri, Mar 13, 2009 at 5:15 PM, Eldon Ulrich <elu@xxxxxxxxxxxxx> wrote:
> > Hi,
> >
> > Forgot to include the 'Model_fit' enumerations. I would prefer to go with > > the strings as shown. Other formats like '000110' can be software version > > specific and more difficult to track properly over long periods of time in
> > the BMRB archive.
> >
> > Eldon
> >
> >
> >
> > save__Order_param.Model_fit
> >
> >  loop_
> >     _item_enumeration_value
> >     _item_enumeration_description
> >
> >        '{ }'                                                .
> >        '{S2}'                                               .
> >        '{S2, te}'                                           .
> >        '{S2, Rex}'                                          .
> >        '{S2, te, Rex}'                                      .
> >        '{S2f, S2, ts}                                       .
> >        '{S2f, tf, S2, ts}'                                  .
> >        '{S2f, S2, ts, Rex}'                                 .
> >        '{S2f, tf, S2, ts, Rex}'                             .
> >        '{Rex}'                                              .
> >
> >
> > # The preset model-free models with optimisation of the CSA value are
> >        '{CSA}'                                              .
> >        '{CSA, S2}'                                          .
> >        '{CSA, S2, te}'                                      .
> >        '{CSA, S2, Rex}'                                     .
> >        '{CSA, S2, te, Rex}'                                 .
> >        '{CSA, S2f, S2, ts}'                                 .
> >        '{CSA, S2f, tf, S2, ts}'                             .
> >        '{CSA, S2f, S2, ts, Rex}'                            .
> >        '{CSA, S2f, tf, S2, ts, Rex}'                        .
> >        '{CSA, Rex}'                                         .
> >
> > # The preset model-free models with optimisation of the bond length are
> >        '{r}'                                                .
> >        '{r, S2}'                                            .
> >        '{r, S2, te}'                                        .
> >        '{r, S2, Rex}'                                       .
> >        '{r, S2, te, Rex}'                                   .
> >        '{r, S2f, S2, ts}'                                   .
> >        '{r, S2f, tf, S2, ts}'                               .
> >        '{r, S2f, S2, ts, Rex}'                              .
> >        '{r, S2f, tf, S2, ts, Rex}'                          .
> >        '{r, CSA, Rex}'                                      .
> >
> > # The preset model-free models with both optimisation of the bond length
> > and CSA are
> >        '{r, CSA}'                                           .
> >        '{r, CSA, S2}'                                       .
> >        '{r, CSA, S2, te}'                                   .
> >        '{r, CSA, S2, Rex}'                                  .
> >        '{r, CSA, S2, te, Rex}'                              .
> >        '{r, CSA, S2f, S2, ts}'                              .
> >        '{r, CSA, S2f, tf, S2, ts}'                          .
> >        '{r, CSA, S2f, S2, ts, Rex}'                         .
> >        '{r, CSA, S2f, tf, S2, ts, Rex}'                     .
> >        '{r, CSA, Rex}'                                      .
> >
> > #    Warning:  The models in the thirties range fail when using
> > # standard R1, R2, and NOE relaxation data. This is due to the extreme
> > flexibly of these
> > #     models where a change in the parameter 'r' is compensated by a
> > corresponding change in the
> > #     parameter 'CSA' and vice versa.
> >
> >
> > #    Additional preset model-free models, which are simply extensions
> > #    of the above models with the addition of a local tm parameter are:
> >        '{tm}'                                               .
> >        '{tm, S2}'                                           .
> >        '{tm, S2, te}'                                       .
> >        '{tm, S2, Rex}'                                      .
> >        '{tm, S2, te, Rex}'                                  .
> >        '{tm, S2f, S2, ts}'                                  .
> >        '{tm, S2f, tf, S2, ts}'                              .
> >        '{tm, S2f, S2, ts, Rex}'                             .
> >        '{tm, S2f, tf, S2, ts, Rex}'                         .
> >        '{tm, Rex}'                                          .
> >
> >
> > # The preset model-free models with optimisation of the CSA value are
> >        '{tm, CSA}'                                          .
> >        '{tm, CSA, S2}'                                      .
> >        '{tm, CSA, S2, te}'                                  .
> >        '{tm, CSA, S2, Rex}'                                 .
> >        '{tm, CSA, S2, te, Rex}'                             .
> >        '{tm, CSA, S2f, S2, ts}'                             .
> >        '{tm, CSA, S2f, tf, S2, ts}'                         .
> >        '{tm, CSA, S2f, S2, ts, Rex}'                        .
> >        '{tm, CSA, S2f, tf, S2, ts, Rex}'                    .
> >        '{tm, CSA, Rex}'                                     .
> >
> > # The preset model-free models with optimisation of the bond length are
> >        '{tm, r}'                                            .
> >        '{tm, r, S2}'                                        .
> >        '{tm, r, S2, te}'                                    .
> >        '{tm, r, S2, Rex}'                                   .
> >        '{tm, r, S2, te, Rex}'                               .
> >        '{tm, r, S2f, S2, ts}'                               .
> >        '{tm, r, S2f, tf, S2, ts}'                           .
> >        '{tm, r, S2f, S2, ts, Rex}'                          .
> >        '{tm, r, S2f, tf, S2, ts, Rex}'                      .
> >        '{tm, r, CSA, Rex}'                                  .
> >
> > # The preset model-free models with both optimisation of the bond length
> > and CSA are
> >        '{tm, r, CSA}'                                       .
> >        '{tm, r, CSA, S2}'                                   .
> >        '{tm, r, CSA, S2, te}'                               .
> >        '{tm, r, CSA, S2, Rex}'                              .
> >        '{tm, r, CSA, S2, te, Rex}'                          .
> >        '{tm, r, CSA, S2f, S2, ts}'                          .
> >        '{tm, r, CSA, S2f, tf, S2, ts}'                      .
> >        '{tm, r, CSA, S2f, S2, ts, Rex}'                     .
> >        '{tm, r, CSA, S2f, tf, S2, ts, Rex}'                 .
> >        '{tm, r, CSA, Rex}'                                  .
> >
> > #     Modelfree4 models
> >        'S2s'                                                .
> >        'S2s and te'                                         .
> >        'S2s and Rex'                                        .
> >        'S2s, te and Rex'                                    .
> >        'Sf2, Ss2, and te'                                   .
> >
> >  stop_
> >
> > save_

Cheers,

Edward




Related Messages


Powered by MHonArc, Updated Sun Mar 22 16:00:34 2009