To get inspiration of example scripts files and '''see''' how the protocol is performed, have a look here:
* [https://github.com/nmr-relax-code/test_suiterelax/system_testsblob/scriptsmaster/model_freeauto_analyses/dauvergne_protocol.py* nmr-relax-code/auto_analyses/dauvergne_protocol.py]
For references, see [http://www.nmr-relax.com/refs.shtml relax references]:
* [[Model-free_analysis_single_field#Protocol|See this description of the protocol by Edward]] and image [http://www.nmr-relax.com/manual/The_diffusion_seeded_paradigm.html The diffusion seeded paradigm]
* [http://www.nmr-relax.com/manual/Model_free_analysis.html Link to the manual]
* [http://www.nmr-relax.com/manual/The_model_free_models.html Summary of model-free models]
* [http://www.nmr-relax.com/manual/molmol_macro_apply.html#SECTION081284600000000000000 Summary of parameter meaning and value to pymol visualization]
* d'Auvergne, E. J. and Gooley, P. R. (2008). [http://dx.doi.org/10.1007/s10858-007-9214-2 Optimisation of NMR dynamic models I. Minimisation algorithms and their performance within the model-free and Brownian rotational diffusion spaces. J. Biomol. NMR, 40(2), 107-119.]
* d'Auvergne, E. J. and Gooley, P. R. (2008). [http://dx.doi.org/10.1007/s10858-007-9213-3 Optimisation of NMR dynamic models II. A new methodology for the dual optimisation of the model-free parameters and the Brownian rotational diffusion tensor. J. Biomol. NMR, 40(2), 121-133.]
= Scripts Script inspiration =To get the protocol to work, we need to == model-free : Script inspiration for setup and analysis ==The distribution of relax includes a folder '''sample_scripts/model_free''' which containa folder with scripts for analysis.
* Load a PDB structure* Assign the "data structure" in It can be seen here: https://github.com/nmr-relax/relax through spin-assignments* Assign necessary "information" as isotope information to each spin-assignment* Read "R1, R2 and NOE" for different magnet field strengths* Calculate some properties* Check the data* Run the protocol/tree/master/sample_scripts/model_free
To work most efficiently, it Here is important the current list* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/back_calculate.py back_calculate.py]. Back-calculate and save relaxation data starting from a saved model-free results file.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/bmrb_deposition.py bmrb_deposition.py] Script for creating a NMR-STAR 3.1 formatted file for BMRB deposition of model-free results.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/cv.py cv.py] Script for model-free analysis using cross-validation model selection.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/dasha.py dasha.py] Script for model-free analysis using the program Dasha.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/dauvergne_protocol.py dauvergne_protocol.py] Script for black-box model-free analysis.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/diff_min.py diff_min.py] Demonstration script for diffusion tensor optimisation in a model-free analysis.]* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/final_data_extraction.py final_data_extraction.py] Extract Data to perform each step 1 by 1, Table* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/generate_ri.py generate_ri.py] Script for back-calculating the relaxation data.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/grace_S2_vs_te.py grace_S2_vs_te.py] Script for creating a grace plot of the simulated order parameters vs. simulated correlation times.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/ grace_ri_data_correlation.py] Script for creating correlations plots of experimental verses back calculated relaxation data.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/map.py map.py] Script for mapping the model-free space for OpenDX visualisation.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/mf_multimodel.py mf_multimodel.py] This script performs a model-free analysis for the models 'm0' to 'm9' (or 'tm0' to 'tm9').* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/modsel.py modsel.py] Script for model-free model selection.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/molmol_plot.py molmol_plot.py] Script for generating Molmol macros for highlighting model-free motions* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/palmer.py palmer.py] Script for model-free analysis using Art Palmer's program 'Modelfree4'. Download from http://comdnmr.nysbc.org/comd-nmr-dissem/comd-nmr-software* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/remap.py remap.py] Script for mapping the model-free space.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/single_model.py single_model.py] This script performs a model-free analysis for the single model 'm4'.and closely inspect * [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/table_csv.py table_csv.py] Script for converting the log model-free results into a CSV table.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/model_free/table_latex.py table_latex.py] Script for any errorsconverting the model-free results into a LaTeX table.
For similar tutorial, have == Other script inspiration for checking ==The distribution of relax includes a folder '''sample_scripts/''' which contain a look at: [[Tutorial_for_model-free_analysis_sam_mahdi|Tutorial folder with scripts for model-free analysis sam mahdi]].
== 01_read_pdbIt can be seen here: https://github.py com/nmr- Test load of PDB ==First we just want to test to read the PDB file.relax/relax/tree/master/sample_scripts
See content of'''R1 / R2 Calculation'''* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/relax_fit.py relax_fit.py] Script for relaxation curve fitting.* [https://github.com/tlinnetnmr-relax/relax_modelfree_scriptsrelax/blob/master/mf_scriptssample_scripts/01_read_pdbrelax_curve_diff.py 01_read_pdbrelax_curve_diff.py]Script for creating a Grace plot of peak intensity differences.The resultant plot is useful for finding bad points or bad spectra when fitting exponential curves determine the R1 and R2 relaxation rates. If the averages deviate systematically from zero, bias in the spectra or fitting will be clearly revealed. To use this script, R1 or R2 exponential curve fitting must have previously have been carried out the program state saved to the file 'rx.save' (either with or without the .gz or .bz2 ). The file name of the saved state can be changed at the top of this script.
Run with<source lang="bash">'''NOE calculation'''* [https://github.com/nmr-relax/relax 01_read_pdb/blob/master/sample_scripts/noe.py noe.py -t 01_read_pdb] Script for calculating NOEs.log</source>
{| class="mw'''Test data'''* [https://github.com/nmr-collapsible mw-collapsed wikitable"relax/relax/blob/master/sample_scripts/jw_mapping.py jw_mapping.py] Script for reduced spectral density mapping.! Output from logfile|* [https://github.com/nmr-|<source lang="bash">script = '01_read_pdbrelax/relax/blob/master/sample_scripts/consistency_tests.py consistency_tests.py'] Script for consistency testing. Severe artifacts can be introduced if model-free analysis is performed from inconsistent multiple magnetic field datasets. The use of simple tests as validation tools for the consistency assessment can help avoid such problems in order to extract more reliable information from spin relaxation experiments. In particular, these tests are useful for detecting inconsistencies arising from R2 data. Since such inconsistencies can yield artifactual Rex parameters within model-free analysis, these tests should be use routinely prior to any analysis such as model--------------------------------------------------------------------------------------------------free calculations.# Python module importsThis script will allow one to calculate values for the three consistency tests J(0), F_eta and F_R2. Once this is done, qualitative analysis can be performed by comparing values obtained at different magnetic fields.from time import asctimeCorrelation plots and histograms are useful tools for such comparison, such as presented in Morin & Gagne (2009a) J. Biomol. NMR, localtimeimport os45: 361-372.
# '''Other representations'''* [https://github.com/nmr-relax module imports/relax/blob/master/sample_scripts/angles.py angles.py] Script for calculating the protein NH bond vector angles with respect to the diffusion tensor.from auto_analyses* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/xh_vector_dist.py xh_vector_dist.py] Script for creating a PDB representation of the distribution of XH bond vectors.* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/diff_tensor_pdb.py diff_tensor_pdb.py] Script for creating a PDB representation of the Brownian rotational diffusion tensor.dauvergne_protocol import dAuvergne_protocol
# Set up the data pipe= Scripts - Part 2 =We now try to setup things a little more efficient.#######################
# The following sequence of user function calls can be changed as needed.Relax is able to read previous results file, so let us divide the task up into:
# Create * 1: Load the data pipeand save as state file. Inspect in GUI before running.* 2: Run the Model 1: local_tm.bundle_name = "mf (%s)" % asctime(localtime())* 3: Here make 4 scripts. Each of them only depends on Model 1:name = "origin"** Model 2: spherepipe.create(name, ** Model 3: prolate** Model 4: oblate** Model 5: ellipsoid* 4: Make an intermediate 'mffinal', bundle=bundle_name)model script. This will automatically detect files from above.
# Load the PDB file.== Prepare data ==structure.read_pdb('energy_1We make a new folder and try.pdb', set_mol_name='TEMP', read_model=1)
# Set up the 15N and 1H spins (both backbone and Trp indole sidechains).structure.load_spins('@N', ave_pos=True)structure.load_spins('@NE1', ave_pos=True)structure.load_spins('@H', ave_pos=True)structure.load_spins('@HE1', ave_pos=True) # Assign isotopesspin.isotope('15N', spin_id='@N*')spin.isotope('1H', spin_id{| class='@H*') --------------------------------------------------------------------------------------------------"mw-collapsible mw-collapsed wikitable"! See commandsrelax> pipe.create(pipe_name='origin', pipe_type='mf', bundle='mf (Fri Oct 13 17:44:18 2017)')|-|relax> structure.read_pdb(file='energy_1.pdb', dir=None, read_mol=None, set_mol_name='TEMP', read_model=1, set_model_num=None, alt_loc=None, verbosity=1, merge<source lang=False) Internal relax PDB parser.Opening the file 'energy_1.pdb' for reading.RelaxWarning: Cannot determine the element associated with atom 'X'.RelaxWarning: Cannot determine the element associated with atom 'Z'.RelaxWarning: Cannot determine the element associated with atom 'OO'.RelaxWarning: Cannot determine the element associated with atom 'OO2'.Adding molecule 'TEMP' to model 1 (from the original molecule number 1 of model 1). relax"bash"> structure.load_spins(spin_id='@N', from_mols=None, mol_name_target=None, ave_pos=True, spin_num=True)Adding the following spins to the relax data store.mkdir 20171010_model_free_2_HADDOCK # mol_name res_num res_name spin_num spin_name REMOVED FROM DISPLAY relax> structure.load_spins(spin_id='@NE1', from_mols=None, mol_name_target=None, ave_pos=True, spin_num=True)Adding the following spins to the relax data store. # mol_name res_num res_name spin_num spin_name REMOVED FROM DISPLAY relax> structure.load_spins(spin_id='@H', from_mols=None, mol_name_target=None, ave_pos=True, spin_num=True)Adding the following spins to the relax data store. # mol_name res_num res_name spin_num spin_name REMOVED FROM DISPLAY relax> structure.load_spins(spin_id='@HE1', from_mols=None, mol_name_target=None, ave_pos=True, spin_num=True)Adding the following spins to the relax data storecp 20171010_model_free/*.dat 20171010_model_free_2_HADDOCK # mol_name res_num res_name spin_num spin_name REMOVED FROM DISPLAY relax> spin.isotope(isotope='15N', spin_id='@Ncp 20171010_model_free/*', force=False) relax> spin.isotope(isotope='1H', spin_id='@H*', force=False)pdb 20171010_model_free_2_HADDOCK
# Get scripts
cd 20171010_model_free_2_HADDOCK
git init
git remote add origin git@github.com:tlinnet/relax_modelfree_scripts.git
git fetch
git checkout -t origin/master
</source>
|}
== 02_read_data.py - Test load of data ==That looked to go fineAnd a new one, so let us try to just load data. See content of:[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/02_read_data.py 02_read_data.py] Run with<source lang="bash">relax 02_read_data.py -t 02_read_data.log</source>changing the NOE error
{| class="mw-collapsible mw-collapsed wikitable"
! Output from logfileSee commands
|-
|
<source lang="bash">
script = '02_read_datamkdir 20171010_model_free_3_HADDOCKcp 20171010_model_free/*.py'----------------------------------------------------------------------------------------------------dat 20171010_model_free_3_HADDOCK# Python module importscp 20171010_model_free/*.from time import asctime, localtimeimport ospdb 20171010_model_free_3_HADDOCK
# relax module imports.from auto_analyses.dauvergne_protocol import dAuvergne_protocol # Set up the data pipe.####################### # The following sequence of user function calls can be changed as needed.Get scriptscd 20171010_model_free_3_HADDOCK# Create the data pipe.git initbundle_name = "mf (%s)" % asctime(localtime())name = "git remote add origin"pipe.create(name, 'mf', bundle=bundle_name) # Load the PDB file.structure.read_pdb('energy_1.pdb', set_mol_name='TEMP', read_model=1) # Set up the 15N and 1H spins (both backbone and Trp indole sidechains).structure.load_spins('git@N', ave_pos=True)structuregithub.load_spins('@NE1', ave_pos=True)structure.load_spins('@H', ave_pos=True)structure.load_spins('@HE1', ave_pos=True) # Assign isotopesspin.isotope('15N', spin_id='@N*')spin.isotope('1H', spin_id='@H*') # Load the relaxation data.relax_data.read(ri_id='R1_600', ri_type='R1', frq=600.17*1e6, file='R1_600MHz_new_model_free.dat', mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7)relax_data.read(ri_id='R2_600', ri_type='R2', frq=600.17*1e6, file='R2_600MHz_new_model_free.dat', mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7)relax_data.read(ri_id='NOE_600', ri_type='NOE', frq=600.17*1e6, file='NOE_600MHz_new.dat', mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7)relax_data.read(ri_id='R1_750', ri_type='R1', frq=750.06*1e6, file='R1_750MHz_model_free.dat', mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7)relax_data.read(ri_id='R2_750', ri_type='R2', frq=750.06*1e6, file='R2_750MHz_model_free.dat', mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7)relax_data.read(ri_id='NOE_750', ri_type='NOE', frq=750.06*1e6, file='NOE_750MHz.dat', mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7) # Define the magnetic dipole-dipole relaxation interaction.interatomcom:tlinnet/relax_modelfree_scripts.define(spin_id1='@N', spin_id2='@H', direct_bond=True)gitinteratom.define(spin_id1='@NE1', spin_id2='@HE1', direct_bond=True)git fetchinteratom.set_dist(spin_id1='@N*', spin_id2='@H*', ave_dist=1.02 * 1egit checkout -10)interatom.unit_vectors() # Define the chemical shift relaxation interaction.value.set(-172 * 1e-6, 'csa', spin_id='@N*') ---------------------------------------------------------------------------------------------------- relax> pipe.create(pipe_name='t origin', pipe_type='mf', bundle='mf (Fri Oct 13 17:51:28 2017)') relax> structure.read_pdb(file='energy_1.pdb', dir=None, read_mol=None, set_mol_name='TEMP', read_model=1, set_model_num=None, alt_loc=None, verbosity=1, merge=False) Internal relax PDB parser.Opening the file 'energy_1.pdb' for reading.RelaxWarning: Cannot determine the element associated with atom 'X'.RelaxWarning: Cannot determine the element associated with atom 'Z'.RelaxWarning: Cannot determine the element associated with atom 'OO'.RelaxWarning: Cannot determine the element associated with atom 'OO2'.Adding molecule 'TEMP' to model 1 (from the original molecule number 1 of model 1). relax> structure.load_spins(spin_id='@N', from_mols=None, mol_name_target=None, ave_pos=True, spin_num=True)Adding the following spins to the relax data store. # mol_name res_num res_name spin_num spin_name REMOVED FROM DISPLAY relax> structure.load_spins(spin_id='@NE1', from_mols=None, mol_name_target=None, ave_pos=True, spin_num=True)Adding the following spins to the relax data store. # mol_name res_num res_name spin_num spin_name REMOVED FROM DISPLAY relax> structure.load_spins(spin_id='@H', from_mols=None, mol_name_target=None, ave_pos=True, spin_num=True)Adding the following spins to the relax data store. # mol_name res_num res_name spin_num spin_name REMOVED FROM DISPLAY relax> structure.load_spins(spin_id='@HE1', from_mols=None, mol_name_target=None, ave_pos=True, spin_num=True)Adding the following spins to the relax data store. # mol_name res_num res_name spin_num spin_name REMOVED FROM DISPLAY relax> spin.isotope(isotope='15N', spin_id='@N*', force=False) relax> spin.isotope(isotope='1H', spin_id='@H*', force=False) relax> relax_data.read(ri_id='R1_600', ri_type='R1', frq=600170000.0, file='R1_600MHz_new_model_free.dat', dir=None, spin_id_col=None, mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7, sep=None, spin_id=None)Opening the file 'R1_600MHz_new_model_free.dat' for reading. The following 600.17 MHz R1 relaxation data with the ID 'R1_600' has been loaded into the relax data store: # Spin_ID Value Error REMOVED FROM DISPLAY relax> relax_data.read(ri_id='R2_600', ri_type='R2', frq=600170000.0, file='R2_600MHz_new_model_free.dat', dir=None, spin_id_col=None, mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7, sep=None, spin_id=None)Opening the file 'R2_600MHz_new_model_free.dat' for reading. The following 600.17 MHz R2 relaxation data with the ID 'R2_600' has been loaded into the relax data store: # Spin_ID Value Error REMOVED FROM DISPLAY relax> relax_data.read(ri_id='NOE_600', ri_type='NOE', frq=600170000.0, file='NOE_600MHz_new.dat', dir=None, spin_id_col=None, mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7, sep=None, spin_id=None)Opening the file 'NOE_600MHz_new.dat' for reading. The following 600.17 MHz NOE relaxation data with the ID 'NOE_600' has been loaded into the relax data store: # Spin_ID Value Error REMOVED FROM DISPLAY relax> relax_data.read(ri_id='R1_750', ri_type='R1', frq=750060000.0, file='R1_750MHz_model_free.dat', dir=None, spin_id_col=None, mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7, sep=None, spin_id=None)Opening the file 'R1_750MHz_model_free.dat' for reading. The following 750.06 MHz R1 relaxation data with the ID 'R1_750' has been loaded into the relax data store: # Spin_ID Value Error REMOVED FROM DISPLAY relax> relax_data.read(ri_id='R2_750', ri_type='R2', frq=750060000.0, file='R2_750MHz_model_free.dat', dir=None, spin_id_col=None, mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7, sep=None, spin_id=None)Opening the file 'R2_750MHz_model_free.dat' for reading. The following 750.06 MHz R2 relaxation data with the ID 'R2_750' has been loaded into the relax data store: # Spin_ID Value Error REMOVED FROM DISPLAY relax> relax_data.read(ri_id='NOE_750', ri_type='NOE', frq=750060000.0, file='NOE_750MHz.dat', dir=None, spin_id_col=None, mol_name_col=1, res_num_col=2, res_name_col=3, spin_num_col=4, spin_name_col=5, data_col=6, error_col=7, sep=None, spin_id=None)Opening the file 'NOE_750MHz.dat' for reading. The following 750.06 MHz NOE relaxation data with the ID 'NOE_750' has been loaded into the relax data store: # Spin_ID Value Error REMOVED FROM DISPLAY relax> interatom.define(spin_id1='@N', spin_id2='@H', direct_bond=True, spin_selection=True, pipe=None)Interatomic interactions are now defined for the following spins:/master
# Spin_ID_1 Spin_ID_2 '#TEMP:3@N' '#TEMP:3@H' '#TEMP:4@N' '#TEMP:4@H' '#TEMP:5@N' '#TEMP:5@H' '#TEMP:6@N' '#TEMP:6@H' '#TEMP:7@N' '#TEMP:7@H' '#TEMP:8@N' '#TEMP:8@H' '#TEMP:9@N' '#TEMP:9@H' '#TEMP:10@N' '#TEMP:10@H' '#TEMP:11@N' '#TEMP:11@H' '#TEMP:13@N' '#TEMP:13@H' '#TEMP:14@N' '#TEMP:14@H' '#TEMP:15@N' '#TEMP:15@H' '#TEMP:16@N' '#TEMP:16@H' '#TEMP:17@N' '#TEMP:17@H' '#TEMP:18@N' '#TEMP:18@H' '#TEMP:19@N' '#TEMP:19@H' '#TEMP:20@N' '#TEMP:20@H' '#TEMP:21@N' '#TEMP:21@H' '#TEMP:22@N' '#TEMP:22@H' '#TEMP:23@N' '#TEMP:23@H' '#TEMP:24@N' '#TEMP:24@H' '#TEMP:25@N' '#TEMP:25@H' '#TEMP:26@N' '#TEMP:26@H' '#TEMP:27@N' '#TEMP:27@H' '#TEMP:28@N' '#TEMP:28@H' '#TEMP:29@N' '#TEMP:29@H' '#TEMP:30@N' '#TEMP:30@H' '#TEMP:31@N' '#TEMP:31@H' '#TEMP:32@N' '#TEMP:32@H' '#TEMP:33@N' '#TEMP:33@H' '#TEMP:34@N' '#TEMP:34@H' '#TEMP:35@N' '#TEMP:35@H' '#TEMP:36@N' '#TEMP:36@H' '#TEMP:37@N' '#TEMP:37@H' '#TEMP:38@N' '#TEMP:38@H' '#TEMP:39@N' '#TEMP:39@H' '#TEMP:40@N' '#TEMP:40@H' '#TEMP:41@N' '#TEMP:41@H' '#TEMP:42@N' '#TEMP:42@H' '#TEMP:43@N' '#TEMP:43@H' '#TEMP:45@N' '#TEMP:45@H' '#TEMP:46@N' '#TEMP:46@H' '#TEMP:47@N' '#TEMP:47@H' '#TEMP:48@N' '#TEMP:48@H' '#TEMP:49@N' '#TEMP:49@H' '#TEMP:50@N' '#TEMP:50@H' '#TEMP:51@N' '#TEMP:51@H' '#TEMP:52@N' '#TEMP:52@H' '#TEMP:53@N' '#TEMP:53@H' '#TEMP:54@N' '#TEMP:54@H' '#TEMP:55@N' '#TEMP:55@H' '#TEMP:56@N' '#TEMP:56@H' '#TEMP:57@N' '#TEMP:57@H' '#TEMP:58@N' '#TEMP:58@H' '#TEMP:59@N' '#TEMP:59@H' '#TEMP:60@N' '#TEMP:60@H' '#TEMP:61@N' '#TEMP:61@H' '#TEMP:62@N' '#TEMP:62@H' '#TEMP:63@N' '#TEMP:63@H' '#TEMP:64@N' '#TEMP:64@H' '#TEMP:65@N' '#TEMP:65@H' '#TEMP:66@N' '#TEMP:66@H' '#TEMP:67@N' '#TEMP:67@H' '#TEMP:68@N' '#TEMP:68@H' '#TEMP:69@N' '#TEMP:69@H' '#TEMP:70@N' '#TEMP:70@H' '#TEMP:71@N' '#TEMP:71@H' '#TEMP:72@N' '#TEMP:72@H' '#TEMP:73@N' '#TEMP:73@H' '#TEMP:74@N' '#TEMP:74@H' Change NOE error'#TEMP:75@N' '#TEMP:75@H' '#TEMP:76@N' '#TEMP:76@H' '#TEMP:77@N' '#TEMP:77@H' '#TEMP:78@N' '#TEMP:78@H' '#TEMP:79@N' '#TEMP:79@H' '#TEMP:80@N' '#TEMP:80@H' '#TEMP:81@N' '#TEMP:81@H' '#TEMP:82@N' '#TEMP:82@H' '#TEMP:83@N' '#TEMP:83@H' '#TEMP:84@N' '#TEMP:84@H' '#TEMP:85@N' '#TEMP:85@H' '#TEMP:87@N' '#TEMP:87@H' '#TEMP:88@N' '#TEMP:88@H' '#TEMP:89@N' '#TEMP:89@H' '#TEMP:90@N' '#TEMP:90@H' '#TEMP:91@N' '#TEMP:91@H' '#TEMP:93@N' '#TEMP:93@H' '#TEMP:94@N' '#TEMP:94@H' '#TEMP:95@N' '#TEMP:95@H' '#TEMP:96@N' '#TEMP:96@H' '#TEMP:97@N' '#TEMP:97@H' '#TEMP:98@N' '#TEMP:98@H' '#TEMP:99@N' '#TEMP:99@H' '#TEMP:100@N' '#TEMP:100@H' '#TEMP:101@N' '#TEMP:101@H' '#TEMP:102@N' '#TEMP:102@H' '#TEMP:103@N' '#TEMP:103@H' '#TEMP:104@N' '#TEMP:104@H' '#TEMP:105@N' '#TEMP:105@H' '#TEMP:106@N' '#TEMP:106@H' '#TEMP:107@N' '#TEMP:107@H' '#TEMP:108@N' '#TEMP:108@H' '#TEMP:109@N' '#TEMP:109@H' '#TEMP:110@N' '#TEMP:110@H' '#TEMP:111@N' '#TEMP:111@H' '#TEMP:112@N' '#TEMP:112@H' '#TEMP:113@N' '#TEMP:113@H' '#TEMP:114@N' '#TEMP:114@H' '#TEMP:115@N' '#TEMP:115@H' '#TEMP:116@N' '#TEMP:116@H' '#TEMP:117@N' '#TEMP:117@H' '#TEMP:118@N' '#TEMP:118@H' '#TEMP:119@N' '#TEMP:119@H' '#TEMP:120@N' '#TEMP:120@H' '#TEMP:121@N' '#TEMP:121@H' '#TEMP:122@N' '#TEMP:122@H' '#TEMP:123@N' '#TEMP:123@H' '#TEMP:124@N' '#TEMP:124@H' '#TEMP:125@N' '#TEMP:125@H' '#TEMP:127@N' '#TEMP:127@H' '#TEMP:128@N' '#TEMP:128@H' '#TEMP:129@N' '#TEMP:129@H' '#TEMP:130@N' '#TEMP:130@H' '#TEMP:131@N' '#TEMP:131@H' '#TEMP:132@N' '#TEMP:132@H' '#TEMP:133@N' '#TEMP:133@H' '#TEMP:134@N' '#TEMP:134@H' '#TEMP:136@N' '#TEMP:136@H' '#TEMP:138@N' '#TEMP:138@H' '#TEMP:139@N' '#TEMP:139@H' '#TEMP:140@N' '#TEMP:140@H' '#TEMP:141@N' '#TEMP:141@H' '#TEMP:142@N' '#TEMP:142@H' '#TEMP:143@N' '#TEMP:143@H' '#TEMP:144@N' '#TEMP:144@H' '#TEMP:145@N' '#TEMP:145@H' '#TEMP:146@N' '#TEMP:146@H' '#TEMP:147@N' '#TEMP:147@H' '#TEMP:148@N' '#TEMP:148@H' '#TEMP:149@N' '#TEMP:149@H' '#TEMP:150@N' '#TEMP:150@H' '#TEMP:151@N' '#TEMP:151@H' '#TEMP:152@N' '#TEMP:152@H' '#TEMP:153@N' '#TEMP:153@H' '#TEMP:154@N' '#TEMP:154@H' '#TEMP:155@N' '#TEMP:155@H' '#TEMP:156@N' '#TEMP:156@H' '#TEMP:157@N' '#TEMP:157@H' '#TEMP:158@N' '#TEMP:158@H' '#TEMP:159@N' '#TEMP:159@H' relax> interatom.define(spin_id1='@NE1', spin_id2='@HE1', direct_bond=True, spin_selection=True, pipe=None)Interatomic interactions are now defined for the following spins: # Spin_ID_1 Spin_ID_2 '#TEMP:33@NE1' '#TEMP:33@HE1' '#TEMP:48@NE1' '#TEMP:48@HE1' '#TEMP:49@NE1' '#TEMP:49@HE1' '#TEMP:59@NE1' '#TEMP:59@HE1' '#TEMP:98@NE1' '#TEMP:98@HE1' relax> interatom.set_dist(spin_id1='@N*', spin_id2='@H*', ave_dist=1.0200000000000001esed -10, unit=i 'meter')The following averaged distances have been set: # Spin_ID_1 Spin_ID_2 Ave_distance(meters) '#TEMP:3@N' '#TEMP:3@H' 1s/0.0200000000000001e-10 '#TEMP:4@N' '#TEMP:4@H' 1.0200000000000001e-10 '#TEMP:5@N' '#TEMP:5@H' 1*$/0.0200000000000001e-10 '#TEMP:6@N05/' '#TEMP:6@H' 1NOE_600MHz_new.0200000000000001e-10 dat'#TEMP:7@N' '#TEMP:7@H' 1.0200000000000001esed -10 i '#TEMP:8@N' '#TEMP:8@H' 1s/0.0200000000000001e-10 '#TEMP:9@N' '#TEMP:9@H' 1.0200000000000001e-10 '#TEMP:10@N' '#TEMP:10@H' 1.0200000000000001e-10 '#TEMP:11@N' '#TEMP:11@H' 1.0200000000000001e-10 '#TEMP:13@N' '#TEMP:13@H' 1.0200000000000001e-10 '#TEMP:14@N' '#TEMP:14@H' 1.0200000000000001e-10 '#TEMP:15@N' '#TEMP:15@H' 1.0200000000000001e-10 '#TEMP:16@N' '#TEMP:16@H' 1.0200000000000001e-10 '#TEMP:17@N' '#TEMP:17@H' 1.0200000000000001e-10 '#TEMP:18@N' '#TEMP:18@H' 1.0200000000000001e-10 '#TEMP:19@N' '#TEMP:19@H' 1.0200000000000001e-10 '#TEMP:20@N' '#TEMP:20@H' 1.0200000000000001e-10 '#TEMP:21@N' '#TEMP:21@H' 1.0200000000000001e-10 '#TEMP:22@N' '#TEMP:22@H' 1.0200000000000001e-10 '#TEMP:23@N' '#TEMP:23@H' 1.0200000000000001e-10 '#TEMP:24@N' '#TEMP:24@H' 1.0200000000000001e-10 '#TEMP:25@N' '#TEMP:25@H' 1.0200000000000001e-10 '#TEMP:26@N' '#TEMP:26@H' 1.0200000000000001e-10 '#TEMP:27@N' '#TEMP:27@H' 1.0200000000000001e-10 '#TEMP:28@N' '#TEMP:28@H' 1.0200000000000001e-10 '#TEMP:29@N' '#TEMP:29@H' 1.0200000000000001e-10 '#TEMP:30@N' '#TEMP:30@H' 1.0200000000000001e-10 '#TEMP:31@N' '#TEMP:31@H' 1.0200000000000001e-10 '#TEMP:32@N' '#TEMP:32@H' 1.0200000000000001e-10 '#TEMP:33@N' '#TEMP:33@H' 1.0200000000000001e-10 '#TEMP:34@N' '#TEMP:34@H' 1.0200000000000001e-10 '#TEMP:35@N' '#TEMP:35@H' 1.0200000000000001e-10 '#TEMP:36@N' '#TEMP:36@H' 1.0200000000000001e-10 '#TEMP:37@N' '#TEMP:37@H' 1.0200000000000001e-10 '#TEMP:38@N' '#TEMP:38@H' 1.0200000000000001e-10 '#TEMP:39@N' '#TEMP:39@H' 1.0200000000000001e-10 '#TEMP:40@N' '#TEMP:40@H' 1.0200000000000001e-10 '#TEMP:41@N' '#TEMP:41@H' 1.0200000000000001e-10 '#TEMP:42@N' '#TEMP:42@H' 1.0200000000000001e-10 '#TEMP:43@N' '#TEMP:43@H' 1.0200000000000001e-10 '#TEMP:45@N' '#TEMP:45@H' 1.0200000000000001e-10 '#TEMP:46@N' '#TEMP:46@H' 1.0200000000000001e-10 '#TEMP:47@N' '#TEMP:47@H' 1.0200000000000001e-10 '#TEMP:48@N' '#TEMP:48@H' 1.0200000000000001e-10 '#TEMP:49@N' '#TEMP:49@H' 1.0200000000000001e-10 '#TEMP:50@N' '#TEMP:50@H' 1.0200000000000001e-10 '#TEMP:51@N' '#TEMP:51@H' 1.0200000000000001e-10 '#TEMP:52@N' '#TEMP:52@H' 1*$/0.0200000000000001e-10 '#TEMP:53@N' 05/'#TEMP:53@H' 1NOE_750MHz.0200000000000001e-10 '#TEMP:54@N' '#TEMP:54@H' 1.0200000000000001e-10 '#TEMP:55@N' '#TEMP:55@H' 1.0200000000000001e-10 '#TEMP:56@N' '#TEMP:56@H' 1.0200000000000001e-10 '#TEMP:57@N' '#TEMP:57@H' 1.0200000000000001e-10 '#TEMP:58@N' '#TEMP:58@H' 1.0200000000000001e-10 '#TEMP:59@N' '#TEMP:59@H' 1.0200000000000001e-10 '#TEMP:60@N' '#TEMP:60@H' 1.0200000000000001e-10 '#TEMP:61@N' '#TEMP:61@H' 1.0200000000000001e-10 '#TEMP:62@N' '#TEMP:62@H' 1.0200000000000001e-10 '#TEMP:63@N' '#TEMP:63@H' 1.0200000000000001e-10 '#TEMP:64@N' '#TEMP:64@H' 1.0200000000000001e-10 '#TEMP:65@N' '#TEMP:65@H' 1.0200000000000001e-10 '#TEMP:66@N' '#TEMP:66@H' 1.0200000000000001e-10 '#TEMP:67@N' '#TEMP:67@H' 1.0200000000000001e-10 '#TEMP:68@N' '#TEMP:68@H' 1.0200000000000001e-10 '#TEMP:69@N' '#TEMP:69@H' 1.0200000000000001e-10 '#TEMP:70@N' '#TEMP:70@H' 1.0200000000000001e-10 '#TEMP:71@N' '#TEMP:71@H' 1.0200000000000001e-10 '#TEMP:72@N' '#TEMP:72@H' 1.0200000000000001e-10 '#TEMP:73@N' '#TEMP:73@H' 1.0200000000000001e-10 '#TEMP:74@N' '#TEMP:74@H' 1.0200000000000001e-10 '#TEMP:75@N' '#TEMP:75@H' 1.0200000000000001e-10 '#TEMP:76@N' '#TEMP:76@H' 1.0200000000000001e-10 '#TEMP:77@N' '#TEMP:77@H' 1.0200000000000001e-10 '#TEMP:78@N' '#TEMP:78@H' 1.0200000000000001e-10 '#TEMP:79@N' '#TEMP:79@H' 1.0200000000000001e-10 '#TEMP:80@N' '#TEMP:80@H' 1.0200000000000001e-10 '#TEMP:81@N' '#TEMP:81@H' 1.0200000000000001e-10 '#TEMP:82@N' '#TEMP:82@H' 1.0200000000000001e-10 '#TEMP:83@N' '#TEMP:83@H' 1.0200000000000001e-10 '#TEMP:84@N' '#TEMP:84@H' 1.0200000000000001e-10 '#TEMP:85@N' '#TEMP:85@H' 1.0200000000000001e-10 '#TEMP:87@N' '#TEMP:87@H' 1.0200000000000001e-10 '#TEMP:88@N' '#TEMP:88@H' 1.0200000000000001e-10 '#TEMP:89@N' '#TEMP:89@H' 1.0200000000000001e-10 '#TEMP:90@N' '#TEMP:90@H' 1.0200000000000001e-10 '#TEMP:91@N' '#TEMP:91@H' 1.0200000000000001e-10 '#TEMP:93@N' '#TEMP:93@H' 1.0200000000000001e-10 '#TEMP:94@N' '#TEMP:94@H' 1.0200000000000001e-10 '#TEMP:95@N' '#TEMP:95@H' 1.0200000000000001e-10 '#TEMP:96@N' '#TEMP:96@H' 1.0200000000000001e-10 '#TEMP:97@N' '#TEMP:97@H' 1.0200000000000001e-10 '#TEMP:98@N' '#TEMP:98@H' 1.0200000000000001e-10 '#TEMP:99@N' '#TEMP:99@H' 1.0200000000000001e-10 '#TEMP:100@N' '#TEMP:100@H' 1.0200000000000001e-10 '#TEMP:101@N' '#TEMP:101@H' 1.0200000000000001e-10 '#TEMP:102@N' '#TEMP:102@H' 1.0200000000000001e-10 '#TEMP:103@N' '#TEMP:103@H' 1.0200000000000001e-10 '#TEMP:104@N' '#TEMP:104@H' 1.0200000000000001e-10 '#TEMP:105@N' '#TEMP:105@H' 1.0200000000000001e-10 '#TEMP:106@N' '#TEMP:106@H' 1.0200000000000001e-10 '#TEMP:107@N' '#TEMP:107@H' 1.0200000000000001e-10 '#TEMP:108@N' '#TEMP:108@H' 1.0200000000000001e-10 '#TEMP:109@N' '#TEMP:109@H' 1.0200000000000001e-10 '#TEMP:110@N' '#TEMP:110@H' 1.0200000000000001e-10 '#TEMP:111@N' '#TEMP:111@H' 1.0200000000000001e-10 '#TEMP:112@N' '#TEMP:112@H' 1.0200000000000001e-10 '#TEMP:113@N' '#TEMP:113@H' 1.0200000000000001e-10 '#TEMP:114@N' '#TEMP:114@H' 1.0200000000000001e-10 '#TEMP:115@N' '#TEMP:115@H' 1.0200000000000001e-10 '#TEMP:116@N' '#TEMP:116@H' 1.0200000000000001e-10 '#TEMP:117@N' '#TEMP:117@H' 1.0200000000000001e-10 '#TEMP:118@N' '#TEMP:118@H' 1.0200000000000001e-10 '#TEMP:119@N' '#TEMP:119@H' 1.0200000000000001e-10 '#TEMP:120@N' '#TEMP:120@H' 1.0200000000000001e-10 '#TEMP:121@N' '#TEMP:121@H' 1.0200000000000001e-10 '#TEMP:122@N' '#TEMP:122@H' 1.0200000000000001e-10 '#TEMP:123@N' '#TEMP:123@H' 1.0200000000000001e-10 '#TEMP:124@N' '#TEMP:124@H' 1.0200000000000001e-10 '#TEMP:125@N' '#TEMP:125@H' 1.0200000000000001e-10 '#TEMP:127@N' '#TEMP:127@H' 1.0200000000000001e-10 '#TEMP:128@N' '#TEMP:128@H' 1.0200000000000001e-10 '#TEMP:129@N' '#TEMP:129@H' 1.0200000000000001e-10 '#TEMP:130@N' '#TEMP:130@H' 1.0200000000000001e-10 '#TEMP:131@N' '#TEMP:131@H' 1.0200000000000001e-10 '#TEMP:132@N' '#TEMP:132@H' 1.0200000000000001e-10 '#TEMP:133@N' '#TEMP:133@H' 1.0200000000000001e-10 '#TEMP:134@N' '#TEMP:134@H' 1.0200000000000001e-10 '#TEMP:136@N' '#TEMP:136@H' 1.0200000000000001e-10 '#TEMP:138@N' '#TEMP:138@H' 1.0200000000000001e-10 '#TEMP:139@N' '#TEMP:139@H' 1.0200000000000001e-10 '#TEMP:140@N' '#TEMP:140@H' 1.0200000000000001e-10 '#TEMP:141@N' '#TEMP:141@H' 1.0200000000000001e-10 '#TEMP:142@N' '#TEMP:142@H' 1.0200000000000001e-10 '#TEMP:143@N' '#TEMP:143@H' 1.0200000000000001e-10 '#TEMP:144@N' '#TEMP:144@H' 1.0200000000000001e-10 '#TEMP:145@N' '#TEMP:145@H' 1.0200000000000001e-10 '#TEMP:146@N' '#TEMP:146@H' 1.0200000000000001e-10 '#TEMP:147@N' '#TEMP:147@H' 1.0200000000000001e-10 '#TEMP:148@N' '#TEMP:148@H' 1.0200000000000001e-10 '#TEMP:149@N' '#TEMP:149@H' 1.0200000000000001e-10 '#TEMP:150@N' '#TEMP:150@H' 1.0200000000000001e-10 '#TEMP:151@N' '#TEMP:151@H' 1.0200000000000001e-10 '#TEMP:152@N' '#TEMP:152@H' 1.0200000000000001e-10 '#TEMP:153@N' '#TEMP:153@H' 1.0200000000000001e-10 '#TEMP:154@N' '#TEMP:154@H' 1.0200000000000001e-10 '#TEMP:155@N' '#TEMP:155@H' 1.0200000000000001e-10 '#TEMP:156@N' '#TEMP:156@H' 1.0200000000000001e-10 '#TEMP:157@N' '#TEMP:157@H' 1.0200000000000001e-10 '#TEMP:158@N' '#TEMP:158@H' 1.0200000000000001e-10 '#TEMP:159@N' '#TEMP:159@H' 1.0200000000000001e-10 '#TEMP:33@NE1' '#TEMP:33@HE1' 1.0200000000000001e-10 '#TEMP:48@NE1' '#TEMP:48@HE1' 1.0200000000000001e-10 '#TEMP:49@NE1' '#TEMP:49@HE1' 1.0200000000000001e-10 '#TEMP:59@NE1' '#TEMP:59@HE1' 1.0200000000000001e-10 '#TEMP:98@NE1' '#TEMP:98@HE1' 1.0200000000000001e-10 relax> interatom.unit_vectors(ave=True)Averaging all vectors.Calculated 1 N-H unit vector between the spins '#TEMP:3@N' and '#TEMP:3@H'.Calculated 1 N-H unit vector between the spins '#TEMP:4@N' and '#TEMP:4@H'.Calculated 1 N-H unit vector between the spins '#TEMP:5@N' and '#TEMP:5@H'.Calculated 1 N-H unit vector between the spins '#TEMP:6@N' and '#TEMP:6@H'.Calculated 1 N-H unit vector between the spins '#TEMP:7@N' and '#TEMP:7@H'.Calculated 1 N-H unit vector between the spins '#TEMP:8@N' and '#TEMP:8@H'.Calculated 1 N-H unit vector between the spins '#TEMP:9@N' and '#TEMP:9@H'.Calculated 1 N-H unit vector between the spins '#TEMP:10@N' and '#TEMP:10@H'.Calculated 1 N-H unit vector between the spins '#TEMP:11@N' and '#TEMP:11@H'.Calculated 1 N-H unit vector between the spins '#TEMP:13@N' and '#TEMP:13@H'.Calculated 1 N-H unit vector between the spins '#TEMP:14@N' and '#TEMP:14@H'.Calculated 1 N-H unit vector between the spins '#TEMP:15@N' and '#TEMP:15@H'.Calculated 1 N-H unit vector between the spins '#TEMP:16@N' and '#TEMP:16@H'.Calculated 1 N-H unit vector between the spins '#TEMP:17@N' and '#TEMP:17@H'.Calculated 1 N-H unit vector between the spins '#TEMP:18@N' and '#TEMP:18@H'.Calculated 1 N-H unit vector between the spins '#TEMP:19@N' and '#TEMP:19@H'.Calculated 1 N-H unit vector between the spins '#TEMP:20@N' and '#TEMP:20@H'.Calculated 1 N-H unit vector between the spins '#TEMP:21@N' and '#TEMP:21@H'.Calculated 1 N-H unit vector between the spins '#TEMP:22@N' and '#TEMP:22@H'.Calculated 1 N-H unit vector between the spins '#TEMP:23@N' and '#TEMP:23@H'.Calculated 1 N-H unit vector between the spins '#TEMP:24@N' and '#TEMP:24@H'.Calculated 1 N-H unit vector between the spins '#TEMP:25@N' and '#TEMP:25@H'.Calculated 1 N-H unit vector between the spins '#TEMP:26@N' and '#TEMP:26@H'.Calculated 1 N-H unit vector between the spins '#TEMP:27@N' and '#TEMP:27@H'.Calculated 1 N-H unit vector between the spins '#TEMP:28@N' and '#TEMP:28@H'.Calculated 1 N-H unit vector between the spins '#TEMP:29@N' and '#TEMP:29@H'.Calculated 1 N-H unit vector between the spins '#TEMP:30@N' and '#TEMP:30@H'.Calculated 1 N-H unit vector between the spins '#TEMP:31@N' and '#TEMP:31@H'.Calculated 1 N-H unit vector between the spins '#TEMP:32@N' and '#TEMP:32@H'.Calculated 1 N-H unit vector between the spins '#TEMP:33@N' and '#TEMP:33@H'.Calculated 1 N-H unit vector between the spins '#TEMP:34@N' and '#TEMP:34@H'.Calculated 1 N-H unit vector between the spins '#TEMP:35@N' and '#TEMP:35@H'.Calculated 1 N-H unit vector between the spins '#TEMP:36@N' and '#TEMP:36@H'.Calculated 1 N-H unit vector between the spins '#TEMP:37@N' and '#TEMP:37@H'.Calculated 1 N-H unit vector between the spins '#TEMP:38@N' and '#TEMP:38@H'.Calculated 1 N-H unit vector between the spins '#TEMP:39@N' and '#TEMP:39@H'.Calculated 1 N-H unit vector between the spins '#TEMP:40@N' and '#TEMP:40@H'.Calculated 1 N-H unit vector between the spins '#TEMP:41@N' and '#TEMP:41@H'.Calculated 1 N-H unit vector between the spins '#TEMP:42@N' and '#TEMP:42@H'.Calculated 1 N-H unit vector between the spins '#TEMP:43@N' and '#TEMP:43@H'.Calculated 1 N-H unit vector between the spins '#TEMP:45@N' and '#TEMP:45@H'.Calculated 1 N-H unit vector between the spins '#TEMP:46@N' and '#TEMP:46@H'.Calculated 1 N-H unit vector between the spins '#TEMP:47@N' and '#TEMP:47@H'.Calculated 1 N-H unit vector between the spins '#TEMP:48@N' and '#TEMP:48@H'.Calculated 1 N-H unit vector between the spins '#TEMP:49@N' and '#TEMP:49@H'.Calculated 1 N-H unit vector between the spins '#TEMP:50@N' and '#TEMP:50@H'.Calculated 1 N-H unit vector between the spins '#TEMP:51@N' and '#TEMP:51@H'.Calculated 1 N-H unit vector between the spins '#TEMP:52@N' and '#TEMP:52@H'.Calculated 1 N-H unit vector between the spins '#TEMP:53@N' and '#TEMP:53@H'.Calculated 1 N-H unit vector between the spins '#TEMP:54@N' and '#TEMP:54@H'.Calculated 1 N-H unit vector between the spins '#TEMP:55@N' and '#TEMP:55@H'.Calculated 1 N-H unit vector between the spins '#TEMP:56@N' and '#TEMP:56@H'.Calculated 1 N-H unit vector between the spins '#TEMP:57@N' and '#TEMP:57@H'.Calculated 1 N-H unit vector between the spins '#TEMP:58@N' and '#TEMP:58@H'.Calculated 1 N-H unit vector between the spins '#TEMP:59@N' and '#TEMP:59@H'.Calculated 1 N-H unit vector between the spins '#TEMP:60@N' and '#TEMP:60@H'.Calculated 1 N-H unit vector between the spins '#TEMP:61@N' and '#TEMP:61@H'.Calculated 1 N-H unit vector between the spins '#TEMP:62@N' and '#TEMP:62@H'.Calculated 1 N-H unit vector between the spins '#TEMP:63@N' and '#TEMP:63@H'.Calculated 1 N-H unit vector between the spins '#TEMP:64@N' and '#TEMP:64@H'.Calculated 1 N-H unit vector between the spins '#TEMP:65@N' and '#TEMP:65@H'.Calculated 1 N-H unit vector between the spins '#TEMP:66@N' and '#TEMP:66@H'.Calculated 1 N-H unit vector between the spins '#TEMP:67@N' and '#TEMP:67@H'.Calculated 1 N-H unit vector between the spins '#TEMP:68@N' and '#TEMP:68@H'.Calculated 1 N-H unit vector between the spins '#TEMP:69@N' and '#TEMP:69@H'.Calculated 1 N-H unit vector between the spins '#TEMP:70@N' and '#TEMP:70@H'.Calculated 1 N-H unit vector between the spins '#TEMP:71@N' and '#TEMP:71@H'.Calculated 1 N-H unit vector between the spins '#TEMP:72@N' and '#TEMP:72@H'.Calculated 1 N-H unit vector between the spins '#TEMP:73@N' and '#TEMP:73@H'.Calculated 1 N-H unit vector between the spins '#TEMP:74@N' and '#TEMP:74@H'.Calculated 1 N-H unit vector between the spins '#TEMP:75@N' and '#TEMP:75@H'.Calculated 1 N-H unit vector between the spins '#TEMP:76@N' and '#TEMP:76@H'.Calculated 1 N-H unit vector between the spins '#TEMP:77@N' and '#TEMP:77@H'.Calculated 1 N-H unit vector between the spins '#TEMP:78@N' and '#TEMP:78@H'.Calculated 1 N-H unit vector between the spins '#TEMP:79@N' and '#TEMP:79@H'.Calculated 1 N-H unit vector between the spins '#TEMP:80@N' and '#TEMP:80@H'.Calculated 1 N-H unit vector between the spins '#TEMP:81@N' and '#TEMP:81@H'.Calculated 1 N-H unit vector between the spins '#TEMP:82@N' and '#TEMP:82@H'.Calculated 1 N-H unit vector between the spins '#TEMP:83@N' and '#TEMP:83@H'.Calculated 1 N-H unit vector between the spins '#TEMP:84@N' and '#TEMP:84@H'.Calculated 1 N-H unit vector between the spins '#TEMP:85@N' and '#TEMP:85@H'.Calculated 1 N-H unit vector between the spins '#TEMP:87@N' and '#TEMP:87@H'.Calculated 1 N-H unit vector between the spins '#TEMP:88@N' and '#TEMP:88@H'.Calculated 1 N-H unit vector between the spins '#TEMP:89@N' and '#TEMP:89@H'.Calculated 1 N-H unit vector between the spins '#TEMP:90@N' and '#TEMP:90@H'.Calculated 1 N-H unit vector between the spins '#TEMP:91@N' and '#TEMP:91@H'.Calculated 1 N-H unit vector between the spins '#TEMP:93@N' and '#TEMP:93@H'.Calculated 1 N-H unit vector between the spins '#TEMP:94@N' and '#TEMP:94@H'.Calculated 1 N-H unit vector between the spins '#TEMP:95@N' and '#TEMP:95@H'.Calculated 1 N-H unit vector between the spins '#TEMP:96@N' and '#TEMP:96@H'.Calculated 1 N-H unit vector between the spins '#TEMP:97@N' and '#TEMP:97@H'.Calculated 1 N-H unit vector between the spins '#TEMP:98@N' and '#TEMP:98@H'.Calculated 1 N-H unit vector between the spins '#TEMP:99@N' and '#TEMP:99@H'.Calculated 1 N-H unit vector between the spins '#TEMP:100@N' and '#TEMP:100@H'.Calculated 1 N-H unit vector between the spins '#TEMP:101@N' and '#TEMP:101@H'.Calculated 1 N-H unit vector between the spins '#TEMP:102@N' and '#TEMP:102@H'.Calculated 1 N-H unit vector between the spins '#TEMP:103@N' and '#TEMP:103@H'.Calculated 1 N-H unit vector between the spins '#TEMP:104@N' and '#TEMP:104@H'.Calculated 1 N-H unit vector between the spins '#TEMP:105@N' and '#TEMP:105@H'.Calculated 1 N-H unit vector between the spins '#TEMP:106@N' and '#TEMP:106@H'.Calculated 1 N-H unit vector between the spins '#TEMP:107@N' and '#TEMP:107@H'.Calculated 1 N-H unit vector between the spins '#TEMP:108@N' and '#TEMP:108@H'.Calculated 1 N-H unit vector between the spins '#TEMP:109@N' and '#TEMP:109@H'.Calculated 1 N-H unit vector between the spins '#TEMP:110@N' and '#TEMP:110@H'.Calculated 1 N-H unit vector between the spins '#TEMP:111@N' and '#TEMP:111@H'.Calculated 1 N-H unit vector between the spins '#TEMP:112@N' and '#TEMP:112@H'.Calculated 1 N-H unit vector between the spins '#TEMP:113@N' and '#TEMP:113@H'.Calculated 1 N-H unit vector between the spins '#TEMP:114@N' and '#TEMP:114@H'.Calculated 1 N-H unit vector between the spins '#TEMP:115@N' and '#TEMP:115@H'.Calculated 1 N-H unit vector between the spins '#TEMP:116@N' and '#TEMP:116@H'.Calculated 1 N-H unit vector between the spins '#TEMP:117@N' and '#TEMP:117@H'.Calculated 1 N-H unit vector between the spins '#TEMP:118@N' and '#TEMP:118@H'.Calculated 1 N-H unit vector between the spins '#TEMP:119@N' and '#TEMP:119@H'.Calculated 1 N-H unit vector between the spins '#TEMP:120@N' and '#TEMP:120@H'.Calculated 1 N-H unit vector between the spins '#TEMP:121@N' and '#TEMP:121@H'.Calculated 1 N-H unit vector between the spins '#TEMP:122@N' and '#TEMP:122@H'.Calculated 1 N-H unit vector between the spins '#TEMP:123@N' and '#TEMP:123@H'.Calculated 1 N-H unit vector between the spins '#TEMP:124@N' and '#TEMP:124@H'.Calculated 1 N-H unit vector between the spins '#TEMP:125@N' and '#TEMP:125@H'.Calculated 1 N-H unit vector between the spins '#TEMP:127@N' and '#TEMP:127@H'.Calculated 1 N-H unit vector between the spins '#TEMP:128@N' and '#TEMP:128@H'.Calculated 1 N-H unit vector between the spins '#TEMP:129@N' and '#TEMP:129@H'.Calculated 1 N-H unit vector between the spins '#TEMP:130@N' and '#TEMP:130@H'.Calculated 1 N-H unit vector between the spins '#TEMP:131@N' and '#TEMP:131@H'.Calculated 1 N-H unit vector between the spins '#TEMP:132@N' and '#TEMP:132@H'.Calculated 1 N-H unit vector between the spins '#TEMP:133@N' and '#TEMP:133@H'.Calculated 1 N-H unit vector between the spins '#TEMP:134@N' and '#TEMP:134@H'.Calculated 1 N-H unit vector between the spins '#TEMP:136@N' and '#TEMP:136@H'.Calculated 1 N-H unit vector between the spins '#TEMP:138@N' and '#TEMP:138@H'.Calculated 1 N-H unit vector between the spins '#TEMP:139@N' and '#TEMP:139@H'.Calculated 1 N-H unit vector between the spins '#TEMP:140@N' and '#TEMP:140@H'.Calculated 1 N-H unit vector between the spins '#TEMP:141@N' and '#TEMP:141@H'.Calculated 1 N-H unit vector between the spins '#TEMP:142@N' and '#TEMP:142@H'.Calculated 1 N-H unit vector between the spins '#TEMP:143@N' and '#TEMP:143@H'.Calculated 1 N-H unit vector between the spins '#TEMP:144@N' and '#TEMP:144@H'.Calculated 1 N-H unit vector between the spins '#TEMP:145@N' and '#TEMP:145@H'.Calculated 1 N-H unit vector between the spins '#TEMP:146@N' and '#TEMP:146@H'.Calculated 1 N-H unit vector between the spins '#TEMP:147@N' and '#TEMP:147@H'.Calculated 1 N-H unit vector between the spins '#TEMP:148@N' and '#TEMP:148@H'.Calculated 1 N-H unit vector between the spins '#TEMP:149@N' and '#TEMP:149@H'.Calculated 1 N-H unit vector between the spins '#TEMP:150@N' and '#TEMP:150@H'.Calculated 1 N-H unit vector between the spins '#TEMP:151@N' and '#TEMP:151@H'.Calculated 1 N-H unit vector between the spins '#TEMP:152@N' and '#TEMP:152@H'.Calculated 1 N-H unit vector between the spins '#TEMP:153@N' and '#TEMP:153@H'.Calculated 1 N-H unit vector between the spins '#TEMP:154@N' and '#TEMP:154@H'.Calculated 1 N-H unit vector between the spins '#TEMP:155@N' and '#TEMP:155@H'.Calculated 1 N-H unit vector between the spins '#TEMP:156@N' and '#TEMP:156@H'.Calculated 1 N-H unit vector between the spins '#TEMP:157@N' and '#TEMP:157@H'.Calculated 1 N-H unit vector between the spins '#TEMP:158@N' and '#TEMP:158@H'.Calculated 1 N-H unit vector between the spins '#TEMP:159@N' and '#TEMP:159@H'.Calculated 1 NE1-HE1 unit vector between the spins '#TEMP:33@NE1' and '#TEMP:33@HE1'.Calculated 1 NE1-HE1 unit vector between the spins '#TEMP:48@NE1' and '#TEMP:48@HE1'.Calculated 1 NE1-HE1 unit vector between the spins '#TEMP:49@NE1' and '#TEMP:49@HE1'.Calculated 1 NE1-HE1 unit vector between the spins '#TEMP:59@NE1' and '#TEMP:59@HE1'.Calculated 1 NE1-HE1 unit vector between the spins '#TEMP:98@NE1' and '#TEMP:98@HE1'. relax> value.set(val=-0.00017199999999999998, param='csa', index=0, spin_id='@N*', error=False, force=True)dat
</source>
|}
== 03_save_state_inspect_GUI.py - Inspect data in GUI ==The GUI can be And a good place to inspect new one, changing the setup NOE error, and filesdeselecting N-terminal.<br>Consistency test, found that this stretch contained outliers.{| class="mw-collapsible mw-collapsed wikitable"! See content of:[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/03_save_state_inspect_GUI.py 03_save_state_inspect_GUI.py]commands|-Run with|
<source lang="bash">
relax 03_save_state_inspect_GUI.py -t 03_save_state_inspect_GUImkdir 20171010_model_free_4_HADDOCKcp 20171010_model_free/*.logdat 20171010_model_free_4_HADDOCK<cp 20171010_model_free/source>*.pdb 20171010_model_free_4_HADDOCK
To check in GUI* relax -g* File -> Open relax state# Get scripts* In folder "result_03" open "result_03_ini.bz2"cd 20171010_model_free_4_HADDOCK* View -> Data pipe editorgit init* Right click on pipe, and select "Associate with a new auto-analysis" == 04_run_default_with_tolerance_lim.py - Try fast run ==Now we try a fast run, to see if everything is setup See content of:[https://git remote add origin git@github.com/:tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/04_run_default_with_tolerance_lim.py 04_run_default_with_tolerance_lim.py] Before running, is worth to note, which values are NOT set to default values in the GUI.* dAuvergne_protocol.opt_func_tol = 1e-10 # Standard: opt_func_tol = 1e-25 * dAuvergne_protocol.opt_max_iterations = int(1e5) # Standard: opt_max_iterations = int(1e7)gitThese 2 values is used in the '''minfx''' python package, and is an instruction to the minimiser function, to continue changing parameter values,git fetchUNTIL either the difference in chi2 values between "2 steps" is less than 1egit checkout -10, OR if the number all steps is larger than 10^5.It's an instruction not to be tooooo pedantic, here in the exploration phase. When finalising for publication, these valuesshould be set to their standard value. * MC_NUM = 20Number of Monte-Carlo simulations. The protocol will find optimum parameter values in this protocol, but errorestimation will not be very reliable. Standard is 500. We use [http:t origin//www.dayid.org/comp/tm.html tmux] to make a terminal-session, we can get back to,if our own terminal connection get closed. * start a new session: '''tmux'''* re-attach a detached session: '''tmux attach'''master
Run with# Change NOE error<source lang="bash">sed -i 's/0.1*$/0.05/' NOE_600MHz_new.dat# Make terminalsed -sessiontmuxi 's/0.1*$/0.05/' NOE_750MHz.dat
relax 04_run_default_with_tolerance_lim# Make deselectionecho "#" > deselect.py txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t151" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t152" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t153" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t154" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t155" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t156" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t157" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t158" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -t 04_run_default_with_tolerance_limP "ArcCALD\t159" >> deselect.logtxt
</source>
|}
You can then in another terminal follow And a new one, changing the logfile by<source lang="bash">less +F 04_run_default_with_tolerance_lim.log</source> * To scroll up and down, use keyboard: '''Ctrl+c'''* To return to follow mode, use keyboard: '''Shift+f'''* To exitNOE error, use keyboard: '''Ctrl+c''' and then: '''q''' == 05_run_def_MC20.py - Try normal run with MC 20 ==The inspection of the log of the previous run, it seems the '''prolate'''cannot converge. It jumps between 2 chi2 valuesdeselecting spins found from consistency test. <br>Maybe it is because of the NOT default values of optimization, to let us setit back to default. We have 4 CPU on our lab computers.<br>So let us assign 1 to a run normal settings, and only MC{| class=20. See content of:[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/05_run_def_MC20.py 05_run_def_MC20.py] * MC_NUM = 20Number of Monte"mw-Carlo simulations. The protocol will find optimum parameter values in this protocol, but errorestimation will not be very reliable. Standard is 500. We use [http://www.dayid.org/comp/tm.html tmux] to make a terminalcollapsible mw-session, we can get back to,if our own terminal connection get closed.collapsed wikitable"! See commands* start a new session: '''tmux'''* re|-attach a detached session: '''tmux attach''' Run with|
<source lang="bash">
# Make terminal-sessionmkdir 20171010_model_free_5_HADDOCKtmuxcp 20171010_model_free/*.dat 20171010_model_free_5_HADDOCKcp 20171010_model_free/*.pdb 20171010_model_free_5_HADDOCK
relax 05_run_def_MC20.py -t 05_run_def_MC20.log</source># Get scriptsYou can then in another terminal follow the logfile bycd 20171010_model_free_5_HADDOCK<source lang="bash">git initless +F 05_run_def_MC20git remote add origin git@github.log<com:tlinnet/source> * To scroll up and down, use keyboard: '''Ctrl+c'''* To return to follow mode, use keyboard: '''Shift+f'''* To exit, use keyboard: '''Ctrl+c''' and then: '''q'''relax_modelfree_scripts.gitgit fetch== 06_run_def_MC20_MAX_ITER20.py git checkout - Try normal run with MC 20 and MAX_ITER 20 ==It looks like the '''prolate''' has problem with converging. <br>So let us try a run, where a maximum of '''20 rounds of convergence''' is accepted. <br> Normally between 8 to 15 multiple rounds of optimisation of the are required for the proper execution of this script.<br>This is can also be see here in Figure 2.* d'Auvergne, E. J. and Gooley, P. R. (2008). [http:/t origin/dx.doi.org/10.1007/s10858-007-9213-3 Optimisation of NMR dynamic models II. A new methodology for the dual optimisation of the model-free parameters and the Brownian rotational diffusion tensor. J. Biomol. NMR, 40(2), 121-133.] Then hopefully, relax should continue to the other models, if '''prolate''' does not converge.master
We have 4 CPU on our lab computers.<br># Change NOE errorLet us assign another to a run normal settings, only MC=20 and MAX_ITER=20sed -i 's/0. See content of:[https:/1*$/github0.com05/tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/06_run_def_MC20_MAX_ITER20.py 06_run_def_MC20_MAX_ITER20' NOE_600MHz_new.py]dat We use [http:sed -i 's/0.1*$/www.dayid0.org05/comp/tm.html tmux] to make a terminal-session, we can get back to,if our own terminal connection get closed' NOE_750MHz. * start a new session: '''tmux new -s relax06'''* re-attach a detached session: '''tmux a -t relax06''' Run with<source lang="bash"># Make terminal-sessiontmux new -s relax06dat
relax 06_run_def_MC20_MAX_ITER20.py -t 06_run_def_MC20_MAX_ITER20.log# Make deselection</sourceecho "#" >deselect.txt ===06_check_intermediatecat R1_600MHz_new_model_free.py dat | grep - Inspection of 06 run ===After running around 12H, it is in round '''14''' in the '''prolate'''P "ArcCALD\t158" >> deselect.txt Let's us try '''finalize''' on just the current available data! See content of:[https://githubcat R1_600MHz_new_model_free.com/tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/06_check_intermediate.py 06_check_intermediatedat | grep -P "ArcCALD\t157" >> deselect.py]txt We just want to finish, and see some results. Therefore also nrcat R1_600MHz_new_model_free. of Montedat | grep -Carlo is set to a minimumP "ArcCALD\t17" >> deselect.<br>MC_NUM = 5txtRun withcat R1_600MHz_new_model_free. This should take 20dat | grep -30 min on 1 CPUP "ArcCALD\t159" >> deselect.txt<source lang=cat R1_600MHz_new_model_free.dat | grep -P "bashArcCALD\t120">> deselect.txt# Make terminalcat R1_600MHz_new_model_free.dat | grep -sessionP "ArcCALD\t59" >> deselect.txttmux new cat R1_600MHz_new_model_free.dat | grep -s relax06_checkP "ArcCALD\t98" >> deselect.txt # First delete old datarm cat R1_600MHz_new_model_free.dat | grep -rf result_06_check_intermediateP "ArcCALD\t49" >> deselect.txtrelax 06_check_intermediatecat R1_600MHz_new_model_free.py dat | grep -t 06_check_intermediateP "ArcCALD\t76" >> deselect.logtxt</sourcecat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t155" >> deselect.txt === 06_check_intermediate_spin_infocat R1_600MHz_new_model_free.py dat | grep - Spin info ===We would like to extract more info from the spin_containers in the final runP "ArcCALD\t156" >> deselect.txt See content of:[https://githubcat R1_600MHz_new_model_free.com/tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/06_check_intermediate_spin_infodat | grep -P "ArcCALD\t48" >> deselect.py 06_check_intermediate_spin_infotxtcat R1_600MHz_new_model_free.py] Run with relax<source lang=dat | grep -P "bashArcCALD\t154">relax 06_check_intermediate_spin_info> deselect.pytxt
</source>
|}
=== 06_check_intermediate_iteration_chi2.py - Per iteration get chi2 ===SpecificallyAnd a new one, since we have problems with convergence, we would like to see without changing the chi2value per iteration for the different models. This is not so easy to getNOE error, and we haveto make a script, that loads each result file per '''round''' folder and extract the chi2 value. This will also get '''k''' The global number parameters and '''n''' the global number of data sets. See content of:[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/06_check_intermediate_iteration_chi2.py 06_check_intermediate_iteration_chi2deselecting spins found from consistency test.py] Run with relax<source lang="bash"br>relax 06_check_intermediate_iteration_chi2.py</source> You will get at file called '''results_collected.txt''', which look like this:
{| class="mw-collapsible mw-collapsed wikitable"
! results_collected.txtSee commands
|-
|
<source lang="text">
# pipe_name model round_i cdp_iter chi2 tm k_glob_Num_params n_glob_Num_data_sets chi2_glob
sphere_round_1 sphere 1 22 1183.60277408 1.2974699344e-08 488 852 1183.60277408
sphere_round_2 sphere 2 23 1183.60277408 1.2974699344e-08 487 852 1183.60277408
sphere_round_3 sphere 3 22 1183.60277408 1.2974699344e-08 487 852 1183.60277408
sphere_round_4 sphere 4 22 1183.60277408 1.2974699344e-08 487 852 1183.60277408
prolate_round_1 prolate 1 53 932.899062972 1.2464061259e-08 514 852 932.899062972
prolate_round_2 prolate 2 84 865.016376565 1.26721710049e-08 504 852 865.016376565
prolate_round_3 prolate 3 67 964.845116104 1.24191769798e-08 503 852 964.845116104
prolate_round_4 prolate 4 34 930.752025077 1.26483515558e-08 502 852 930.752025077
prolate_round_5 prolate 5 67 909.856202241 1.28541765906e-08 503 852 909.856202241
prolate_round_6 prolate 6 23 951.710561542 1.26175541503e-08 504 852 951.710561542
prolate_round_7 prolate 7 35 952.107901488 1.26811016067e-08 498 852 952.107901488
prolate_round_8 prolate 8 64 935.134955157 1.28110023551e-08 500 852 935.134955157
prolate_round_9 prolate 9 67 912.686227 1.26319631345e-08 505 852 912.686227
prolate_round_10 prolate 10 52 947.507736287 1.26128571533e-08 496 852 947.507736287
prolate_round_11 prolate 11 23 946.286202493 1.26164667854e-08 501 852 946.286202493
prolate_round_12 prolate 12 78 926.197899702 1.28360618825e-08 501 852 926.197899702
prolate_round_13 prolate 13 30 957.042437647 1.26480640488e-08 501 852 957.042437647
prolate_round_14 prolate 14 81 866.380697777 1.29448205266e-08 501 852 866.380697777
prolate_round_15 prolate 15 43 948.620369901 1.26263659146e-08 505 852 948.620369901
prolate_round_16 prolate 16 25 957.280759677 1.25785850027e-08 498 852 957.280759677
prolate_round_17 prolate 17 40 960.954711859 1.25831186176e-08 496 852 960.954711859
prolate_round_18 prolate 18 22 955.322431013 1.25753030466e-08 497 852 955.322431013
prolate_round_19 prolate 19 30 960.954711852 1.25831186176e-08 496 852 960.954711852
prolate_round_20 prolate 20 25 955.322431009 1.25753030467e-08 497 852 955.322431009
prolate_round_21 prolate 21 38 960.954711873 1.25831186176e-08 496 852 960.954711873
oblate_round_1 oblate 1 63 989.228261962 1.24958484208e-08 498 852 989.228261962
oblate_round_2 oblate 2 34 837.602683824 1.2555394405e-08 492 852 837.602683824
oblate_round_3 oblate 3 62 767.911810314 1.24919596393e-08 501 852 767.911810314
oblate_round_4 oblate 4 26 781.379029783 1.23179418626e-08 502 852 781.379029783
oblate_round_5 oblate 5 27 767.754067371 1.23499989348e-08 499 852 767.754067371
oblate_round_6 oblate 6 77 731.294923045 1.24037683842e-08 503 852 731.294923045
oblate_round_7 oblate 7 40 787.73300852 1.21785942754e-08 507 852 787.73300852
oblate_round_8 oblate 8 25 777.631912798 1.21667590434e-08 500 852 777.631912798
oblate_round_9 oblate 9 55 749.926238347 1.21919347481e-08 502 852 749.926238347
oblate_round_10 oblate 10 19 775.98155116 1.22173212306e-08 504 852 775.98155116
oblate_round_11 oblate 11 76 718.679053292 1.23842181166e-08 503 852 718.679053292
oblate_round_12 oblate 12 38 785.459923735 1.21335398377e-08 505 852 785.459923735
oblate_round_13 oblate 13 54 763.701184096 1.21761223497e-08 502 852 763.701184096
oblate_round_14 oblate 14 23 763.32379836 1.21289393324e-08 506 852 763.32379836
oblate_round_15 oblate 15 46 740.120496648 1.21269517169e-08 509 852 740.120496648
</source>
|}
=== 06_check_intermediate_pymol.pml - Use pymol commands from inspection of 06 run ===
From the above run of check_intermediate, we can inspect grace images.
We also get some pymol files.<br>
Let us try to use these, to get a feeling for the data.
See content of:
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/06_check_intermediate_pymol.pml 06_check_intermediate_pymol.pml]
Run with pymol.
<source lang="bash">
pymol 06_check_intermediate_pymol.pml
# To bug test
pymol -c 06_check_intermediate_pymol.pml
</source>
=== 06_check_intermediate_convert.py - Create input for other programs ===
Relax can create input files to other program, to help verify the results. <br>
This is mentioned here:
* d'Auvergne, E. J. and Gooley, P. R. (2008). [http://dx.doi.org/10.1007/s10858-007-9214-2 Optimisation of NMR dynamic models I. Minimisation algorithms and their performance within the model-free and Brownian rotational diffusion spaces. J. Biomol. NMR, 40(2), 107-119.]
There exist some model-free programs for analysis
* Modelfree (Palmer et al. 1991; Mandel et al. 1995) - most commonly used program in the literature is the Modelfree program
* Dasha (Orekhov et al. 1995a) - two local optimisation algorithms are available.
* DYNAMICS (Fushman et al. 1997)
* Tensor 2 (Blackledge et al. 1998; Cordier et al. 1998; Dosset et al. 2000; Tsan et al. 2000).
Relax can export output to
* Modelfree4 : User function: palmer.create()
* dasha : User function: dasha.create()
See content of:
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/mf_scripts/06_check_intermediate_convert.py 06_check_intermediate_convert.py]
Run with:
<source lang="bash">
relax 06_check_intermediate_convert.py
</source>
= Scripts - Part 2 =
We now try to setup things a little more efficient.
Relax is able to read previous results file, so let us divide the task up into:
* 1: Load the data and save as state file. Inspect in GUI before running.
* 2: Run the Model 1: local_tm.
* 3: Here make 4 scripts. Each of them only depends on Model 1:
** Model 2: sphere
** Model 3: prolate
** Model 4: oblate
** Model 5: ellipsoid
* 4: Make an intermediate 'final' model script. This will automatically detect files from above.
== Prepare data ==
We make a new folder and try again.
<source lang="bash">
mkdir 20171010_model_free_2_HADDOCK20171010_model_free_6_HADDOCKcp 20171010_model_free_HADDOCK20171010_model_free/*.dat 20171010_model_free_2_HADDOCK20171010_model_free_6_HADDOCKcp 20171010_model_free_HADDOCK20171010_model_free/*.pdb 20171010_model_free_2_HADDOCK20171010_model_free_6_HADDOCK
# Get scripts
cd 20171010_model_free_2_HADDOCK20171010_model_free_6_HADDOCK
git init
git remote add origin git@github.com:tlinnet/relax_modelfree_scripts.git
git fetch
git checkout -t origin/master
# Make deselection
echo "#" > deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t158" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t157" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t17" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t159" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t59" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t98" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t76" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t155" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t156" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t120" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t49" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t48" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t154" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t33" >> deselect.txt
cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t67" >> deselect.txt
</source>
|}
== 11_read_data_GUI_inspect.py - Read data GUI inspect ==
* View -> Data pipe editor
* Right click on pipe, and select "Associate with a new auto-analysis"
=== relax 11_test_consistency.py - Consistency test of our data ===
Before running the analysis, it is wise to run a script for [[Tutorial_for_model_free_SBiNLab#Other_script_inspiration_for_checking|consistency testing]].
See here:
* Morin & Gagne (2009a) [http://dx.doi.org/10.1007/s10858-009-9381-4 Simple tests for the validation of multiple field spin relaxation data. J. Biomol. NMR, 45: 361-372.]
Highlights:
* Comparing results obtained at different magnetic fields should, in the case of perfect consistency and assuming the absence of conformational exchange, yield equal values independently of the magnetic field.
* avoid the potential extraction of erroneous information as well as the waste of time associated to dissecting inconsistent datasets using numerous long model-free minimisations with different subsets of data.
* The authors prefer the use of the spectral density at zero frequency J(0) alone since it '''does not rely''' on an estimation of the global correlation time '''tc/tm''', neither on a measure of theta, the angle between the 15N–1H vector and the principal axis of the 15N chemical shift tensor. Hence, J(0) is less likely to be affected by incorrect parameterisation of input parameters.
See content of:
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/11_test_consistency.py 11_test_consistency.py]
<source lang="bash">
relax 11_test_consistency.py -t 11_test_consistency.py.log
#Afterwards, go into the folder at plot data.
python plot_txt_files.py
./grace2images.py
</source>
== 12_Model_1_I_local_tm.py - Only run local_tm ==
relax 12_Model_1_I_local_tm.py -t 12_Model_1_I_local_tm.log
# or
tmux new -s m1
mpirun -np 22 relax --multi='mpi4py' 12_Model_1_I_local_tm.py -t 12_Model_1_I_local_tm.log
</source>
same time.
These scripts do:
* Read the state file from before with setup
* Change DIFF_MODEL accordingly
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/13_Model_2_II_sphere.py 13_Model_2_II_sphere.py]
<source lang="bash">
tmux new -s m2
relax 13_Model_2_II_sphere.py -t 13_Model_2_II_sphere.log
# Or
mpirun -np 5 relax --multi='mpi4py' 13_Model_2_II_sphere.py -t 13_Model_2_II_sphere.log
# When relax is running, push: Ctrl+b and then d, to disconnect without exit
</source>
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/13_Model_3_III_prolate.py 13_Model_3_III_prolate.py]
<source lang="bash">
tmux new -s m3
relax 13_Model_3_III_prolate.py -t 13_Model_3_III_prolate.log
# When Ormpirun -np 5 relax is running, push: Ctrl+b and then d, to disconnect without exit--multi='mpi4py' 13_Model_3_III_prolate.py -t 13_Model_3_III_prolate.log
</source>
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/13_Model_4_IV_oblate.py 13_Model_4_IV_oblate.py]
<source lang="bash">
tmux new -s m4
relax 13_Model_4_IV_oblate.py -t 13_Model_4_IV_oblate.log
# When Ormpirun -np 5 relax is running, push: Ctrl+b and then d, to disconnect without exit--multi='mpi4py' 13_Model_4_IV_oblate.py -t 13_Model_4_IV_oblate.log
</source>
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/13_Model_5_V_ellipsoid.py 13_Model_5_V_ellipsoid.py]
<source lang="bash">
tmux new -s m5
relax 13_Model_5_V_ellipsoid.py -t 13_Model_5_V_ellipsoid.log
# When Ormpirun -np 5 relax is running, push: Ctrl+b and then d, to disconnect without exit--multi='mpi4py' 13_Model_5_V_ellipsoid.py -t 13_Model_5_V_ellipsoid.log
</source>
tmux a -t m4
tmux a -t m5
</source>
== 14_intermediate_final.py - Inspection during model optimization ==
During running of model 2-5, the current results can be inspected with
this nifty scripts.
The script will ask for input of MC numbers. So just run it.
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/14_intermediate_final.py 14_intermediate_final.py]
<source lang="bash">
tmux new -s final
relax 14_intermediate_final.py -t 14_intermediate_final.log
</source>
This does:
* Option: Collect current best result from Model 2-5, and make MC simulations, and finalize to get current results files
** [http://comdnmr.nysbc.org/comd-nmr-dissem/comd-nmr-software Make analysis script for palmer Modelfree4]
** Get more spin information
* Make a pymol file, that collects all of relax pymol command files into 1 pymol session
* Option: Collect all chi2 and number of params k, for each iteration per model
** Make a python plot file for plotting this results
=== Per iteration get: chi2, k, tm ===
Afterwards, plot the data.
<source lang="bash">
python results_collected.py
</source>
=== Pymol macro ===
You also get a pymol folder.
See here for info how the macro is applied
* [http://www.nmr-relax.com/manual/molmol_macro_apply.html#SECTION081284600000000000000 Summary of parameter meaning and value to pymol visualization]
Run with
<source lang="bash">
pymol 0_0_apply_all_pymol_commands.pml
</source>