Author: bugman Date: Sun Feb 22 16:23:56 2009 New Revision: 8854 URL: http://svn.gna.org/viewcvs/relax?rev=8854&view=rev Log: Redesign for different NMR-STAR dictionary version support. All class variables have been converted into dictionaries created upon instantiation. Modified: branches/bmrb/bmrblib/kinetics/heteronucl_NOEs.py branches/bmrb/bmrblib/kinetics/heteronucl_T1_relaxation.py branches/bmrb/bmrblib/kinetics/heteronucl_T2_relaxation.py branches/bmrb/bmrblib/tag_category.py Modified: branches/bmrb/bmrblib/kinetics/heteronucl_NOEs.py URL: http://svn.gna.org/viewcvs/relax/branches/bmrb/bmrblib/kinetics/heteronucl_NOEs.py?rev=8854&r1=8853&r2=8854&view=diff ============================================================================== --- branches/bmrb/bmrblib/kinetics/heteronucl_NOEs.py (original) +++ branches/bmrb/bmrblib/kinetics/heteronucl_NOEs.py Sun Feb 22 16:23:56 2009 @@ -110,40 +110,61 @@ class HeteronuclNOEList(TagCategory): """Base class for the HeteronuclNOEList tag category.""" - # Tag names for the relaxation data. - SfCategory = '_Saveframe_category' - SampleConditionListLabel = '_Sample_conditions_label' - SpectrometerFrequency1H = '_Spectrometer_frequency_1H' - - # Class variables. - coherence = 'Nz' - - def create(self): """Create the HeteronuclNOEList tag category.""" # The save frame category. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SfCategory)], tagvalues=[[self.sf.label+'_relaxation']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SfCategory'])], tagvalues=[[self.sf.label+'_relaxation']])) # Sample info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SampleConditionListLabel)], tagvalues=[['$conditions_1']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SampleConditionListLabel'])], tagvalues=[['$conditions_1']])) # NMR info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SpectrometerFrequency1H)], tagvalues=[[str(self.sf.frq/1e6)]])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SpectrometerFrequency1H'])], tagvalues=[[str(self.sf.frq/1e6)]])) + + + def tag_setup(self, tag_category_label=None, sep=None): + """Replacement method for setting up the tag names. + + @keyword tag_category_label: The tag name prefix specific for the tag category. + @type tag_category_label: None or str + @keyword sep: The string separating the tag name prefix and suffix. + @type sep: str + """ + + # Execute the base class tag_setup() method. + TagCategory.tag_setup(self, tag_category_label=tag_category_label, sep=sep) + + # Tag names for the relaxation data. + self.tag_names['SfCategory'] = 'Saveframe_category' + self.tag_names['SampleConditionListLabel'] = 'Sample_conditions_label' + self.tag_names['SpectrometerFrequency1H'] = 'Spectrometer_frequency_1H' class HeteronuclNOEExperiment(TagCategory): """Base class for the HeteronuclNOEExperiment tag category.""" - # Tag names for experiment setup. - SampleLabel = '_Sample_label' - - - def create(self, frame=None): + def create(self): """Create the HeteronuclNOEExperiment tag category.""" # Sample info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SampleLabel)], tagvalues=[['$sample_1']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SampleLabel'])], tagvalues=[['$sample_1']])) + + + def tag_setup(self, tag_category_label=None, sep=None): + """Replacement method for setting up the tag names. + + @keyword tag_category_label: The tag name prefix specific for the tag category. + @type tag_category_label: None or str + @keyword sep: The string separating the tag name prefix and suffix. + @type sep: str + """ + + # Execute the base class tag_setup() method. + TagCategory.tag_setup(self, tag_category_label=tag_category_label, sep=sep) + + # Tag names for the relaxation data. + self.tag_names['SampleLabel'] = 'Sample_label' class HeteronuclNOESoftware(TagCategory): Modified: branches/bmrb/bmrblib/kinetics/heteronucl_T1_relaxation.py URL: http://svn.gna.org/viewcvs/relax/branches/bmrb/bmrblib/kinetics/heteronucl_T1_relaxation.py?rev=8854&r1=8853&r2=8854&view=diff ============================================================================== --- branches/bmrb/bmrblib/kinetics/heteronucl_T1_relaxation.py (original) +++ branches/bmrb/bmrblib/kinetics/heteronucl_T1_relaxation.py Sun Feb 22 16:23:56 2009 @@ -105,44 +105,69 @@ class HeteronuclT1List(TagCategory): """Base class for the HeteronuclT1List tag category.""" - # Tag names for the relaxation data. - SfCategory = '_Saveframe_category' - SampleConditionListLabel = '_Sample_conditions_label' - SpectrometerFrequency1H = '_Spectrometer_frequency_1H' - T1CoherenceType = '_T1_coherence_type' - T1ValUnits = '_T1_value_units' - - # Class variables. - coherence = 'Nz' - - def create(self): """Create the HeteronuclT1List tag category.""" # The save frame category. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SfCategory)], tagvalues=[[self.sf.label+'_relaxation']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SfCategory'])], tagvalues=[[self.sf.label+'_relaxation']])) # Sample info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SampleConditionListLabel)], tagvalues=[['$conditions_1']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SampleConditionListLabel'])], tagvalues=[['$conditions_1']])) # NMR info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SpectrometerFrequency1H)], tagvalues=[[str(self.sf.frq/1e6)]])) - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.T1CoherenceType)], tagvalues=[[self.coherence]])) - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.T1ValUnits)], tagvalues=[['1/s']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SpectrometerFrequency1H'])], tagvalues=[[str(self.sf.frq/1e6)]])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['T1CoherenceType'])], tagvalues=[[self.variables['coherence']]])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['T1ValUnits'])], tagvalues=[['1/s']])) + + + def tag_setup(self, tag_category_label=None, sep=None): + """Replacement method for setting up the tag names. + + @keyword tag_category_label: The tag name prefix specific for the tag category. + @type tag_category_label: None or str + @keyword sep: The string separating the tag name prefix and suffix. + @type sep: str + """ + + # Execute the base class tag_setup() method. + TagCategory.tag_setup(self, tag_category_label=tag_category_label, sep=sep) + + # Tag names for the relaxation data. + self.tag_names['SfCategory'] = 'Saveframe_category' + self.tag_names['SampleConditionListLabel'] = 'Sample_conditions_label' + self.tag_names['SpectrometerFrequency1H'] = 'Spectrometer_frequency_1H' + self.tag_names['T1CoherenceType'] = 'T1_coherence_type' + self.tag_names['T1ValUnits'] = 'T1_value_units' + + # Class variables. + self.variables['coherence'] = 'Nz' + class HeteronuclT1Experiment(TagCategory): """Base class for the HeteronuclT1Experiment tag category.""" - # Tag names for experiment setup. - SampleLabel = '_Sample_label' - - def create(self, frame=None): """Create the HeteronuclT1Experiment tag category.""" # Sample info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SampleLabel)], tagvalues=[['$sample_1']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SampleLabel'])], tagvalues=[['$sample_1']])) + + + def tag_setup(self, tag_category_label=None, sep=None): + """Replacement method for setting up the tag names. + + @keyword tag_category_label: The tag name prefix specific for the tag category. + @type tag_category_label: None or str + @keyword sep: The string separating the tag name prefix and suffix. + @type sep: str + """ + + # Execute the base class tag_setup() method. + TagCategory.tag_setup(self, tag_category_label=tag_category_label, sep=sep) + + # Tag names for the relaxation data. + self.tag_names['SampleLabel'] = 'Sample_label' class HeteronuclT1Software(TagCategory): Modified: branches/bmrb/bmrblib/kinetics/heteronucl_T2_relaxation.py URL: http://svn.gna.org/viewcvs/relax/branches/bmrb/bmrblib/kinetics/heteronucl_T2_relaxation.py?rev=8854&r1=8853&r2=8854&view=diff ============================================================================== --- branches/bmrb/bmrblib/kinetics/heteronucl_T2_relaxation.py (original) +++ branches/bmrb/bmrblib/kinetics/heteronucl_T2_relaxation.py Sun Feb 22 16:23:56 2009 @@ -105,44 +105,69 @@ class HeteronuclT2List(TagCategory): """Base class for the HeteronuclT2List tag category.""" - # Tag names for the relaxation data. - SfCategory = '_Saveframe_category' - SampleConditionListLabel = '_Sample_conditions_label' - SpectrometerFrequency1H = '_Spectrometer_frequency_1H' - T2CoherenceType = '_T2_coherence_type' - T2ValUnits = '_T2_value_units' - - # Class variables. - coherence = 'Ny' - def create(self): """Create the HeteronuclT2List tag category.""" # The save frame category. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SfCategory)], tagvalues=[[self.sf.label+'_relaxation']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SfCategory'])], tagvalues=[[self.sf.label+'_relaxation']])) # Sample info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SampleConditionListLabel)], tagvalues=[['$conditions_1']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SampleConditionListLabel'])], tagvalues=[['$conditions_1']])) # NMR info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SpectrometerFrequency1H)], tagvalues=[[str(self.sf.frq/1e6)]])) - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.T2CoherenceType)], tagvalues=[[self.coherence]])) - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.T2ValUnits)], tagvalues=[['1/s']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SpectrometerFrequency1H'])], tagvalues=[[str(self.sf.frq/1e6)]])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['T2CoherenceType'])], tagvalues=[[self.variables['coherence']]])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['T2ValUnits'])], tagvalues=[['1/s']])) + + + def tag_setup(self, tag_category_label=None, sep=None): + """Replacement method for setting up the tag names. + + @keyword tag_category_label: The tag name prefix specific for the tag category. + @type tag_category_label: None or str + @keyword sep: The string separating the tag name prefix and suffix. + @type sep: str + """ + + # Execute the base class tag_setup() method. + TagCategory.tag_setup(self, tag_category_label=tag_category_label, sep=sep) + + # Tag names for the relaxation data. + self.tag_names['SfCategory'] = 'Saveframe_category' + self.tag_names['SampleConditionListLabel'] = 'Sample_conditions_label' + self.tag_names['SpectrometerFrequency1H'] = 'Spectrometer_frequency_1H' + self.tag_names['T2CoherenceType'] = 'T2_coherence_type' + self.tag_names['T2ValUnits'] = 'T2_value_units' + + # Class variables. + self.variables['coherence'] = 'Ny' class HeteronuclT2Experiment(TagCategory): """Base class for the HeteronuclT2Experiment tag category.""" - # Tag names for experiment setup. - SampleLabel = '_Sample_label' - - def create(self, frame=None): """Create the HeteronuclT2Experiment tag category.""" # Sample info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.SampleLabel)], tagvalues=[['$sample_1']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SampleLabel'])], tagvalues=[['$sample_1']])) + + + def tag_setup(self, tag_category_label=None, sep=None): + """Replacement method for setting up the tag names. + + @keyword tag_category_label: The tag name prefix specific for the tag category. + @type tag_category_label: None or str + @keyword sep: The string separating the tag name prefix and suffix. + @type sep: str + """ + + # Execute the base class tag_setup() method. + TagCategory.tag_setup(self, tag_category_label=tag_category_label, sep=sep) + + # Tag names for the relaxation data. + self.tag_names['SampleLabel'] = 'Sample_label' class HeteronuclT2Software(TagCategory): Modified: branches/bmrb/bmrblib/tag_category.py URL: http://svn.gna.org/viewcvs/relax/branches/bmrb/bmrblib/tag_category.py?rev=8854&r1=8853&r2=8854&view=diff ============================================================================== --- branches/bmrb/bmrblib/tag_category.py (original) +++ branches/bmrb/bmrblib/tag_category.py Sun Feb 22 16:23:56 2009 @@ -26,21 +26,18 @@ class TagCategory: """The base class for tag category classes.""" - def __init__(self, sf, tag_category_label=None, sep='.'): + def __init__(self, sf): """Initialise the tag category object, placing the saveframe into its namespace. @param sf: The saveframe object. @type sf: saveframe instance - @keyword tag_category_label: The tag name prefix specific for the tag category. - @type tag_category_label: None or str - @keyword sep: The string separating the tag name prefix and suffix. - @type sep: str """ # Place the saveframe and tag info into the namespace. self.sf = sf - self.tag_category_label = tag_category_label - self.sep = sep + + # Set up the tag information. + self.tag_setup() def create_tag_label(self, tag_name): @@ -50,10 +47,33 @@ @type tag_name: str """ - # Create the full tag label. - self.tag_category_label_full = '' - if self.tag_category_label: - self.tag_category_label_full = self.tag_category_label + self.sep - # The full tag name. return self.tag_category_label_full + tag_name + + + def tag_setup(self, tag_category_label=None, sep=None): + """Setup the tag names. + + @keyword tag_category_label: The tag name prefix specific for the tag category. + @type tag_category_label: None or str + @keyword sep: The string separating the tag name prefix and suffix. + @type sep: str + """ + + # Place the args into the class namespace. + self.tag_category_label = tag_category_label + if sep: + self.sep = sep + else: + self.sep = '.' + + # Create the full tag label. + self.tag_category_label_full = '_' + if self.tag_category_label: + self.tag_category_label_full = self.tag_category_label_full + self.tag_category_label + self.sep + + # The tag name dictionary. + self.tag_names = {} + + # The specific variables dictionary. + self.variables = {}