Author: bugman Date: Mon Feb 23 19:59:27 2009 New Revision: 8872 URL: http://svn.gna.org/viewcvs/relax?rev=8872&view=rev Log: Converted the entity saveframe code from the heteronuclear NOE code. Modified: branches/bmrb/bmrblib/assembly_supercategory/entity.py branches/bmrb/bmrblib/assembly_supercategory/entity_v3_1.py branches/bmrb/specific_fns/model_free/bmrb.py Modified: branches/bmrb/bmrblib/assembly_supercategory/entity.py URL: http://svn.gna.org/viewcvs/relax/branches/bmrb/bmrblib/assembly_supercategory/entity.py?rev=8872&r1=8871&r2=8872&view=diff ============================================================================== --- branches/bmrb/bmrblib/assembly_supercategory/entity.py (original) +++ branches/bmrb/bmrblib/assembly_supercategory/entity.py Mon Feb 23 19:59:27 2009 @@ -21,9 +21,9 @@ ############################################################################### # Module docstring. -"""The Heteronuclear NOE data saveframe category. +"""The entity saveframe category. -For example, see http://www.bmrb.wisc.edu/dictionary/3.1html/SaveFramePage.html#heteronucl_NOEs. +For example, see http://www.bmrb.wisc.edu/dictionary/3.1html/SaveFramePage.html#entity. """ # relax module imports. @@ -33,11 +33,11 @@ from pystarlib.TagTable import TagTable -class HeteronuclNOESaveframe: - """The Heteronuclear NOE data saveframe class.""" +class EntitySaveframe: + """The entity saveframe class.""" # Saveframe variables. - label = 'NOE' + label = 'entity' def __init__(self, datanodes): @@ -50,18 +50,19 @@ # Place the data nodes into the namespace. self.datanodes = datanodes - # The number of relaxation data sets. - self.r1_inc = 0 - # Add the specific tag category objects. self.add_tag_categories() - def add(self, frq=None, res_nums=None, res_names=None, atom_names=None, data=None, errors=None): + def add(self, frq=None, mol_name=None, mol_type='polymer', res_nums=None, res_names=None, atom_names=None, data=None, errors=None): """Add relaxation data to the data nodes. @keyword frq: The spectrometer proton frequency, in Hz. @type frq: float + @keyword mol_name: The molecule name. + @type mol_name: str + @keyword mol_type: The molecule type. + @type mol_type: str @keyword res_nums: The residue number list. @type res_nums: list of int @keyword res_names: The residue name list. @@ -76,53 +77,44 @@ # Place the args into the namespace. self.frq = frq - self.res_nums = translate(res_nums) + self.mol_name = mol_name + self.mol_type = mol_type self.res_names = translate(res_names) self.atom_names = translate(atom_names) self.data = translate(data) self.errors = translate(errors) - # Set up the R1 specific variables. - self.r1_inc = self.r1_inc + 1 - ri_inc = self.r1_inc - # Initialise the save frame. - self.frame = SaveFrame(title='heteronuclear_'+self.label+'_list_'+`ri_inc`) + self.frame = SaveFrame(title=mol_name) # Create the tag categories. - self.heteronuclNOElist.create() - self.heteronuclNOEexperiment.create() - self.heteronuclNOEsoftware.create() - self.heteronuclNOE.create() + self.Entity.create() # Add the saveframe to the data nodes. self.datanodes.append(self.frame) def add_tag_categories(self): - """Create the v3.1 tag categories.""" + """Create the tag categories.""" # The tag category objects. - self.heteronuclNOElist = HeteronuclNOEList(self) - self.heteronuclNOEexperiment = HeteronuclNOEExperiment(self) - self.heteronuclNOEsoftware = HeteronuclNOESoftware(self) - self.heteronuclNOE = HeteronuclNOE(self) + self.entity = Entity(self) -class HeteronuclNOEList(TagCategory): - """Base class for the HeteronuclNOEList tag category.""" +class Entity(TagCategory): + """Base class for the Entity tag category.""" def create(self): - """Create the HeteronuclNOEList tag category.""" + """Create the Entity tag category.""" # The save frame category. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SfCategory'])], tagvalues=[[self.sf.label+'_relaxation']])) + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SfCategory'])], tagvalues=[['entity']])) - # Sample info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SampleConditionListLabel'])], tagvalues=[['$conditions_1']])) + # The entity name. + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['Name'])], tagvalues=[[self.mol_name]])) - # NMR info. - self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['SpectrometerFrequency1H'])], tagvalues=[[str(self.sf.frq/1e6)]])) + # The entity type. + self.sf.frame.tagtables.append(TagTable(free=True, tagnames=[self.create_tag_label(self.tag_names['Type'])], tagvalues=[[self.mol_type]])) def tag_setup(self, tag_category_label=None, sep=None): @@ -139,93 +131,5 @@ # 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.""" - - def create(self): - """Create the HeteronuclNOEExperiment tag category.""" - - # Sample info. - 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): - """Base class for the HeteronuclNOESoftware tag category.""" - - def create(self): - """Create the HeteronuclNOESoftware tag category.""" - - -class HeteronuclNOE(TagCategory): - """Base class for the HeteronuclNOE tag category.""" - - def create(self): - """Create the HeteronuclNOE tag category.""" - - # The relaxation tag names. - tag_names = [] - missing = [] - for key in ['SeqID', 'CompID', 'AtomID', 'Val', 'ValErr']: - if not self.tag_names.has_key(key): - missing.append(key) - else: - tag_names.append(self.create_tag_label(self.tag_names[key])) - - # The tag values. - tag_values = [] - if 'SeqID' not in missing: - tag_values.append(self.sf.res_nums) - if 'CompID' not in missing: - tag_values.append(self.sf.res_names) - if 'AtomID' not in missing: - tag_values.append(self.sf.atom_names) - if 'Val' not in missing: - tag_values.append(self.sf.data) - if 'ValErr' not in missing: - tag_values.append(self.sf.errors) - - # Add the data. - table = TagTable(tagnames=tag_names, tagvalues=tag_values) - - # Add the tagtable to the save frame. - self.sf.frame.tagtables.append(table) - - - 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['SeqID'] = 'Residue_seq_code' - self.tag_names['CompID'] = 'Residue_label' - self.tag_names['AtomID'] = 'Atom_name' - self.tag_names['Val'] = self.sf.label+'_value' - self.tag_names['ValErr'] = self.sf.label+'_value_error' + self.tag_names['Name'] = 'Name' + self.tag_names['Type'] = 'Type' Modified: branches/bmrb/bmrblib/assembly_supercategory/entity_v3_1.py URL: http://svn.gna.org/viewcvs/relax/branches/bmrb/bmrblib/assembly_supercategory/entity_v3_1.py?rev=8872&r1=8871&r2=8872&view=diff ============================================================================== --- branches/bmrb/bmrblib/assembly_supercategory/entity_v3_1.py (original) +++ branches/bmrb/bmrblib/assembly_supercategory/entity_v3_1.py Mon Feb 23 19:59:27 2009 @@ -21,66 +21,31 @@ ############################################################################### # Module docstring. -"""The v3.1 Heteronuclear NOE data saveframe category. +"""The v3.1 entity saveframe category. -See http://www.bmrb.wisc.edu/dictionary/3.1html/SaveFramePage.html#heteronucl_NOEs. +See http://www.bmrb.wisc.edu/dictionary/3.1html/SaveFramePage.html#entity. """ # relax module imports. -from bmrblib.kinetics.heteronucl_NOEs import HeteronuclNOESaveframe, HeteronuclNOEList, HeteronuclNOEExperiment, HeteronuclNOESoftware, HeteronuclNOE +from bmrblib.assembly_supercategory.entity import EntitySaveframe, Entity -class HeteronuclNOESaveframe_v3_1(HeteronuclNOESaveframe): - """The v3.1 Heteronuclear NOE data saveframe class.""" +class EntitySaveframe_v3_1(EntitySaveframe): + """The v3.1 entity saveframe class.""" def add_tag_categories(self): """Create the v3.1 tag categories.""" # The tag category objects. - self.heteronuclNOElist = HeteronuclNOEList_v3_1(self) - self.heteronuclNOEexperiment = HeteronuclNOEExperiment_v3_1(self) - self.heteronuclNOEsoftware = HeteronuclNOESoftware_v3_1(self) - self.heteronuclNOE = HeteronuclNOE_v3_1(self) + self.entity = Entity_v3_1(self) -class HeteronuclNOEList_v3_1(HeteronuclNOEList): - """v3.1 HeteronuclNOEList tag category.""" +class Entity_v3_1(Entity): + """v3.1 Entity tag category.""" def tag_setup(self, tag_category_label=None, sep=None): # Execute the base class tag_setup() method. - HeteronuclNOEList.tag_setup(self, tag_category_label='Heteronucl_NOE_list', sep=sep) + Entity.tag_setup(self, tag_category_label='Entity', sep=sep) # Tag names for the relaxation data. self.tag_names['SfCategory'] = 'Sf_category' - self.tag_names['SampleConditionListLabel'] = 'Sample_condition_list_label' - - -class HeteronuclNOEExperiment_v3_1(HeteronuclNOEExperiment): - """v3.1 HeteronuclNOEExperiment tag category.""" - - def tag_setup(self, tag_category_label=None, sep=None): - # Execute the base class tag_setup() method. - HeteronuclNOEExperiment.tag_setup(self, tag_category_label='Heteronucl_NOE_experiment', sep=sep) - - -class HeteronuclNOESoftware_v3_1(HeteronuclNOESoftware): - """v3.1 HeteronuclNOESoftware tag category.""" - - def tag_setup(self, tag_category_label=None, sep=None): - # Execute the base class tag_setup() method. - HeteronuclNOESoftware.tag_setup(self, tag_category_label='Heteronucl_NOE_software', sep=sep) - - -class HeteronuclNOE_v3_1(HeteronuclNOE): - """v3.1 HeteronuclNOE tag category.""" - - def tag_setup(self, tag_category_label=None, sep=None): - # Execute the base class tag_setup() method. - HeteronuclNOE.tag_setup(self, tag_category_label='Heteronucl_NOE', sep=sep) - - # Tag names for the relaxation data. - self.tag_names['SeqID'] = 'Seq_ID' - self.tag_names['CompID'] = 'Comp_ID' - self.tag_names['AtomID'] = 'Atom_ID' - self.tag_names['Val'] = 'Val' - self.tag_names['ValErr'] = 'Val_err' Modified: branches/bmrb/specific_fns/model_free/bmrb.py URL: http://svn.gna.org/viewcvs/relax/branches/bmrb/specific_fns/model_free/bmrb.py?rev=8872&r1=8871&r2=8872&view=diff ============================================================================== --- branches/bmrb/specific_fns/model_free/bmrb.py (original) +++ branches/bmrb/specific_fns/model_free/bmrb.py Mon Feb 23 19:59:27 2009 @@ -57,6 +57,7 @@ cdp = get_pipe() # Initialise the spin specific data lists. + mol_name_list = [] res_num_list = [] res_name_list = [] atom_name_list = [] @@ -72,7 +73,7 @@ if not spin.select: continue - # The residue/spin info. + # The molecule/R1residue/spin info. res_num_list.append(str(res_num)) res_name_list.append(str(res_name)) atom_name_list.append(str(spin.name))