1   
  2   
  3   
  4   
  5   
  6   
  7   
  8   
  9   
 10   
 11   
 12   
 13   
 14   
 15   
 16   
 17   
 18   
 19   
 20   
 21   
 22   
 23  """The Heteronuclear NOE data saveframe category. 
 24   
 25  This file is part of the U{BMRB library<https://gna.org/projects/bmrblib>}. 
 26   
 27  For example, see http://www.bmrb.wisc.edu/dictionary/3.1html/SaveFramePage.html#heteronucl_NOEs. 
 28  """ 
 29   
 30   
 31  from bmrblib.base_classes import BaseSaveframe, TagCategory, TagCategoryFree 
 32   
 33   
 35      """The Heteronuclear NOE data saveframe class.""" 
 36   
 38          """Perform some saveframe specific operations prior to XML creation.""" 
 39   
 40           
 41          self.sf_framecode = '%s MHz heteronuclear NOE %s' % (self.frq, self.count) 
   42   
 43   
 44   
 46      """Base class for the HeteronuclNOEList tag category.""" 
 47   
 49          """Setup the HeteronuclNOEList tag category. 
 50   
 51          @param sf:  The saveframe object. 
 52          @type sf:   saveframe instance 
 53          """ 
 54   
 55           
 56          super(HeteronuclNOEList, self).__init__(sf) 
 57   
 58           
 59          self.add(key='EntryID',                  var_name='entry_id',                   format='str') 
 60          self.add(key='HeteronuclNOEListID',      var_name='count_str',                  format='int') 
 61          self.add(key='DataFileName',             var_name='data_file_name',             format='str') 
 62          self.add(key='SampleConditionListID',    var_name='sample_cond_list_id',        format='int') 
 63          self.add(key='SampleConditionListLabel', var_name='sample_cond_list_label',     format='str',  default='$conditions_1') 
 64          self.add(key='SpectrometerFrequency1H',  var_name='frq',                        format='float') 
 65          self.add(key='TempCalibrationMethod',    var_name='temp_calibration',           format='str',  missing=False) 
 66          self.add(key='TempControlMethod',        var_name='temp_control',               format='str',  missing=False) 
 67          self.add(key='HeteronuclearNOEValType',  var_name='peak_intensity_type',        format='str') 
 68          self.add(key='NOERefVal',                var_name='noe_ref_val',                format='float') 
 69          self.add(key='NOERefDescription',        var_name='noe_ref_description',        format='str') 
 70          self.add(key='Details',                  var_name='details',                    format='str') 
 71          self.add(key='TextDataFormat',           var_name='text_data_format',           format='str') 
 72          self.add(key='TextData',                 var_name='text_data',                  format='str') 
   73   
 74   
 75   
 77      """Base class for the HeteronuclNOEExperiment tag category.""" 
 78   
 80          """Setup the HeteronuclNOEExperiment tag category. 
 81   
 82          @param sf:  The saveframe object. 
 83          @type sf:   saveframe instance 
 84          """ 
 85   
 86           
 87          super(HeteronuclNOEExperiment, self).__init__(sf) 
 88   
 89           
 90          self.add(key='ExperimentID',        var_name='experiment_id',          format='int') 
 91          self.add(key='ExperimentName',      var_name='experiment_name',        format='str') 
 92          self.add(key='SampleID',            var_name='sample_id',              format='int') 
 93          self.add(key='SampleLabel',         var_name='sample_label',           format='str', default='$sample_1') 
 94          self.add(key='SampleState',         var_name='sample_state',           format='str') 
 95          self.add(key='EntryID',             var_name='entry_id',               format='str') 
 96          self.add(key='HeteronuclNOEListID', var_name='heteronucl_noe_list_id', format='int') 
   97   
 98   
 99   
