1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """The Auto relaxation data saveframe category.
24
25 This file is part of the U{BMRB library<https://sourceforge.net/projects/bmrblib>}.
26
27 For example, see http://www.bmrb.wisc.edu/dictionary/3.1html/SaveFramePage.html#auto_relaxation.
28 """
29
30
31 from bmrblib.base_classes import BaseSaveframe, TagCategory, TagCategoryFree
32
33
35 """The Auto relaxation data saveframe class."""
36
37
38 name = 'auto'
39 sf_label = 'auto_relaxation'
40
49
50
52 """Perform some saveframe specific operations prior to XML creation."""
53
54
55 if self.data_type == 'R1':
56 self.coherence = 'Iz'
57 self.coherence_common_name = 'R1'
58 elif self.data_type == 'R2':
59 self.coherence = 'I+'
60 self.coherence_common_name = 'R2'
61 else:
62 raise NameError("The data type '%s' is not one of ['R1', 'R2']." % data_type)
63
64
65 self.sf_framecode = '%s MHz %s relaxation %s' % (self.frq, self.data_type, self.count)
66
67
69 """Base class for the AutoRelaxationList tag category."""
70
72 """Setup the AutoRelaxationList tag category.
73
74 @param sf: The saveframe object.
75 @type sf: saveframe instance
76 """
77
78
79 super(AutoRelaxationList, self).__init__(sf)
80
81
82 self.tag_category_label = 'Auto_relaxation_list'
83
84
85 self.add(key='EntryID', var_name='entry_id', format='str')
86 self.add(key='AutoRelaxationListID', var_name='count_str', format='int')
87 self.add(key='DataFileName', var_name='data_file_name', format='str')
88 self.add(key='SampleConditionListID', var_name='sample_cond_list_id', format='int')
89 self.add(key='SampleConditionListLabel', var_name='sample_cond_list_label', format='str', default='$conditions_1')
90 self.add(key='TempCalibrationMethod', var_name='temp_calibration', format='str', missing=False)
91 self.add(key='TempControlMethod', var_name='temp_control', format='str', missing=False)
92 self.add(key='SpectrometerFrequency1H', var_name='frq', format='float')
93 self.add(key='CommonRelaxationTypeName', var_name='coherence_common_name', format='str')
94 self.add(key='RelaxationCoherenceType', var_name='coherence', format='str')
95 self.add(key='RelaxationValUnits', var_name='units', format='str', default='s-1')
96 self.add(key='RelaxationValType', var_name='peak_intensity_type', format='str', missing=False)
97 self.add(key='RexUnits', var_name='rex_units', format='str')
98 self.add(key='Details', var_name='details', format='str')
99 self.add(key='TextDataFormat', var_name='text_data_format', format='str')
100 self.add(key='TextData', var_name='text_data', format='str')
101
102
103
105 """Base class for the AutoRelaxationExperiment tag category."""
106
108 """Setup the AutoRelaxationExperiment tag category.
109
110 @param sf: The saveframe object.
111 @type sf: saveframe instance
112 """
113
114
115 super(AutoRelaxationExperiment, self).__init__(sf)
116
117
118 self.tag_category_label = 'Auto_relaxation_experiment'
119
120
121 self.add(key='ExperimentID', var_name='experiment_id', format='int')
122 self.add(key='ExperimentName', var_name='experiment_name', format='str')
123 self.add(key='SampleID', var_name='sample_id', format='int')
124 self.add(key='SampleLabel', var_name='sample_label', format='str', default='$sample_1')
125 self.add(key='SampleState', var_name='sample_state', format='str')
126 self.add(key='EntryID', var_name='entry_id', format='str')
127 self.add(key='AutoRelaxationListID', var_name='heteronucl_t1_list_id', format='int')
128
129
130
132 """Base class for the AutoRelaxationSoftware tag category."""
133
135 """Setup the AutoRelaxationSoftware tag category.
136
137 @param sf: The saveframe object.
138 @type sf: saveframe instance
139 """
140
141
142 super(AutoRelaxationSoftware, self).__init__(sf)
143
144
145 self.tag_category_label = 'Auto_relaxation_software'
146
147
148 self.add(key='SoftwareID', var_name='software_id', format='int')
149 self.add(key='SoftwareLabel', var_name='software_label', format='str')
150 self.add(key='MethodID', var_name='method_id', format='int')
151 self.add(key='MethodLabel', var_name='method_label', format='str')
152 self.add(key='EntryID', var_name='entry_id', format='str')
153 self.add(key='AutoRelaxationListID', var_name='heteronucl_t1_list_id', format='int')
154
155
156
158 """Base class for the AutoRelaxation tag category."""
159
161 """Setup the AutoRelaxation tag category.
162
163 @param sf: The saveframe object.
164 @type sf: saveframe instance
165 """
166
167
168 super(AutoRelaxation, self).__init__(sf)
169
170
171 self.tag_category_label = 'Auto_relaxation'
172
173
174 self.add(key='AutoRelaxationID', var_name='data_ids', format='int')
175 self.add(key='AssemblyID', var_name='assembly_ids', format='int')
176 self.add(key='AssemblyAtomID', var_name='assembly_atom_ids', format='int')
177 self.add(key='EntityAssemblyID', var_name='entity_assembly_ids', format='int')
178 self.add(key='EntityID', var_name='entity_ids', format='int', missing=False)
179 self.add(key='CompIndexID', var_name='res_nums', format='int', missing=False)
180 self.add(key='SeqID', var_name='seq_id', format='int')
181 self.add(key='CompID', var_name='res_names', format='str', missing=False)
182 self.add(key='AtomID', var_name='atom_names', format='str', missing=False)
183 self.add(key='AtomType', var_name='atom_types', format='str')
184 self.add(key='AtomIsotopeNumber', var_name='isotope', format='int')
185 self.add(key='Val', var_name='data', format='float')
186 self.add(key='ValErr', var_name='errors', format='float')
187 self.add(key='RexVal', var_name='rex_val', format='float')
188 self.add(key='RexErr', var_name='rex_err', format='float')
189 self.add(key='ResonanceID', var_name='resonance_id', format='int')
190 self.add(key='AuthEntityAssemblyID', var_name='auth_entity_assembly_id', format='str')
191 self.add(key='AuthSeqID', var_name='auth_seq_id', format='str')
192 self.add(key='AuthCompID', var_name='auth_atom_id', format='str')
193 self.add(key='AuthAtomID', var_name='auth_atom_id', format='str')
194 self.add(key='EntryID', var_name='entry_id', format='str')
195 self.add(key='AutoRelaxationListID', var_name='count_str', format='int')
196