Hi Troels, For the tutorial at http://wiki.nmr-relax.com/Tutorial_for_The_relaxation_dispersion_auto-analysis_in_the_GUI , I would suggest also adding that relax can be run using OpenMPI to speed up the relaxation dispersion analysis. So that if you have a machine with 8 cores and OpenMPI and python-mpi4py installed (http://www.nmr-relax.com/manual/The_multi_processor_framework.html), you can run relax with 7 slaves by typing:
$ mpirun -n 8 relax --multi='mpi4py' --gui --tee my.log Regards, Edward On 18 November 2014 12:27, Edward d'Auvergne <edw...@nmr-relax.com> wrote: > Hi Troels and Prem, > > Troels, for a suggestion for improving the script in your tutorial, > you could use: > > """ > from time import asctime, localtime > > pipe_bundle = "relax_disp (%s)" % asctime(localtime()) > pipe_name = "origin - %s" % pipe_bundle > """ > > This is how the new analysis wizard in relax creates these names > (http://www.nmr-relax.com/api/3.3/gui.analyses.wizard-pysrc.html#Data_pipe_page.on_display). > This script really saves a lot of time. But, as it does not replicate > the bug, Prem, could you still create the bug report and include all > steps required to produce the error you observed? > > Cheers, > > Edward > > > > On 18 November 2014 12:08, Troels Emtekær Linnet <tlin...@nmr-relax.com> > wrote: >> Hi Prem. >> >> I added the tutorial here: >> >> http://wiki.nmr-relax.com/Tutorial_for_The_relaxation_dispersion_auto-analysis_in_the_GUI >> >> I tried to take power of the scripting, to get around the tedious work on >> defining the experiment settings for all spectra. >> >> So this script should take you to the "end point" before staring the >> analysis. >> >> Best >> Troels >> >> >> >> 2014-11-18 11:51 GMT+01:00 Troels Emtekær Linnet <tlin...@nmr-relax.com>: >> >>> Dear Prem. >>> >>> Welcome to the mailing list! >>> >>> I guess that you mean the manual at: >>> http://www.nmr-relax.com/manual/Contents.html >>> >>> The relaxation dispersion auto-analysis in the GUI >>> >>> http://www.nmr-relax.com/manual/The_relaxation_dispersion_auto_analysis_in_the_GUI.html >>> >>> Where the test data is in: >>> test_suite/shared_data/dispersion/Hansen >>> >>> I will write it up here as a script instead. >>> This goes a little faster testing. >>> >>> You can also find more inspiration at the wiki: >>> http://wiki.nmr-relax.com >>> http://wiki.nmr-relax.com/Category:Tutorials >>> >>> In terminal >>> mkdir -p $HOME/test >>> cd $HOME/test >>> gedit test.py >>> >>> Then I build the script onwards. >>> I run relax repeatedly, to execute code. Then I write new code in the >>> script, and run again. >>> relax test.py >>> >>> When I am satisfied, you can then do like this. >>> >>> relax -g -t log.txt >>> User functions -> Script -> test.py >>> >>> THEN: >>> View -> Data pipe editor -> Right click on pipe -> Associate with a new >>> Auto analysis >>> >>> This should bring you to a window, where all settings have been set. >>> >>> Relaxations dispersion models: ['R2eff', 'No Rex', 'CR72', 'NS CPMG 2-site >>> expanded'] >>> Grid increements: 11 (For speed-up in test phase) >>> Monte-Carlo simulations number: 5 (For speed up in test phase) >>> >>> Then a quick click on spin.isotope function, and GO. >>> >>> >>> >>> test.py >>> ---------------- >>> #python modules >>> import os >>> import glob >>> >>> # relax modules >>> from lib.io import sort_filenames >>> >>> # Set path to data >>> data = >>> '/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/test_suite/shared_data/dispersion/Hansen' >>> >>> # Create the data pipe. >>> pipe_name = 'origin - relax_disp (Tue Nov 18 10:39:36 2014)' >>> pipe_bundle = 'relax_disp (Tue Nov 18 10:39:36 2014)' >>> pipe.create(pipe_name=pipe_name, bundle=pipe_bundle, >>> pipe_type='relax_disp') >>> >>> # Create spin to hold data. >>> sequence.read(file='fake_sequence.in', dir=data, res_num_col=1, >>> res_name_col=2) >>> deselect.read(file='unresolved', dir=data+os.sep+'500_MHz', >>> spin_id_col=None, mol_name_col=None, res_num_col=1, boolean='AND', >>> change_all=False) >>> deselect.read(file='unresolved', dir=data+os.sep+'800_MHz', >>> spin_id_col=None, mol_name_col=None, res_num_col=1, res_name_col=2, >>> boolean='AND', change_all=False) >>> >>> # Give the spins attributes. >>> spin.isotope(isotope='15N', spin_id='@*', force=True) >>> spin.name(name='N') >>> >>> # Do for 800. >>> ############################################### >>> # Change directory. >>> os.chdir(data + os.sep + '500_MHz') >>> >>> # Get the file list, and sort the file list Alphanumeric. >>> flist500 = glob.glob('*.in_sparky') >>> flist500 = sort_filenames(filenames=flist500) >>> >>> # Make ID >>> ID500 = [] >>> for f in flist500: ID500.append("500_"+f.split(".in_sparky")[0]) >>> >>> # Then Read >>> spectrum.read_intensities(file=flist500, spectrum_id=ID500) >>> >>> # Repeat for the replicated spectra. >>> flist500rep = glob.glob('*in.bis_sparky') >>> flist500rep = sort_filenames(filenames=flist500rep) >>> >>> # Make ID >>> ID500rep = [] >>> for f in flist500rep: >>> ID500rep.append("500_"+f.split(".in.bis_sparky")[0]+'b') >>> >>> # Then Read >>> spectrum.read_intensities(file=flist500rep, spectrum_id=ID500rep) >>> >>> # Then map replicated >>> for b_id in ID500rep: >>> a_id = b_id[:-1] >>> spectrum.replicated(spectrum_ids=[a_id, b_id]) >>> >>> # Then check >>> print cdp.replicates >>> >>> # Then repeat for 800. >>> ############################################### >>> # Change directory. >>> os.chdir(data + os.sep + '800_MHz') >>> >>> # Get the file list, and sort the file list Alphanumeric. >>> flist800 = glob.glob('*.in_sparky') >>> flist800 = sort_filenames(filenames=flist800) >>> >>> # Make ID >>> ID800 = [] >>> for f in flist800: ID800.append("800_"+f.split(".in_sparky")[0]) >>> >>> # Then Read >>> spectrum.read_intensities(file=flist800, spectrum_id=ID800) >>> >>> # Repeat for the replicated spectra. >>> flist800rep = glob.glob('*in.bis_sparky') >>> flist800rep = sort_filenames(filenames=flist800rep) >>> >>> # Make ID >>> ID800rep = [] >>> for f in flist800rep: >>> ID800rep.append("800_"+f.split(".in.bis_sparky")[0]+'b') >>> >>> # Then Read >>> spectrum.read_intensities(file=flist800rep, spectrum_id=ID800rep) >>> >>> # Then map replicated >>> for b_id in ID800rep: >>> a_id = b_id[:-1] >>> spectrum.replicated(spectrum_ids=[a_id, b_id]) >>> >>> # Then check >>> print cdp.replicates >>> ################################################ >>> print len(ID500), len(ID500rep), len(ID800), len(ID800rep) >>> >>> # Then set spectrum properties >>> all_ID = ID500 + ID500rep + ID800 + ID800rep >>> >>> for cur_id in all_ID: >>> # Split from name >>> sfrq_str, vcpmg_str = cur_id.split("_") >>> >>> if vcpmg_str == 'reference': >>> vcpmg = None >>> else: >>> vcpmg = float(vcpmg_str.split("b")[0]) >>> print cur_id, sfrq_str, vcpmg >>> >>> # Set the current experiment type. >>> relax_disp.exp_type(spectrum_id=cur_id, exp_type='SQ CPMG') >>> >>> # Set the NMR field strength of the spectrum. >>> spectrometer.frequency(id=cur_id, frq=float(sfrq_str), units='MHz') >>> >>> # Relaxation dispersion CPMG constant time delay T (in s). >>> relax_disp.relax_time(spectrum_id=cur_id, time=0.03) >>> >>> # Set the relaxation dispersion CPMG frequencies. >>> relax_disp.cpmg_setup(spectrum_id=cur_id, cpmg_frq=vcpmg) >>> ------------------------------------------------------- >>> >>> >>> >>> >>> >>> 2014-11-18 0:06 GMT+01:00 Prem Raj Joseph <prbj123re...@gmail.com>: >>> > >>> > Hello all, >>> > >>> > I was using the GUI version of the software to run the tutorial available >>> > in the manual for analysis of relaxation dispersion. >>> > When i execute the run I get the following error >>> > >>> > RelaxPipeError: RelaxError: The data pipe 'R2eff - relax_disp (Mon Nov 17 >>> > 10:50:08 2014)' already exists. >>> > >>> > Not sure where the error is arising from. Any help is greatly >>> appreciated. >>> > >>> > Thanks >>> > >>> > Prem >>> > >>> > Department of Biochemistry and Molecular Biology >>> > Sealy Center for Structural Biology and Molecular Biophysics >>> > 5.142 Medical Branch Building >>> > University of Texas Medical Branch >>> > Galveston, TX 77555-1055 >>> > Lab: 409-772-2181 >>> > Cell: 409-354-8536 >>> > >>> > !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >>> > Error analysis >>> > ============== >>> > >>> > Skipping the error analysis as it has already been performed. >>> > >>> > relax> relax_disp.r1_fit(fit=False) >>> > >>> > >>> > >>> > --------------------- >>> > - The 'R2eff' model - >>> > --------------------- >>> > >>> > >>> > relax> pipe.copy(pipe_from='origin - relax_disp (Mon Nov 17 10:50:08 >>> > 2014)', pipe_to='R2eff - relax_disp (Mon Nov 17 10:50:08 2014)', >>> > bundle_to='relax_disp (Mon Nov 17 10:50:08 2014)') >>> > Exception raised in thread. >>> > >>> > Traceback (most recent call last): >>> > File "/home/prem/programs/relax-3.3.2/gui/analyses/execute.py", line >>> 87, >>> > in run >>> > self.run_analysis() >>> > File "/home/prem/programs/relax-3.3.2/gui/analyses/auto_relax_disp.py", >>> > line 726, in run_analysis >>> > Relax_disp(pipe_name=self.data.pipe_name, >>> > pipe_bundle=self.data.pipe_bundle, results_dir=self.data.save_dir, >>> > models=self.data.models, grid_inc=self.data.inc, >>> > mc_sim_num=self.data.mc_sim_num, exp_mc_sim_num=self.data.exp_mc_sim_num, >>> > pre_run_dir=self.data.pre_run_dir, >>> > mc_sim_all_models=self.data.mc_sim_all_models, >>> > insignificance=self.data.insignificance, >>> > numeric_only=self.data.numeric_only, r1_fit=self.data.r1_fit) >>> > File "/home/prem/programs/relax-3.3.2/auto_analyses/relax_disp.py", >>> line >>> > 137, in __init__ >>> > self.run() >>> > File "/home/prem/programs/relax-3.3.2/auto_analyses/relax_disp.py", >>> line >>> > 614, in run >>> > self.interpreter.pipe.copy(pipe_from=self.pipe_name, >>> > pipe_to=model_pipe, bundle_to=self.pipe_bundle) >>> > File "/home/prem/programs/relax-3.3.2/prompt/uf_objects.py", line 225, >>> in >>> > __call__ >>> > self._backend(*new_args, **uf_kargs) >>> > File "/home/prem/programs/relax-3.3.2/pipe_control/pipes.py", line 191, >>> > in copy >>> > raise RelaxPipeError(pipe_to) >>> > RelaxPipeError: RelaxError: The data pipe 'R2eff - relax_disp (Mon Nov 17 >>> > 10:50:08 2014)' already exists. >>> > _______________________________________________ >>> > relax (http://www.nmr-relax.com) >>> > >>> > This is the relax-users mailing list >>> > relax-users@gna.org >>> > >>> > To unsubscribe from this list, get a password >>> > reminder, or change your subscription options, >>> > visit the list information page at >>> > https://mail.gna.org/listinfo/relax-users >>> >> _______________________________________________ >> relax (http://www.nmr-relax.com) >> >> This is the relax-users mailing list >> relax-users@gna.org >> >> To unsubscribe from this list, get a password >> reminder, or change your subscription options, >> visit the list information page at >> https://mail.gna.org/listinfo/relax-users _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-users mailing list relax-users@gna.org To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-users