Open main menu

Changes

→‎Intro: Deleted the out of date svn branch information.
__TOC__
 
= Intro =
This tutorial presently cover the [http://svn.gna.org/svn/relax/branches/ relax_disp branch].<br>
This branch is under development, for testing it out, you need to use the source code. See [[Installation_linux#Checking_out_a_relax_branch]].
 
This tutorial is based on the analysis of NMR data from the paper:
<blockquote>
== Spectral processing ==
# Now we need to spectral process the spectra.# Process one of the files normally and the next script will copy the processing script to the other folder.# [m]->Right-Click Process 2D->Basic 2D# Save->Execute->Done; then; RClick File->Select File->test.ft2->Read/draw->Done# If your spectra look reversed (i.e. if your peaks do not seem to match your reference spectrum) it might This step can be solved done by changing to# following wiki page [m] '| nmrPipe -fn FT -neg \' to the script to the third lowest line.# Save->Execute->Done. Then push [r] to refresh.# Press [h], and find P0 and P1, and push [m], change parameters and update script# The changes to '| nmrPipe -fn PS xxx \' should be the FIRST line (The proton dimension) with PS# save/execute, push [r] (read) and the [e] (erase settings) to see result in NMRdraw# And then run the next CPMG script As suggested in the [[Manual | relax manaul]], section '''5.2.2 Spectral processing''', the spectral processing script could look like:<br> '''NOTE''' only put '''EXT''' in, AFTER you are done with phasing, or you will get problems phasing. File: '''nmrproc.com'''<source lang="bash">#!/bin/csh nmrPipe -in test.fid \| nmrPipe -fn SOL \| nmrPipe -fn GM -g1 5 -g2 10 -c 1.0 \| nmrPipe -fn ZF -auto -size 8000 \| nmrPipe -fn FT -auto \| nmrPipe -fn PS -p0 214.00 -p1 -21.00 -di -verb \| nmrPipe -fn TP \| nmrPipe -fn SP -off 0.5 -end 0.98 -pow 2 -c 0.5 \| nmrPipe -fn ZF -auto -size 8000 \| nmrPipe -fn FT -neg \| nmrPipe -fn PS -p0 0.00 -p1 0.00 -di -verb \| nmrPipe -fn TP \| nmrPipe -fn POLY -auto \| nmrPipe -fn EXT -left -sw \ -ov -out test.ft2</source> === Understand spectral processing ===To understand the NMRPipe functions, you can look them up in the manual page: http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/ <br> See also the [http://www.nmr-relax.com/manual/Spectral_processing.html relax online manual for spectral processing]. A good book to loop up in, is '''Keeler, Understanding NMR Spectroscopy, Second edition'''. {| class="wikitable sortable" border="1"|-!nmrPipe!Desc.!Comments|-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/sol.html SOL]|Solvent Filter||-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/gm.html GM] -g1 5 -g2 10 -c 1.0|Lorentz-to-Gauss Window, here for the measured direct dimension.|'''-c 1.0'''' The constant c is set to '''1.0''', since the phase '''P1''' correction is different from 0.0, here '''-p1 -21.00''', if '''-p1 0.0''' then '''c 0.5'''.|-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/zf.html ZF] -auto -size 8000|Zero Fill, here for the measured direct dimension.|The '''-auto''' will auto round to final size to power of 2. So here it is equivalent to: '''nmrPipe -fn -size 8192'''|-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/ft.html FT] -auto|Complex Fourier Transform, here for the measured direct dimension.|Do Fourier Transform.|-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/ps.html PS] -p0 214.00 -p1 -21.00 -di -verb|Phase Correction, here for the measured direct dimension.||-|nmrPipe -fn TP|2D Transpose XY->YX (YTP)|Transpose matrix to work in in-direct dimension.|-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/sp.html SP] -off 0.5 -end 0.98 -pow 2 -c 0.5|Adjustable Sine Bell Window. The '''-pow 2''' means is sinus^2 function. See Keeler p. 93 and p. 98 for the sine window desc|The '''-end 0.98''' means that you cut 2% data. '''-c 0.5''' is set 0.5 since the p1 phasing is 0.0 in the in-direct dimension. |-|-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/zf.html ZF] -auto -size 8000|Zero Fill, here for the in-direct dimension.|The '''-auto''' will auto round to final size to power of 2. So here it is equivalent to: '''nmrPipe -fn -size 8192'''|-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/ft.html FT] -neg|Complex Fourier Transform, here for the measured direct dimension.|Do Fourier Transform, but here negative, since the CPMG element in the Puls Sequence makes the magnetization end up negative.|-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/ps.html PS] -p0 0.00 -p1 0.00 -di -verb |Phase Correction, here for the in-direct dimension. |No-phase correction needed.|-|nmrPipe -fn TP|2D Transpose XY->YX (YTP)|Transpose matrix back to work in direct dimension.|-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/poly.html POLY] -auto|Polynomial Subtract for Time-Domain Solvent Correction and Frequency-Domain Baseline Correction. ||-|nmrPipe -fn [http://spin.niddk.nih.gov/NMRPipe/ref/nmrpipe/ext.html EXT] -left -sw |Extract Region. '''NOTE''' only put this in, AFTER you are done with phasing, or you will get problems phasing. |'''-left''' extract left half on the sweep-width which have been centered on water.|}
== Fourier transform all spectra ==
As stated in the [[manual | relax manual]] section '''5.2.1 Temperature control and calibration''', the pulse sequence can put a lot of power into the sample. <br>
You could read these sections in the relax manual: <br>[http://www.nmr-relax.com/manual/Temperature_control_calibration.html Importance of Temperature control and calibration]<br>[http://www.nmr-relax.com/manual/relax_data_temp_control.html Temperature control]<br>[http://www.nmr-relax.com/manual/relax_data_temp_calibration.html Temperature calibration]<br> It is therefore good also good practice to inspect for peak movements, by overlaying all spectra:
Open all the files, and overlay them with SPARKY command '''ol'''.
= Analyse in relax =
 
== making a spin file from SPARKY list ==
relax does not yet has the possibility to read spins from a sparky file. [https://gna.org/support/?3044 See support request].
 
So we create one.
 
<source lang="bash">
set ATOMS=`tail -n+4 peaks_list.tab | awk '{print $7}'`
set SCRIPT=relax_2_spins.py
 
foreach I (`seq 1 ${#ATOMS}`)
set ATOM=${ATOMS[$I]}; set SPIN=`echo $ATOM | sed -e "s/N-HN//g"`; set RESN=`echo $SPIN | sed -e "s/[0-9]*//g"`; set RESI=`echo $SPIN | sed -e "s/[A-Za-z]//g"`
echo $ATOM $SPIN $RESN $RESI
echo "spin.create(spin_name='N', spin_num=$I, res_name='$RESN', res_num=$RESI, mol_name=None)" >> $SCRIPT
end
 
cat $SCRIPT
</source>
== Extract the spectra settings from Varian procpar file ==
== Measure the backgorund noise "RMSD" in each of the .ft2 files ==
=== RMSD via sparky ===
There exist two ways to get the background RMSD noise
0 0.06 0 599.8908622 2.39e+03
24 0.06 400.00000000000000000000 599.8908622 2.45e+03
</source>
 
=== RMSD via nmrpipe showApod ===
We can also use the showApod rmsd.
<source lang="bash">
set FIDS=`cat ft2_files.ls`
set OUT=${PWD}/apod_rmsd.txt
set CWD=$PWD
rm $OUT
 
foreach I (`seq 1 ${#FIDS}`)
set FID=${FIDS[$I]}; set DIRN=`dirname $FID`
cd $DIRN
set apodrmsd=`showApod *.ft2 | grep "REMARK Automated Noise Std Dev in Processed Data:" | awk '{print $9}'`
echo $apodrmsd $DIRN >> $OUT
cd $CWD
end
cat $OUT
mv ncyc.txt ncyc_or.txt
paste ncyc_or.txt $OUT > ncyc.txt
</source>
cp ncyc.txt ../relax
cp peaks_list* ../relax
cp relax_2_spins.py ../relax
cd ../relax
</source>
# Set the current spectrum id
current_id = "Z_A%s"%(i)
 
# Set the current experiment type.
relax_disp.exp_type(spectrum_id=current_id, exp_type='SQ CPMG')
# Set the peak intensity errors, as defined as the baseplane RMSD.
# Set the NMR field strength of the spectrum.
spectrometer.frequency(id=current_id, frq=set_sfrq, units=‘MHz’'MHz')
# Relaxation dispersion CPMG constant time delay T (in s).
# Set the relaxation dispersion CPMG frequencies.
relax_disp.cpmg_frqcpmg_setup(spectrum_id=current_id, cpmg_frq=vcpmg)
i += 1
Start relax in GUI mode
<source lang="python">
relax_disp -g -l logfile_singlet log_relax_4_model_sel.txtlog
</source>
# Ctrl+n for new analysis
# Select '''Relaxation dispersion analysis''' button -> Next
# Select '''CPMG, fixed time''' -> Next
# Starting pipe: '''base pipe'''
# Pipe bundle: '''relax_disp''' -> Start
# The file name: '''peaks_list_max_standard.ser'''
# The spectrum ID string: auto
# Leave the rest of the fields as they are, they are not used.
# Push "Apply" and then '''Cancel'''
# We want to change the spectra properties by a script.
# This '''state''' file will also be used for loading, before a later cluster/global fit analysis.
# Shift+Ctrl+s OR File-> Save as... '''ini_setup.bz2'''
# Make a directory for the output of the results, f.ex: '''model_sel_no_clustermodel_sel_analyt'''.# Point '''Results directory''' to '''model_sel_no_clustermodel_sel_analyt'''.
# Set Monte-Carlo Simulations to '''10'''
# Select models: Lets take '''"R2eff", "No Rex", "TSMFK01", "LM63", "CR72", "CR72 full", "IT99"'''
# Save the state again, so the settings for models, monte-carlo settings and result directory is preserved.
# Shift+Ctrl+s OR File-> Save as... '''ini_run.bz2''' in the '''model_sel_no_clustermodel_sel_analyt''' directory.
# Now push "Execute"
The analysis will probably take between 4-10 hours.<br>
=== Analyse via script ===
pipe_bundle = 'relax_disp'
pipe.create(pipe_name=pipe_name, bundle=pipe_bundle, pipe_type='relax_disp')
 
# Set the relaxation dispersion experiment type.
relax_disp.exp_type('cpmg fixed')
# Create the spins
scriptspectrum.read_spins(file='relax_2_spins"peaks_list_max_standard.py'ser", dir=None)
# Name the isotope for field strength scaling.
# Set settings for run.
results_directory = os.path.join(os.getcwd(),"model_sel_no_clustermodel_sel_analyt")
pipe_name = 'base pipe'; pipe_bundle = 'relax_disp'
MODELS = ['R2eff', 'No Rex', 'TSMFK01', 'LM63', 'CR72', 'CR72 full', 'IT99']
GRID_INC = 21; MC_NUM = 10; MODSEL = 'AIC'
And the just start relax with
<source lang="bash">
relax_disp relax_1_ini.py -l t log_relax_1_ini.logrelax_disp relax_4_model_sel.py -l t log_relax_4_model_sel.log
</source>
The analysis will probably take between 4-10 hours.<br>
== Rerun from a "ini_setup.bz2" file ==
If something goes wrong, you can open the '''ini_setup.bz2''' in the '''model_sel_no_clustermodel_sel_analyt''' directory.
Just start relax:
relax_disp -g -l log_model_sel_no_clustert log_relax_4_model_sel.log
and open the '''ini_setup.bz2''' from File->"Open relax state".<br>
It should jump to the analysis window, make corrections, and you can then click "Execute".
After the analysis, several folders should be available, with data for each fitted model.
<source lang="bash">
R2eff/
No Rex/
TSMFK01/
LM63/
CR72/
CR72 full/
IT99/
final/
IT99/
No Rex/
R2eff/
</source>
You can convert all to PNG images, by:
<source lang="bash">
cd "R2eff"; ./grace2images.py; cd .. ;
cd "No Rex"; ./grace2images.py; cd .. ;
cd "TSMFK01"; ./grace2images.py; cd .. ;
cd "LM63"; ./grace2images.py; cd .. ;
cd "CR72"; ./grace2images.py; cd .. ;
cd "CR72 full"; ./grace2images.py; cd .. ;
cd "IT99"; ./grace2images.py; cd .. ;
cd "final"; ./grace2images.py; cd .. ;
cd "IT99"; ./grace2images.py; cd .. ;cd "No Rex"; ./grace2images.py; cd .. ;cd "R2eff"; ./grace2images.py; cd .. ;
find . -type f -name "*.png"
See [[Grep_log_file]] for this.
== Compare values ==For the '''TSMFK01''' and for example the '''CR72''', the '''k_AB''' value can be compare <source lang="bash">cd model_sel_analytpaste "TSMFK01/k_AB.out" "CR72/k_AB.out" | awk '{print $2, $3, $6, $13}'</source> == Inspect model selection for residues ==
=== With Grep AIC selection from logfile ===
If you have a log file.
<source lang="bash">
set IN=logfilelog_relax_4_model_sel.txt log ;set OUT=grep_log_to_model_sellog_relax_4_model_sel_chosen_models.txt ;
set FROM=`grep -n "AIC model selection" $IN | cut -d":" -f1` ;
</source>
=== In relax script get spin.model ===
See [[:Category:List_objects]] to get inspiration how to loop through the data class containers.
<source lang="bash">relax_disp -l logfile_clusterYou should open the '''final_state.bz2''' in the result directory.log</source>
<source lang="python">
pipe.display()
# print the spin model, first import spin_loop
from pipe_control.mol_res_spin import spin_loop
</source>
=== In relax You can also in the GUI ===<source lang="bashsee this in the '''Spin Viewer window''' under ">relax_disp -g -l logfile_cluster.log</source># Open relax state (Ctrl+o) : final_state.bz2# View -> Spin Viewer (Ctrl+t) ". <br>Select a spin, and look for the Variable '''model'''.
Or open the = Execute a clustering analysis ='''Notes about how to select residues for clustering. Based on [http://article.gmane.org/gmane.science.nmr.relax prompt (Ctrl+p) .devel/4442 this email thread:] '''<br>Clustering is a manual operation and writeit should not be automated. <br>It is based on human logic and is highly subjective. <source lang="python"br>from pipe_controlFor example it could be decided that one analysis is performed whereby one motional process is assumed, i.mol_res_spin import spin_loope. one kex value for all exchangingspins. <br>print("%20s %20s" % ("# Spin ID"Or it could be decided that there are two motional processes, so two clusters are created, "Model"))each having their own kex. <br>for spin, spin_id Some spins with bizarre dynamics may be left out as 'free spins' and not used in spin_loop(return_id=True, skip_desel=True):the cluster. <br> print("%20s %20s" % (repr(spin_id)If you just want all spins with '''Rex''' to be in one cluster, you could just use all spins where '''spin.model))</source>''' is not set to '''No Rex'''.
== Execute a '''Notes about how clustering analysis ==is performed in relax.'''<br>
All spins of one cluster ID will be optimised as one model. <br>
Several cluster ID will result in all those spins being optimised separately, but again with all spins together. <br>
and the function '''specific_analyses.relax_disp.disp_data.loop_cluster''' which it uses.
=== Inspect residues for clustering ===
Let us select residues based on a criterion that is where the highest number of residues have been fitted to the same model which are fit. Open the '''final_state.bz2''' in relax GUI. <br> You can see the model select for each residue in the '''Spin viewer''' (View -> Spin viewer (Ctrl+T)). Look for the '''Variable''' '''model'''.
Open the relax prompt with '''Ctrl+p''' if you are in the GUI.<br>
<source lang="python">
from pipe_control.mol_res_spin import spin_loop
 
# Open file for writing
cluster_file = "cluster_residues.txt"
f = open(cluster_file, 'w')
# Make a list to count number of models
resi_models = []
 for spin, mol_name, res_num, res_name, spin_id in spin_loop(full_info=True, return_id=True, skip_desel=True): # Write models to file f.write( str(spin_id) + " ; " + str(spin.model) + " ; " + str(mol_name) + " ; " + str(res_num) + " ; " + str(res_name) + "\n" ) # Append models to list
resi_models.append(spin.model)
 print resi_models
# Count resi_models
print c_resi_models = dict((i,resi_models.count(i)) for i in resi_models)</source>print c_resi_models We see that "NS 2-site expanded" is most represented. <br>We make a list # Write count result to cluster these residues later.<source lang="python">model_crit = 'NS 2-site expanded'sel_residues = []filefor spinkey, spin_id val in spin_loopc_resi_models.items(return_id=True, skip_desel=True): if spinf.model == model_crit: sel_residues.appendwrite( [spin._res_num, spin._res_name, spin.model, spin.num ]) f = open"# ; " + str('cluster_residues.txt', 'w'key)for p in sel_residues: s = + " ; ".join+ str( map(str, p) val) + "\n" print s f.write( s )
#Close the file
f.close()
</source>
=Copy '''cluster_residues.txt''' to the initial directory. == Create new analysis clustering ===
For the clustered analysis, you need to start a new analysis. <br>
You should not load the results from the final pipe, since this will likely be fatal for the clustered analysis. <br>
Each results file will be loaded into a temporary data pipe and the initial parameter values copied from that. <br>
So Close relax, and start again with new then add these files. === Do clustering Analysis in GUI ===Start relax in GUI mode<source lang="python">relax_disp -g -t log_relax_5_cluster.log</source> # Open the '''ini_setup.bz2''' from File-file>"Open relax state".# Open the '''relax prompt''' with '''Ctrl+p'''. And paste this is.<source lang="python"># Cluster residuescluster_file = "cluster_residues.txt"f = open(cluster_file, 'r')for line in f: if line[0] == "#": continue else: spinid = line.split(";")[0].strip() spinmodel = line.split(";")[1].strip()  # Deselect those spins not showing exchange for further analysis. if spinmodel == "No Rex": deselect.spin(spin_id=spinid, change_all=False) else: relax_disp.cluster('model_cluster', spinid) f.close() # Check which are clusteredprint cdp.clustering
<source lang# Check for selected/deselected spins.for spin, spin_id in spin_loop(return_id=True, skip_desel="bash">False):relax_disp -g -l logfile_cluster print spin_id, spin.txtselect
</source>
# Before executing, it would be a good idea to save the state after clustering.
# Shift+Ctrl+s OR File-> Save as... '''ini_setup_cluster.bz2'''
# Ctrl+d , right click "base pipe" and "Associate with a new auto-analysis"
# Close pipe viewer
# Make a directory for the output of the results, f.ex: '''model_clustering_analyt'''
# Point '''Results directory''' to '''model_clustering_analyt'''.
# Pint '''Previous run directory''' to previous result directory, where all the models had their folders. Values will be read from here. '''model_sel_analyt'''
# Set Monte-Carlo Simulations to '''50'''
# Select models: Lets take '''"R2eff", "No Rex", "TSMFK01"'''
# Now push "Execute"
==== Analyse cluster via Do clustering Analysis in script ====Add the following python relax script file to the relax directory.
'''relax_5_cluster.py'''
<source lang="python">
# """Taken from the relax disp manual, section 10.6.1 Dispersion script mode - the sample script.# Python module imports.from os import sepTo run the script, simply type: # $ ../../../../../relax module importsrelax_5_cluster.py --tee relax_5_cluster.log""" import os
from auto_analyses.relax_disp import Relax_disp
# Analysis variablesfrom pipe_control.##################### # The dispersion models.MODELS = ['R2eff', 'No Rex', 'NS 2-site expanded'] # The grid search size (the number of increments per dimension).GRID_INC = 21 # The number of Monte Carlo simulations to be used for error analysis at the end of the analysis.MC_NUM = 10 # The model selection technique to use.MODSEL = 'AIC' # Experiment settings#set_dir = "spectrometer_data_processed"set_dir = Noneresults_directory = "cluster_analysis"pre_run_dir = "."mol_res_spin import spin_loop
# Cluster fileSet settings for run.pre_run_directory = os.path.join(os.getcwd(),"model_sel_analyt")results_directory = os.path.join(os.getcwd(),"model_clustering_analyt")
cluster_file = "cluster_residues.txt"
# Set up Load the data pipeprevious final state with results.state.load(state='final_state.bz2', dir=pre_run_directory, force=False) #######################Open file for writingf = open(cluster_file, 'w')
# Create the data pipe.Make a list to count number of modelspipe_name resi_models = 'base pipe'[]pipe_bundle = 'relax_disp'pipe.createfor spin, mol_name, res_num, res_name, spin_id in spin_loop(pipe_namefull_info=pipe_nameTrue, bundlereturn_id=pipe_bundleTrue, pipe_typeskip_desel='relax_disp'True): # Write models to file f.write( str(spin_id) + " ; " + str(spin.model) + " ; " + str(mol_name) + " ; " + str(res_num) + " ; " + str(res_name) + "\n" )
# Set the relaxation dispersion experiment type.Append models to listrelax_disp resi_models.exp_typeappend('cpmg fixed'spin.model)
# Create the spinsCount resi_modelsscriptc_resi_models = dict(file='relax_2_spins(i,resi_models.py', dir=set_dircount(i)) for i in resi_models)print c_resi_models
# Name the isotope Write count result to filefor field strength scalingkey, val in c_resi_models.items():spin f.isotopewrite(isotope='15N'"# ; " + str(key) + " ; " + str(val) + "\n" ) # Read Close the spectrum from NMRSeriesTab file. The "auto" will generate spectrum name of form: Z_A{i}spectrumf.read_intensitiesclose() ################### Cluster file="peaks_list_max_standardfor selection residues.ser", dir=set_dir, spectrum_id='auto', int_method='height') ################# # Set Load the spectra experimental properties/settingsinitial state setupstate.scriptload(filestate='relax_3_spectra_settingsini_setup.pybz2', dirforce=set_dirTrue)
# Cluster residues
f = open(cluster_file, 'r')
for line in f:
resi if line[0] == "#": continue else: spinid = line.split(";")[0].strip() resn spinmodel = line.split(";")[1] relax_disp.clusterstrip('NS2_cluster', ":%s@N"%resi)
# Deselect those spins not showing exchange for further analysis.
if spinmodel == "No Rex":
deselect.spin(spin_id=spinid, change_all=False)
else:
relax_disp.cluster('model_cluster', spinid)
f.close()
# Check which are clusteredprint cdp.clustering # Check for selected/deselected spins.for spin, spin_id in spin_loop(return_id=True, skip_desel=False): print spin_id, spin.select
# Auto-analysis execution.
##########################
# Save the program state before run.
state.save('pre_run_clusterini_setup_cluster.bz2', force=True)
# Do not change!################## Run cluster analysis################# # Set settings for run.Relax_disp(pipe_name=pipe_name, 'base pipe'; pipe_bundle=pipe_bundle, results_dir'relax_disp'MODELS =results_directory['R2eff', models=MODELS'No Rex', grid_inc='TSMFK01']GRID_INC, mc_sim_num=21; MC_NUM, modsel=50; MODSEL, pre_run_dir=pre_run_dir)</source>'AIC'
Inside relax GUI# ExecuteRelax_disp(pipe_name=pipe_name, pipe_bundle=pipe_bundle, results_dir=results_directory, then run<source langmodels=MODELS, grid_inc=GRID_INC, mc_sim_num="python">script(fileMC_NUM, modsel='relax_5_cluster.py'MODSEL, dirpre_run_dir=set_dirpre_run_directory)
</source>
=== Run And the analysis ==='''Ctrl+d''' for Data pipe editor. # Right Click '''base pipe''', and select '''Associate just start relax with a new autoanalysis'''<br>Remember to close the window of the Data pipe editor. In '''Spin cluster IDs''' should now be: '''free spins, NS2_cluster'''. <br> You can inspect which residues you have clustered in the prompt.<source lang="pythonbash">cdprelax_disp relax_5_cluster.py -t log_relax_5_cluster.clusteringlog
</source>
 
Change
# '''Results directory''' to : A new "'''cluster_analysis'''" folder, so you don't overwrite the last models folder.
# '''Previous run directory''' to : point to the previous directory, where all the models had their folders. Values will be read from here.
# Set Relaxation dispersion models to: '''"R2eff", "No Rex", "NS 2-site expanded"'''
# Set Monte-Carlo Simulations to: 10
 
Execute !
= See also =
[[Category:Relaxation dispersion analysis]]
[[Category:Tutorials]]
Trusted, Bureaucrats
4,223

edits