Author: bugman Date: Thu Dec 30 23:18:24 2010 New Revision: 12055 URL: http://svn.gna.org/viewcvs/relax?rev=12055&view=rev Log: Created the relax_data.read user function window and menu entries. Added: branches/bieri_gui/gui_bieri/user_functions/relax_data.py - copied, changed from r12045, branches/bieri_gui/gui_bieri/user_functions/sequence.py Modified: branches/bieri_gui/gui_bieri/menu.py branches/bieri_gui/gui_bieri/user_functions/__init__.py Modified: branches/bieri_gui/gui_bieri/menu.py URL: http://svn.gna.org/viewcvs/relax/branches/bieri_gui/gui_bieri/menu.py?rev=12055&r1=12054&r2=12055&view=diff ============================================================================== --- branches/bieri_gui/gui_bieri/menu.py (original) +++ branches/bieri_gui/gui_bieri/menu.py Thu Dec 30 23:18:24 2010 @@ -201,6 +201,9 @@ [wx.NewId(), "&delete", paths.icon_16x16.remove, self.gui.user_functions.pipes.delete], [wx.NewId(), "&switch", paths.icon_16x16.pipe_switch, self.gui.user_functions.pipes.switch] ]], + [wx.NewId(), "relax_data", paths.icon_16x16.relax_data, None, [ + [wx.NewId(), "&read", paths.icon_16x16.open, self.gui.user_functions.relax_data.read] + ]], [wx.NewId(), "&residue", paths.icon_16x16.residue, None, [ [wx.NewId(), "&create", paths.icon_16x16.add, self.gui.user_functions.residue.create], [wx.NewId(), "&delete", paths.icon_16x16.remove, self.gui.user_functions.residue.delete] Modified: branches/bieri_gui/gui_bieri/user_functions/__init__.py URL: http://svn.gna.org/viewcvs/relax/branches/bieri_gui/gui_bieri/user_functions/__init__.py?rev=12055&r1=12054&r2=12055&view=diff ============================================================================== --- branches/bieri_gui/gui_bieri/user_functions/__init__.py (original) +++ branches/bieri_gui/gui_bieri/user_functions/__init__.py Thu Dec 30 23:18:24 2010 @@ -30,6 +30,7 @@ from molecule import Molecule from pipes import Pipes from residue import Residue +from relax_data import Relax_data from script import Script from sequence import Sequence from spin import Spin @@ -40,6 +41,7 @@ 'molecule', 'pipes', 'residue', + 'relax_data', 'script', 'sequence', 'spin'] @@ -63,6 +65,7 @@ self.molecule = Molecule(self.gui, self.interpreter) self.pipes = Pipes(self.gui, self.interpreter) self.residue = Residue(self.gui, self.interpreter) + self.relax_data = Relax_data(self.gui, self.interpreter) self.script = Script(self.gui, self.interpreter) self.sequence = Sequence(self.gui, self.interpreter) self.spin = Spin(self.gui, self.interpreter) @@ -75,5 +78,6 @@ self.molecule.destroy() self.pipes.destroy() self.residue.destroy() + self.relax_data.destroy() self.sequence.destroy() self.spin.destroy() Copied: branches/bieri_gui/gui_bieri/user_functions/relax_data.py (from r12045, branches/bieri_gui/gui_bieri/user_functions/sequence.py) URL: http://svn.gna.org/viewcvs/relax/branches/bieri_gui/gui_bieri/user_functions/relax_data.py?p2=branches/bieri_gui/gui_bieri/user_functions/relax_data.py&p1=branches/bieri_gui/gui_bieri/user_functions/sequence.py&r1=12045&r2=12055&rev=12055&view=diff ============================================================================== --- branches/bieri_gui/gui_bieri/user_functions/sequence.py (original) +++ branches/bieri_gui/gui_bieri/user_functions/relax_data.py Thu Dec 30 23:18:24 2010 @@ -21,7 +21,7 @@ ############################################################################### # Module docstring. -"""The sequence user function GUI elements.""" +"""The relaxation data user function GUI elements.""" # Python module imports. from string import split @@ -33,15 +33,15 @@ # GUI module imports. from base import UF_base, UF_window from gui_bieri.paths import WIZARD_IMAGE_PATH -from gui_bieri.misc import gui_to_int, gui_to_str +from gui_bieri.misc import gui_to_float, gui_to_int, gui_to_str # The container class. -class Sequence(UF_base): +class Relax_data(UF_base): """The container class for holding all GUI elements.""" def read(self, event): - """The sequence.delete user function. + """The relax_data.read user function. @param event: The wx event. @type event: wx event @@ -59,29 +59,36 @@ class Read_window(UF_window): - """The sequence.delete() user function window.""" + """The relax_data.read() user function window.""" # Some class variables. size_x = 800 - size_y = 600 - frame_title = 'Read the spin sequence from a file' - image_path = WIZARD_IMAGE_PATH + 'sequence.png' - main_text = 'This dialog allows you to read the molecule, residue, and spin information from a file.' - title = 'Sequence reading' + size_y = 800 + frame_title = 'Read the relaxation data from a file' + image_path = WIZARD_IMAGE_PATH + 'fid.png' + main_text = 'This dialog allows you to read relaxation data from a file.' + title = 'Relaxation data reading' def add_uf(self, sizer): - """Add the sequence specific GUI elements. + """Add the relaxation data reading specific GUI elements. @param sizer: A sizer object. @type sizer: wx.Sizer instance """ # Add a file selection. - self.file = self.file_selection(sizer, "The sequence file:", title="Sequence file selection") + self.file = self.file_selection(sizer, "The relaxation data file:", title="Relaxation data file selection") + + # The data labels. + self.ri_label = self.combo_box(sizer, "The relaxation data label:", choices=['R1', 'R2', 'NOE'], tooltip="This must be a unique identifier.") + self.frq_label = self.input_field(sizer, "The frequency label in MHz:", tooltip="This must be a unique identifier.") + + # The frequency. + self.frq = self.input_field(sizer, "The proton frequency in Hz:") # The parameter file settings. - self.free_file_format(sizer) + self.free_file_format(sizer, data_cols=True) # The spin ID restriction. self.spin_id = self.input_field(sizer, "Restrict data loading to certain spins:", tooltip="This must be a valid spin ID. Multiple spins can be selected using ranges, the '|' operator, residue ranges, etc.") @@ -89,6 +96,11 @@ def execute(self): """Execute the user function.""" + + # The labels and frq. + ri_label = gui_to_str(self.ri_label.GetValue()) + frq_label = gui_to_str(self.frq_label.GetValue()) + frq = gui_to_float(self.frq.GetValue()) # The file name. file = gui_to_str(self.file.GetValue()) @@ -104,6 +116,8 @@ res_name_col = gui_to_int(self.res_name_col.GetValue()) spin_num_col = gui_to_int(self.spin_num_col.GetValue()) spin_name_col = gui_to_int(self.spin_name_col.GetValue()) + data_col = gui_to_int(self.data_col.GetValue()) + err_col = gui_to_int(self.err_col.GetValue()) # The column separator. sep = str(self.sep.GetValue()) @@ -113,5 +127,5 @@ # The spin ID. spin_id = gui_to_str(self.spin_id.GetValue()) - # Read the sequence. - self.interpreter.sequence.read(file=file, spin_id_col=spin_id_col, mol_name_col=mol_name_col, res_num_col=res_num_col, res_name_col=res_name_col, spin_num_col=spin_num_col, spin_name_col=spin_name_col, sep=sep, spin_id=spin_id) + # Read the relaxation data. + self.interpreter.relax_data.read(ri_label=ri_label, frq_label=frq_label, frq=frq, file=file, spin_id_col=spin_id_col, mol_name_col=mol_name_col, res_num_col=res_num_col, res_name_col=res_name_col, spin_num_col=spin_num_col, spin_name_col=spin_name_col, data_col=data_col, error_col=err_col, sep=sep, spin_id=spin_id)