Open main menu

Changes

Tutorial for model free SBiNLab

51,575 bytes removed, 10:40, 22 October 2017
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/tlinnetnmr-relax/relax_modelfree_scriptsrelax/blob/master/01_read_pdbsample_scripts/relax_fit.py 01_read_pdbrelax_fit.py]Script for relaxation curve fitting. Run with<source lang="bash">* [https://github.com/nmr-relax/relax 01_read_pdb/blob/master/sample_scripts/relax_curve_diff.py relax_curve_diff.py -t 01_read_pdb] Script for creating a Grace plot of peak intensity differences.log</source> {| class="mw-collapsible mw-collapsed wikitable"! Output 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 logfile|-|<source lang="bash">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 '01_read_pdbrx.pysave'----------------------------------------------------------------------------------------------------# Python module imports(either with or without the .gz or .bz2 ). The file name of the saved state can be changed at the top of this script.from time import asctime, localtimeimport os
# '''NOE calculation'''* [https://github.com/nmr-relax module imports/relax/blob/master/sample_scripts/noe.from auto_analysespy noe.py] Script for calculating NOEs.dauvergne_protocol import dAuvergne_protocol
# Set up '''Test data'''* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/jw_mapping.py jw_mapping.py] Script for reduced spectral density mapping.* [https://github.com/nmr-relax/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 pipe. 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.#######################This 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. Correlation plots and histograms are useful tools for such comparison, such as presented in Morin & Gagne (2009a) J. Biomol. NMR, 45: 361-372.
# The following sequence '''Other representations'''* [https://github.com/nmr-relax/relax/blob/master/sample_scripts/angles.py angles.py] Script for calculating the protein NH bond vector angles with respect to the diffusion tensor.* [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 user function calls can be changed as neededthe 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.
# Create the data pipe.bundle_name = "mf (%s)" % asctime(localtime())name Scripts - Part 2 = "origin"pipeWe now try to setup things a little more efficient.create(name, 'mf', bundle=bundle_name)
# Load the PDB Relax is able to read previous results file.structure.read_pdb('energy_1.pdb', set_mol_name='TEMP', read_model=1)so let us divide the task up into:
# Set up * 1: Load the 15N data and 1H spins (both backbone and Trp indole sidechains)save as state file. Inspect in GUI before running.structure* 2: Run the Model 1: local_tm.load_spins('@N', ave_pos=True)structure* 3: Here make 4 scripts.load_spins(Each of them only depends on Model 1:** Model 2: sphere** Model 3: prolate** Model 4: oblate** Model 5: ellipsoid* 4: Make an intermediate '@NE1final', ave_pos=True)structuremodel script.load_spins('@H', ave_pos=True)structureThis will automatically detect files from above.load_spins('@HE1', ave_pos=True)
# Assign isotopesspin.isotope('15N', spin_id='@N*')= Prepare data ==spinWe make a new folder and try.isotope('1H', spin_id='@H*')
{| class="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<source lang='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"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> structurecp 20171010_model_free/*.load_spins(spin_id='@HE1', from_mols=None, mol_name_target=None, ave_pos=True, spin_num=True)dat 20171010_model_free_2_HADDOCKAdding 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='@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>
|}
And a new one, changing the NOE error{| class="mw-collapsible mw-collapsed wikitable"! See commands|-|<source lang= 02_read_data"bash">mkdir 20171010_model_free_3_HADDOCKcp 20171010_model_free/*.py - Test load of data ==dat 20171010_model_free_3_HADDOCKThat looked to go fine, so let us try to just load datacp 20171010_model_free/*.pdb 20171010_model_free_3_HADDOCK
See content of:# Get scriptscd 20171010_model_free_3_HADDOCKgit init[https://git remote add origin git@github.com/:tlinnet/relax_modelfree_scripts/blob.gitgit fetchgit checkout -t origin/master/02_read_data.py 02_read_data.py]
Run with# Change NOE error<source lang="bash">sed -i 's/0.1*$/0.05/' NOE_600MHz_new.datrelax 02_read_datased -i 's/0.py -t 02_read_data1*$/0.05/' NOE_750MHz.logdat
</source>
|}
And a new one, changing the NOE error, and deselecting N-terminal.<br>
Consistency test, found that this stretch contained outliers.
{| class="mw-collapsible mw-collapsed wikitable"
! Output from logfileSee commands
|-
|
<source lang="bash">
script = '02_read_datamkdir 20171010_model_free_4_HADDOCKcp 20171010_model_free/*.py'----------------------------------------------------------------------------------------------------dat 20171010_model_free_4_HADDOCK# Python module importscp 20171010_model_free/*.from time import asctime, localtimeimport ospdb 20171010_model_free_4_HADDOCK
# relax module importsGet scriptscd 20171010_model_free_4_HADDOCKgit initgit remote add origin git@github.com:tlinnet/relax_modelfree_scripts.gitfrom auto_analyses.dauvergne_protocol import dAuvergne_protocolgit fetchgit checkout -t origin/master
# Set up the data pipeChange NOE errorsed -i 's/0.1*$/0.05/' NOE_600MHz_new.dat#######################sed -i 's/0.1*$/0.05/' NOE_750MHz.dat
# The following sequence of user function calls can be changed as neededMake deselectionecho "#" > deselect.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 -P "ArcCALD\t159" >> deselect.txt</source>|}
# Create And a new one, changing the data pipeNOE error, and deselecting spins found from consistency test.<br>bundle_name {| class= "mf (%s)mw-collapsible mw-collapsed wikitable" % asctime(localtime())name ! See commands|-|<source lang= "originbash">pipemkdir 20171010_model_free_5_HADDOCKcp 20171010_model_free/*.create(name, 'mf', bundle=bundle_name)dat 20171010_model_free_5_HADDOCKcp 20171010_model_free/*.pdb 20171010_model_free_5_HADDOCK
# Load the PDB file.Get scriptscd 20171010_model_free_5_HADDOCKgit initstructuregit remote add origin git@github.read_pdb('energy_1com:tlinnet/relax_modelfree_scripts.pdb', set_mol_name='TEMP', read_model=1)gitgit fetchgit checkout -t origin/master
# Set up the 15N and 1H spins (both backbone and Trp indole sidechains)Change NOE errorsed -i 's/0.structure1*$/0.load_spins(05/'@NNOE_600MHz_new.datsed -i ', ave_pos=True)structures/0.load_spins('@NE1', ave_pos=True)structure1*$/0.load_spins('@H05/', ave_pos=True)structureNOE_750MHz.load_spins('@HE1', ave_pos=True)dat
# Assign isotopesMake deselectionspinecho "#" > deselect.isotope('15N', spin_id='@N*')txtspincat R1_600MHz_new_model_free.isotope('1H', spin_id='@H*')dat | grep -P "ArcCALD\t158" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t157" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t17" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t159" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t120" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t59" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t98" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t49" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t76" >> 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\t48" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t154" >> deselect.txt</source>|}
# Load And a new one, without changing 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'error, frq=600and deselecting spins found from consistency test.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)<br>relax_data.read(ri_id{| class='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"mw-dipole relaxation interaction.interatom.define(spin_id1='@N', spin_id2='@H', direct_bond=True)interatom.define(spin_id1='@NE1', spin_id2='@HE1', direct_bond=True)interatom.set_dist(spin_id1='@N*', spin_id2='@H*', ave_dist=1.02 * 1e-10)interatom.unit_vectors() # Define the chemical shift relaxation interaction.value.set(collapsible mw-172 * 1e-6, 'csa', spin_id='@N*')collapsed wikitable"! See commands---------------------------------------------------------------------------------------------------|-|relax> pipe.create(pipe_name='origin', pipe_type='mf', bundle<source lang='mf (Fri Oct 13 17:51:28 2017)') relax"bash"> 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)mkdir 20171010_model_free_6_HADDOCKInternal 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='@Ncp 20171010_model_free/*', 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)20171010_model_free_6_HADDOCKOpening the file 'R1_600MHz_new_model_freecp 20171010_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: # 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' '#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:pdb 20171010_model_free_6_HADDOCK
# Spin_ID_1 Spin_ID_2 Get scripts'#TEMP:33@NE1' '#TEMP:33@HE1' cd 20171010_model_free_6_HADDOCK'#TEMP:48@NE1' '#TEMP:48@HE1' git init'#TEMP:49git remote add origin git@NE1' '#TEMPgithub.com:49@HE1' tlinnet/relax_modelfree_scripts.git'#TEMP:59@NE1' '#TEMP:59@HE1' git fetch'#TEMP:98@NE1' '#TEMP:98@HE1' git checkout -t origin/master
relax# Make deselectionecho "#" > deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t158" >> deselect.txtcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t157" > interatom> deselect.set_dist(spin_id1='@N*', spin_id2='@H*', ave_dist=1txtcat R1_600MHz_new_model_free.0200000000000001edat | grep -10, unit='meter')P "ArcCALD\t17" >> deselect.txtThe following averaged distances have been set:cat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t159" >> deselect.txt
# Spin_ID_1 Spin_ID_2 Ave_distance(meters) '#TEMP:3@N' '#TEMP:3@H' 1.0200000000000001e-10 '#TEMP:4@N' '#TEMP:4@H' 1.0200000000000001e-10 '#TEMP:5@N' '#TEMP:5@H' 1.0200000000000001e-10 '#TEMP:6@N' '#TEMP:6@H' 1.0200000000000001e-10 '#TEMP:7@N' '#TEMP:7@H' 1.0200000000000001e-10 '#TEMP:8@N' '#TEMP:8@H' 1.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.0200000000000001e-10 '#TEMP:53@N' '#TEMP:53@H' 1.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' 1cat R1_600MHz_new_model_free.0200000000000001edat | grep -10 '#TEMP:96@N' '#TEMP:96@H' 1P "ArcCALD\t59" >> deselect.0200000000000001e-10 txt'#TEMP:97@N' '#TEMP:97@H' 1cat R1_600MHz_new_model_free.0200000000000001edat | grep -10 '#TEMP:98@N' '#TEMP:98@H' 1P "ArcCALD\t98" >> deselect.0200000000000001e-10 txt'#TEMP:99@N' '#TEMP:99@H' 1cat R1_600MHz_new_model_free.0200000000000001edat | grep -10 '#TEMP:100@N' '#TEMP:100@H' 1P "ArcCALD\t76" >> deselect.0200000000000001e-10 txt'#TEMP:101@N' '#TEMP:101@H' 1cat R1_600MHz_new_model_free.0200000000000001edat | grep -10 '#TEMP:102@N' '#TEMP:102@H' 1P "ArcCALD\t155" >> deselect.0200000000000001e-10 txt'#TEMP:103@N' '#TEMP:103@H' 1cat R1_600MHz_new_model_free.0200000000000001edat | grep -10 '#TEMP:104@N' '#TEMP:104@H' 1P "ArcCALD\t156" >> deselect.0200000000000001e-10 txt '#TEMP:105@N' '#TEMP:105@H' 1cat R1_600MHz_new_model_free.0200000000000001edat | grep -10 '#TEMP:106@N' '#TEMP:106@H' 1P "ArcCALD\t120" >> deselect.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 txt
relax> interatom.unit_vectors(ave=True)Averaging all vectorscat R1_600MHz_new_model_free.Calculated 1 Ndat | grep -H unit vector between the spins '#TEMP:3@N' and '#TEMP:3@H'P "ArcCALD\t49" >> deselect.txtCalculated 1 N-H unit vector between the spins '#TEMP:4@N' and '#TEMP:4@H'cat R1_600MHz_new_model_free.Calculated 1 Ndat | grep -H unit vector between the spins '#TEMP:5@N' and '#TEMP:5@H'P "ArcCALD\t48" >> deselect.txtCalculated 1 N-H unit vector between the spins '#TEMP:6@N' and '#TEMP:6@H'cat R1_600MHz_new_model_free.Calculated 1 Ndat | grep -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'P "ArcCALD\t154" >> deselect.txt
relaxcat R1_600MHz_new_model_free.dat | grep -P "ArcCALD\t33" >> valuedeselect.txtcat R1_600MHz_new_model_free.set(val=dat | grep -0P "ArcCALD\t67" >> deselect.00017199999999999998, param='csa', index=0, spin_id='@N*', error=False, force=True)txt
</source>
|}
== 03_save_state_inspect_GUI11_read_data_GUI_inspect.py - Inspect Read data in GUI inspect ==This will read the data and save as a state. 
The GUI can be a good place to inspect the setup and files.
See content of:
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/03_save_state_inspect_GUI11_read_data_GUI_inspect.py 03_save_state_inspect_GUI11_read_data_GUI_inspect.py]
Run with
<source lang="bash">
relax 03_save_state_inspect_GUI11_read_data_GUI_inspect.py -t 03_save_state_inspect_GUI11_read_data_GUI_inspect.log
</source>
* relax -g
* File -> Open relax state
* In folder "result_03result_10" open "result_03_iniresult_10_ini.bz2"
* View -> Data pipe editor
* Right click on pipe, and select "Associate with a new auto-analysis"
== 04_run_default_with_tolerance_lim= relax 11_test_consistency.py - Try fast run Consistency test of our data ===Now we try a fast runBefore running the analysis, it is wise to see if everything is setuprun a script for [[Tutorial_for_model_free_SBiNLab#Other_script_inspiration_for_checking|consistency testing]].
See content ofhere:* Morin & Gagne (2009a) [httpshttp://githubdx.comdoi.org/tlinnet10.1007/relax_modelfree_scripts/blob/master/04_run_default_with_tolerance_lims10858-009-9381-4 Simple tests for the validation of multiple field spin relaxation data. J. Biomol.py 04_run_default_with_tolerance_limNMR, 45: 361-372.py]
Before runningHighlights:* Comparing results obtained at different magnetic fields should, is worth to notein the case of perfect consistency and assuming the absence of conformational exchange, which yield equal values are NOT set to default values in independently of the GUImagnetic field.* dAuvergne_protocolavoid 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.opt_func_tol = 1e-10 # Standard: opt_func_tol = 1e-25 * dAuvergne_protocol.opt_max_iterations = intThe authors prefer the use of the spectral density at zero frequency J(1e50) # Standard: opt_max_iterations = intalone 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(1e70)is less likely to be affected by incorrect parameterisation of input parameters.
These 2 values is used in the '''minfx''' python package, and is an instruction to the minimiser function, to continue changing parameter values,UNTIL either the difference in chi2 values between "2 steps" is less than 1e-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 See content of Monte-Carlo simulations. The protocol will find optimum parameter values in this protocol, but error:estimation will not be very reliable. Standard is 500. We use [httphttps://wwwgithub.dayid.orgcom/tlinnet/relax_modelfree_scripts/blob/compmaster/tm11_test_consistency.html tmuxpy 11_test_consistency.py] 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''' Run with
<source lang="bash">
# Make terminalrelax 11_test_consistency.py -sessiontmuxt 11_test_consistency.py.log
relax 04_run_default_with_tolerance_lim#Afterwards, go into the folder at plot data.python plot_txt_files.py -t 04_run_default_with_tolerance_lim.log/grace2images.py
</source>
You can then in another terminal follow the logfile by<source lang="bash">= 12_Model_1_I_local_tm.py - Only run local_tm ==less +F 04_run_default_with_tolerance_limNow we only run '''Model 1'''.log</source>
* To scroll up and down, use keyboard: '''Ctrl+c'DIFF_MODEL = ['local_tm']* GRID_INC = 11 # This is the standard* To return to follow mode, use keyboard: '''Shift+f'''MC_NUM = 0 # This has no influence in Model 1-5* To exit, use keyboard: '''Ctrl+c''' and then: '''q'''MAX_ITER = 20 # Stop if it has not converged in 20 rounds
== 05_run_def_MC20.py - Try normal run with MC 20 ==The inspection Normally between 8 to 15 multiple rounds of the log optimisation of the previous run, it seems are required for the '''prolate'''cannot converge. It jumps between 2 chi2 valuesproper execution of this script. <br>Maybe it This is because can also be see here in Figure 2.* 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 NOT default values dual optimisation of optimizationthe model-free parameters and the Brownian rotational diffusion tensor. J. Biomol. NMR, 40(2), to let us setit back to default121-133.]
We have 4 CPU on our lab computers.<br>So let us assign 1 to Relax should stop calculation, if a run normal settings, and only MC=20model does not converge.
See content of:
[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/05_run_def_MC2012_Model_1_I_local_tm.py 05_run_def_MC2012_Model_1_I_local_tm.py] * 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://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'''
Run with
<source lang="bash">
# Make terminal-session
tmuxnew -s m1 relax 12_Model_1_I_local_tm.py -t 12_Model_1_I_local_tm.log
# ortmux new -s m1mpirun -np 22 relax 05_run_def_MC20--multi='mpi4py' 12_Model_1_I_local_tm.py -t 05_run_def_MC2012_Model_1_I_local_tm.log
</source>
You can then in another terminal follow the logfile by
<source lang="bash">
less +F 05_run_def_MC2012_Model_I_local_tm.log
</source>
* To exit, use keyboard: '''Ctrl+c''' and then: '''q'''
== 06_run_def_MC20_MAX_ITER20.py 13_Model_2-5 - Try normal run with MC 20 and MAX_ITER 20 Run Model 2 to 5 ==It looks like the '''prolate''' has problem with converging. <br>So let us try a run, where a maximum of '''20 rounds of convergence''' When Model 1 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'Auvergnecompleted, E. J. then make 4 terminal windows 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 run them at the dual optimisation of the model-free parameters and the Brownian rotational diffusion tensor. J. Biomol. NMR, 40(2), 121-133same time.]
Then hopefully, relax should continue to These scripts do:* Read the other models, if '''prolate''' does not converge. We have 4 CPU on our lab computers.<br>Let us assign another to a run normal settings, only MC=20 and MAX_ITER=20.state file from before with setupCopy '''05_run_def_MC20.py''' to '''06_run_def_MC20_MAX_ITER20.py'''* 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">
cp 05_run_def_MC20.py 06_run_def_MC20_MAX_ITER20tmux new -s m2relax 13_Model_2_II_sphere.py</source> and modify last lines:{| class="mw-collapsible mw-collapsed wikitable"! See file content|-|<source lang="python"># The number of Monte Carlo simulations to be used for error analysis at the end of the analysis.#MC_NUM = 500MC_NUM = 20 # The diffusion modelt 13_Model_2_II_sphere. Standard is 'Fully automated', which means: DIFF_MODEL=['local_tm', 'sphere', 'prolate', 'oblate', 'ellipsoid', 'final']log# 'local_tm', 'sphere', ''prolate', 'oblate', 'ellipsoid', or 'final'Or#DIFF_MODEL = 'local_tm'DIFF_MODEL = ['local_tm', 'sphere', 'prolate', 'oblate', 'ellipsoid', 'final'] # The maximum number of iterations for the global iteration. Set to None, then the algorithm iterates until convergence.MAX_ITER = 20 # Automatic looping over all rounds until convergence (must be a boolean value of True or False). Standard is: conv_loop=True : and cannot be changed in the GUI.CONV_LOOP = True # Change some minimise opt params. # This goes into: minimise.execute(self.min_algor, func_tol=self.opt_func_tol, max_iter=self.opt_max_iterations)######################dAuvergne_protocol.opt_func_tol = 1empirun -np 5 # Standard: opt_func_tol = 1e-25 #dAuvergne_protocol.opt_max_iterations = 1000 # Standard: opt_max_iterations = int(1e7)#dAuvergne_protocol.opt_func_tol = 1erelax -10 # Standard: opt_func_tol = 1e-25 #dAuvergne_protocol.opt_max_iterations = int(1e5) # Standard: opt_max_iterations = int(1e7) ##################################### # The results dir.var multi= 'result_06mpi4py'results_dir = os13_Model_2_II_sphere.getcwd() + os.sep + var # Save the state before running. Open and check in GUI!state.save(state=var+'_ini.bz2', dir=results_dir, force=True) # To check in GUI# relax -g# File py -> Open relax state# In folder "result_03" open "result_03_init 13_Model_2_II_sphere.bz2"# View -> Data pipe editor# Right click on pipe, and select "Associate with a new auto-analysis"log
dAuvergne_protocol(pipe_name=name# When relax is running, pipe_bundle=bundle_namepush: Ctrl+b and then d, results_dir=results_dir, diff_model=DIFF_MODEL, mf_models=MF_MODELS, local_tm_models=LOCAL_TM_MODELS, grid_inc=GRID_INC, min_algor=MIN_ALGOR, mc_sim_num=MC_NUM, max_iter=MAX_ITER, conv_loop=CONV_LOOP)to disconnect without exit
</source>
|}
 
We use [http://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 new -s relax06'''
* re-attach a detached session: '''tmux a -t relax06'''
Run with[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/13_Model_3_III_prolate.py 13_Model_3_III_prolate.py]
<source lang="bash">
# Make terminal-sessiontmux new -s relax06m3relax 13_Model_3_III_prolate.py -t 13_Model_3_III_prolate.log# Ormpirun -np 5 relax 06_run_def_MC20_MAX_ITER20--multi='mpi4py' 13_Model_3_III_prolate.py -t 06_run_def_MC20_MAX_ITER2013_Model_3_III_prolate.log
</source>
===06_check_intermediate[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/13_Model_4_IV_oblate.py - Inspection of 06 run ===After running around 12H, it is in round '''14''' in the '''prolate'''. Let's us try '''finalize''' on just the current available data! Make a '''06_check_intermediate13_Model_4_IV_oblate.py file''', with this content. We just want to finish, and see some results. Therefore also nr. of Monte-Carlo is set to a minimum. MC_NUM = 5{| class="mw-collapsible mw-collapsed wikitable"! See file content|-|]<source lang="pythonbash"># Python module imports.tmux new -s m4import os, stat # relax module imports13_Model_4_IV_oblate.from auto_analyses.dauvergne_protocol import dAuvergne_protocolfrom pipe_control import pipesimport libpy -t 13_Model_4_IV_oblate.ioimport lib.plotting.grace log# Analysis variables.Or###################### The number of Monte Carlo simulations to be used for error analysis at the end of the analysis.MC_NUM = mpirun -np 5# The diffusion model. Standard is 'Fully automated', which means: DIFF_MODEL=['local_tm', 'sphere', 'prolate', 'oblate', 'ellipsoid', 'final']# 'local_tm', 'sphere', ''prolate', 'oblate', 'ellipsoid', or 'final'#DIFF_MODEL = ['local_tm', 'sphere', 'prolate', 'oblate', 'ellipsoid', 'final']DIFF_MODEL relax --multi= ['finalmpi4py'] # Read the state with the setup# The results dir.var = 'result_06'results_dir = os.getcwd() + os.sep + var# Load the state with setup data.state.load(state=var+'_ini.bz2', dir=results_dir, force=True) # Define write outout = 'result_06_check_intermediate'write_results_dir = os.getcwd() + os.sep + out # Read the pipe infopipe.display()pipe_name = pipes.cdp_name()pipe_bundle = pipes.get_bundle(pipe_name) # Run protocoldAuvergne_protocol(pipe_name=pipe_name, pipe_bundle=pipe_bundle, results_dir=results_dir, write_results_dir=write_results_dir, diff_model=DIFF_MODEL, mc_sim_num=MC_NUM) # Write a python "grace to PNG/EPS/SVG..." conversion script.# Open the file for writing.file_name = "grace2images13_Model_4_IV_oblate.py"write_results_dir_grace = write_results_dir + os.sep + 'final' + os.sep + 'grace'file_path = lib.io.get_file_path(file_name, write_results_dir_grace)file = lib.io.open_write_file(file_path, force=True)# Write the file.lib.plotting.grace.script_grace2images(file=file)file.close()os.chmod(file_path, stat.S_IRWXU|stat.S_IRGRP|stat-t 13_Model_4_IV_oblate.S_IROTH)log
</source>
|}
Run with[https://github. This should take 20-30 min on 1 CPUcom/tlinnet/relax_modelfree_scripts/blob/master/13_Model_5_V_ellipsoid.py 13_Model_5_V_ellipsoid.py]
<source lang="bash">
# Make terminal-sessiontmux new -s relax06_checkm5relax 13_Model_5_V_ellipsoid.py -t 13_Model_5_V_ellipsoid.log# First delete old dataOrrm mpirun -rf result_06_check_intermediatenp 5 relax 06_check_intermediate--multi='mpi4py' 13_Model_5_V_ellipsoid.py -t 06_check_intermediate13_Model_5_V_ellipsoid.log
</source>
=== 06_check_intermediate_spin_info.py - Spin info ===We would like to extract more info from the spin_containers in the final run. Make a '''06_check_intermediate_spin_info.py''' file, with this content.  {| class="mw-collapsible mw-collapsed wikitable"! See file content|-|To join session<source lang="pythonbash"># Python module imports.Listimport os # relax module imports.from pipe_control import pipesimport lib.iofrom pipe_control.mol_res_spin import spin_loop # Read the state with the setupvar = 'result_06_check_intermediate'results_dir = os.getcwd() + os.sep + var + os.sep + 'final'# Load the state with setup data.state.load(state='results.bz2', dir=results_dir, force=True) # Show pipespipe.display()pipe_name = pipes.cdp_name()pipe_bundle = pipes.get_bundle(pipe_name) # Get modelvalue.write(param='model', file='model.txt', dir=results_dir, force=True)# Get equationvalue.write(param='equation', file='equation.txt', dir=results_dir, force=True) # Inspect manuallyout_results = []i=0for c_s, c_s_mol, c_s_resi, c_s_resn, c_s_id in spin_loop(full_info=True, return_id=True, skip_desel=True): # See what we can extract from the spin container if i == 0: print dir(c_s)  # First convert to string c_s_resi = str(c_s_resi) # Append out_results.append([c_s_mol, c_s_resi, c_s_resn, c_s.element, c_s_id, c_s.model, c_s.equation]) # Print print("mol: %s, resi: %s, resn: %s, element: %s, id: %s, model: %tmux list-s, equation: %s" % tuple(out_results[-1]) ) i += 1
# Write fileJoin eitherfile_name = "results_collected_spin_info.txt"tmux a -t m1file_path = lib.io.get_file_path(file_name, results_dir)tmux a -t m2file = lib.io.open_write_file(file_path, force=True)tmux a -t m3tmux a -t m4# Write the file.headings = ["mol", "resi", "resn", "element", "id", "model", "equation"]lib.io.write_data(out=file, headings=headings, data=out_results)file.close()tmux a -t m5
</source>
|}
 
Run with relax
<source lang="bash">
relax 06_check_intermediate_spin_info.py
</source>
 
=== 06_check_intermediate_iteration_chi2.py - Per iteration get chi2 ===
Specifically, since we have problems with convergence, we would like to see the chi2
value per iteration for the different models. This is not so easy to get, and we have
to 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.
 
Make a '''06_check_intermediate_iteration_chi2.py ''' file, with this content.
 
{| class="mw-collapsible mw-collapsed wikitable"
! See file content
|-
|
<source lang="python">
# Python module imports.
import os
 
# relax module imports.
from pipe_control import pipes
import lib.io
from specific_analyses.api import return_api
 
# Read the state with the setup
var = 'result_06_check_intermediate'
results_dir = os.getcwd() + os.sep + var + os.sep + 'final'
# Load the state with setup data.
state.load(state='results.bz2', dir=results_dir, force=True)
 
# Show pipes
pipe.display()
pipe_name = pipes.cdp_name()
pipe_bundle = pipes.get_bundle(pipe_name)
 
# Define write out
write_out = results_dir + os.sep + 'grace'
# chi2 per iteration? But does not work?grace== 14_intermediate_final.write(x_data_typepy - Inspection during model optimization ='iter', y_data_type='chi2'During running of model 2-5, file='iter_chi2the current results can be inspected withthis nifty scripts.agr', dir=write_out, force=True)
############# # This does not do what we want. So let us try manually.var_ori = 'result_06'results_dir_ori = os.getcwd() + os.sep + var_ori dir_list = os.listdir(results_dir_ori) all_models = ['local_tm', 'sphere', 'prolate', 'oblate', 'ellipsoid']opt_models = []The script will ask for model in all_models: if model in dir_list: opt_models.append(model) # Loop over models MII to MV.out_results = []for model in ['sphere', 'prolate', 'oblate', 'ellipsoid']: # Skip missing models. if model not in opt_models: continue # Make the model dir mdir = results_dir_ori + os.sep + model rdir = [ name for name in os.listdir(mdir) if os.path.isdir(os.path.join(mdir, name)) ] rdirs = lib.io.sort_filenames(rdir)  # Loop over rounds for rd in rdirs: if "round_" in rd: dir_model_round = mdir + os.sep + rd + os.sep + 'opt' if os.path.isdir(dir_model_round): # Create pipe to read data pipe_name_rnd = "%s_%s" % (model, rd) pipe.create(pipe_name_rnd, 'mf', bundle="temp") results.read(file='results', dir=dir_model_round)  # Get info round_i = rd.split("_")[-1] cdp_iter = str(cdp.iter) chi2 = str(cdp.chi2) tm = str(cdp.diff_tensor.tm)  # Get the api to get number input of parameters api = return_api(pipe_name=pipe_name) model_loop = apiMC numbers.model_loop model_desc = api.model_desc model_statistics = api.model_statistics  for model_info in model_loop(): desc = model_desc(model_info) # Num_params_(k) # Num_data_sets_(n) k_glob, n_glob, chi2_glob = model_statistics(model_info, global_stats=True) break  k_glob = str(k_glob) n_glob = str(n_glob) chi2_glob = str(chi2_glob)  # Append to results out_results.append([pipe_name_rnd, model, round_i, cdp_iter, chi2, tm, k_glob, n_glob, chi2_glob]) print("\n# Data:") print(out_results[-1]) # Change back to original pipepipe.switch(pipe_name)cdp.out_results = out_results #print resultfor res in out_results: print res # Write filefile_name = "results_collected.txt"file_path = lib.io.get_file_path(file_name, results_dir)file = lib.io.open_write_file(file_path, force=True) # Write the file.headings = ["pipe_name", "model", "round_i", "cdp_iter", "chi2", "tm", "k_glob_Num_params", "n_glob_Num_data_sets", "chi2_glob"]lib.io.write_data(out=file, headings=headings, data=out_results)file.close() # Save the statestate.save(state='results_collectedSo just run it.bz2', dir=results_dir, force=True)</source>|}
Run with relax[https://github.com/tlinnet/relax_modelfree_scripts/blob/master/14_intermediate_final.py 14_intermediate_final.py]
<source lang="bash">
tmux new -s finalrelax 06_check_intermediate_iteration_chi214_intermediate_final.py</source> You will get at file called '''results_collected.txt''', which look like this:{| class="mw-collapsible mw-collapsed wikitable"! results_collected.txt|-|<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 740t 14_intermediate_final.120496648 log
</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.
 
Make a '''06_check_intermediate_pymol.pml ''' file, with this content.
 
{| class="mw-collapsible mw-collapsed wikitable"
! See file content
|-
|
<source lang="python">
# Start settings
reinitialize
bg_color white
set scene_buttons, 1
 
# Load protein and set name
load energy_1.pdb
prot='prot'
cmd.set_name("energy_1", prot)
 
# Load tensor pdb
load ./result_06_check_intermediate/final/tensor.pdb
 
#################################
# Scene 1 : Make default view
#################################
hide everything, prot
show_as cartoon, prot
zoom prot and polymer
 
scene F1, store, load of data, view=1
 
################################
# Scenes: We will go through the order like this
# 's2', 's2f', 's2s', 'amp_fast', 'amp_slow', 'te', 'tf', 'ts', 'time_fast', 'time_slow', 'rex'
# s2: S2, the model-free generalised order parameter (S2 = S2f.S2s).
# s2f: S2f, the faster motion model-free generalised order parameter.
# s2s: S2s, the slower motion model-free generalised order parameter.
# amp_fast:
# amp_slow:
# te: Single motion effective internal correlation time (seconds).
# tf: Faster motion effective internal correlation time (seconds).
# ts: Slower motion effective internal correlation time (seconds).
# time_fast:
# time_slow:
# rex: Chemical exchange relaxation (sigma_ex = Rex / omega**2).
 
#modes = ['s2']
#modes = ['s2', 's2f']
modes = ['s2', 's2f', 's2s', 'amp_fast', 'amp_slow', 'te', 'tf', 'ts', 'time_fast', 'time_slow', 'rex']
fdir = "./result_06_check_intermediate/final/pymol"
 
python
# File placement
if True:
for i, mode in enumerate(modes):
# Make name
protn = '%s_%s' % (prot, mode)
 
# Loop over file lines
fname = fdir + "/%s.pml"%mode
fname_out = fdir + "/0_mod_%s.pml"%mode
f_out = open(fname_out, "w")
with open(fname) as f:
for line in f:
line_cmd = ""
# Add to end of line, depending on command
if line[0] == "\n":
line_add = ""
elif line[0:4] == "hide":
line_add = " %s"%protn
 
# All not changed
elif line[0:8] == "bg_color":
line_add = ""
elif line[0:9] == "set_color":
line_add = ""
elif line[0:6] == "delete":
line_add = ""
 
else:
line_add = " and %s"%protn
# Modify line
line_cmd = line.strip() + line_add + "\n"
 
# Write the line
f_out.write(line_cmd)
f_out.close()
python end
 
# Make pymol objects
python
for i, mode in enumerate(modes):
protn = '%s_%s' % (prot, mode)
cmd.copy(protn, prot)
cmd.scene("F1")
cmd.disable(prot)
cmd.enable(protn)
cmd.scene("F%i"%(i+2), "store", mode, view=0)
python end
 
#################################
# Scenes
# #modes = ['s2', 's2f', 's2s', 'amp_fast', 'amp_slow', 'te', 'tf', 'ts', 'time_fast', 'time_slow', 'rex']
 
scene F2
@./result_06_check_intermediate/final/pymol/0_mod_s2.pml
scene F2, store, s2: the model-free generalised order parameter (S2 = S2f.S2s), view=0
 
scene F3
@./result_06_check_intermediate/final/pymol/0_mod_s2f.pml
scene F3, store, s2f: the faster motion model-free generalised order parameter, view=0
 
scene F4
@./result_06_check_intermediate/final/pymol/0_mod_s2s.pml
scene F4, store, s2s: the slower motion model-free generalised order parameter, view=0
 
scene F5
@./result_06_check_intermediate/final/pymol/0_mod_amp_fast.pml
scene F5, store, amp_fast, view=0
scene F6This does:@.* Option: Collect current best result from Model 2-5, and make MC simulations, and finalize to get current results files ** [http:/result_06_check_intermediate/finalcomdnmr.nysbc.org/pymolcomd-nmr-dissem/0_mod_amp_slow.pmlcomd-nmr-software Make analysis script for palmer Modelfree4]** Get more spin informationscene F6* Make a pymol file, storethat collects all of relax pymol command files into 1 pymol session* Option: Collect all chi2 and number of params k, amp_slow, view=0for each iteration per model** Make a python plot file for plotting this results
scene F7@./result_06_check_intermediate/final/pymol/0_mod_te.pmlscene F7, store, te: Single motion effective internal correlation time (seconds), view=0 scene F8@./result_06_check_intermediate/final/pymol/0_mod_tf.pmlscene F8, store, tf== Per iteration get: Faster motion effective internal correlation time (seconds), view=0 scene F9@./result_06_check_intermediate/final/pymol/0_mod_ts.pmlscene F9, storechi2, ts: Slower motion effective internal correlation time (seconds)k, viewtm =0 scene F10@./result_06_check_intermediate/final/pymol/0_mod_time_fast.pmlscene F10, store, time_fast, view=0 scene F11@./result_06_check_intermediate/final/pymol/0_mod_time_slow.pmlscene F11, store, time_slow, view=0 scene F12@./result_06_check_intermediate/final/pymol/0_mod_rex.pmlscene F12, store, rex: Chemical exchange relaxation (sigma_ex = Rex / omega**2)Afterwards, view=0</source>|} Run with pymolplot the data.
<source lang="bash">
pymol 06_check_intermediate_pymolpython results_collected.pml # To bug testpymol -c 06_check_intermediate_pymol.pmlpy
</source>
=== 06_check_intermediate_convert.py - Create input for other programs Pymol macro ===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-119You also get a pymol folder.]
There exist some model-free programs See here for analysis* Modelfree (Palmer et al. 1991; Mandel et al. 1995) - most commonly used program in info how the literature macro is the Modelfree programapplied* Dasha (Orekhov et al[http://www. 1995a) nmr- 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 alrelax. 2000)com/manual/molmol_macro_apply.html#SECTION081284600000000000000 Summary of parameter meaning and value to pymol visualization]
Relax can export output to* Modelfree4 : User function: palmer.create()* dasha : User function: dasha.create() Make a '''06_check_intermediate_convert.py ''' file, with this content. {| class="mw-collapsible mw-collapsed wikitable"! See file content|-|<source lang="python"># Python module imports.import os # relax module imports. # Read the state with the setupvar = 'result_06_check_intermediate'results_dir = os.getcwd() + os.sep + var + os.sep + 'final'# Load the state with setup data.state.load(state='results.bz2', dir=results_dir, force=True) #######Create the Modelfree4 input files.##### #Defaults# dir: The directory to place the files.# force: A flag which if set to True will cause the results file to be overwritten if it already exists.# binary: The name of the executable Modelfree program file.# diff_search: See the Modelfree4 manual for 'diffusion_search'.# sims: The number of Monte Carlo simulations.# sim_type: See the Modelfree4 manual.# trim: See the Modelfree4 manual.# steps: See the Modelfree4 manual.# constraints: A flag specifying whether the parameters should be constrained. The default is to turn constraints on (constraints=True).# heteronuc_type: A three letter string describing the heteronucleus type, ie '15N', '13C', etc.# atom1: The symbol of the X heteronucleus in the PDB file.# atom2: The symbol of the H nucleus in the PDB file.# spin_id: The spin identification string. # The following files are created# - 'dir/mfin'# - 'dir/mfdata'# - 'dir/mfpar'# - 'dir/mfmodel'# - 'dir/run.sh' # The file 'dir/run.sh' contains the single command,# 'modelfree4 -i mfin -d mfdata -p mfpar -m mfmodel -o mfout -e out', # which can be used to execute modelfree4.# If you would like to use a different Modelfree executable file, change the binary name to the# appropriate file name. If the file is not located within the environment's path, include the full# path in front of the binary file name. #palmer.create(dir=None, force=False, # binary='modelfree4', diff_search='none', sims=0,# sim_type='pred', trim=0, steps=20, # constraints=True, heteronuc_type='15N', atom1='N', atom2='H',# spin_id=None) # Define write outwrite_modelfree = os.getcwd() + os.sep + var + os.sep + "Modelfree4"# Fix bugcdp.structure.structural_data[0].mol[0].file_path = '.' outdir = os.getcwd() palmer.create(dir=write_modelfree, force=True, binary='modelfree4', diff_search='none', sims=0, sim_type='pred', trim=0, steps=20, constraints=True, heteronuc_type='15N', atom1='N', atom2='H', spin_id=None) #######Create the Dasha script ##### #Defaults# algor: The minimisation algorithm.# dir: The directory to place the files.# force: A flag which if set to True will cause the results file to be overwritten if it already exists. # Optimisation algorithms#The two minimisation algorithms within Dasha are accessible through the algorithm which can be set to:# 'LM': The Levenberg-Marquardt algorithm,# 'NR': Newton-Raphson algorithm.# For Levenberg-Marquardt minimisation, the function 'lmin' will be called, while for Newton-Raphson, # the function 'min' will be executed. # dasha.create(algor='LM', dir=None, force=False) # Define write outout = 'result_06_check_intermediate'write_dasha = os.getcwd() + os.sep + out + os.sep + "Dasha"#dasha.create(algor='LM', dir=write_dasha, force=True)</source>|} Run with:
<source lang="bash">
relax 06_check_intermediate_convertpymol 0_0_apply_all_pymol_commands.pypml
</source>
Trusted, Bureaucrats
1,382

edits