101      """Base class for the HeteronuclNOESoftware tag category.""" 
102   
104          """Setup the HeteronuclNOESoftware tag category. 
105   
106          @param sf:  The saveframe object. 
107          @type sf:   saveframe instance 
108          """ 
109   
110           
111          super(HeteronuclNOESoftware, self).__init__(sf) 
112   
113           
114          self.add(key='SoftwareID',          var_name='software_id',            format='int') 
115          self.add(key='SoftwareLabel',       var_name='software_label',         format='str') 
116          self.add(key='MethodID',            var_name='method_id',              format='int') 
117          self.add(key='MethodLabel',         var_name='method_label',           format='str') 
118          self.add(key='EntryID',             var_name='entry_id',               format='str') 
119          self.add(key='HeteronuclNOEListID', var_name='heteronucl_noe_list_id', format='int') 
  120   
121   
123      """Base class for the HeteronuclNOE tag category.""" 
124   
126          """Setup the HeteronuclNOE tag category. 
127   
128          @param sf:  The saveframe object. 
129          @type sf:   saveframe instance 
130          """ 
131   
132           
133          super(HeteronuclNOE, self).__init__(sf) 
134   
135           
136          self.add(key='HeteronuclNOEID',       var_name='data_ids',                  format='int') 
137          self.add(key='AssemblyAtomID1',       var_name='assembly_atom_ids',         format='int') 
138          self.add(key='EntityAssemblyID1',     var_name='entity_assembly_ids',       format='int') 
139          self.add(key='EntityID1',             var_name='entity_ids',                format='int') 
140          self.add(key='CompIndexID1',          var_name='res_nums',                  format='int') 
141          self.add(key='SeqID1',                var_name='seq_id',                    format='int') 
142          self.add(key='CompID1',               var_name='res_names',                 format='str') 
143          self.add(key='AtomID1',               var_name='atom_names',                format='str') 
144          self.add(key='AtomType1',             var_name='atom_types',                format='str') 
145          self.add(key='AtomIsotopeNumber1',    var_name='isotope',                   format='int') 
146          self.add(key='AssemblyAtomID2',       var_name='assembly_atom_ids_2',       format='int') 
147          self.add(key='EntityAssemblyID2',     var_name='entity_assembly_ids_2',     format='int') 
148          self.add(key='EntityID2',             var_name='entity_ids_2',              format='int') 
149          self.add(key='CompIndexID2',          var_name='res_nums_2',                format='int') 
150          self.add(key='SeqID2',                var_name='seq_id_2',                  format='int') 
151          self.add(key='CompID2',               var_name='res_names_2',               format='str') 
152          self.add(key='AtomID2',               var_name='atom_names_2',              format='str') 
153          self.add(key='AtomType2',             var_name='atom_types_2',              format='str') 
154          self.add(key='AtomIsotopeNumber2',    var_name='isotope_2',                 format='int') 
155          self.add(key='Val',                   var_name='data',                      format='float') 
156          self.add(key='ValErr',                var_name='errors',                    format='float') 
157          self.add(key='ResonanceID1',          var_name='resonance_id',              format='int') 
158          self.add(key='ResonanceID2',          var_name='resonance_id_2',            format='int') 
159          self.add(key='AuthEntityAssemblyID1', var_name='auth_entity_assembly_id',   format='str') 
160          self.add(key='AuthSeqID1',            var_name='auth_seq_id',               format='str') 
161          self.add(key='AuthCompID1',           var_name='auth_comp_id',              format='str') 
162          self.add(key='AuthAtomID1',           var_name='auth_atom_id',              format='str') 
163          self.add(key='AuthEntityAssemblyID2', var_name='auth_entity_assembly_id_2', format='str') 
164          self.add(key='AuthSeqID2',            var_name='auth_seq_id_2',             format='str') 
165          self.add(key='AuthCompID2',           var_name='auth_comp_id_2',            format='str') 
166          self.add(key='AuthAtomID2',           var_name='auth_atom_id_2',            format='str') 
167          self.add(key='EntryID',               var_name='entry_id',                  format='str') 
168          self.add(key='HeteronuclNOEListID',   var_name='count_str',                 format='int') 
  169