Difference between revisions of "Tutorial for model-free analysis sam mahdi"

From relax wiki
Jump to navigation Jump to search
(Created page with "== Background == This follow the discussion with Sam Mahdi, at the mailing list: https://mail.gna.org/public/relax-users/2016-09/threads.html#00001 Files has been uploaded to...")
 
Line 74: Line 74:
 
== Current script ==
 
== Current script ==
  
Sam has provided this script
+
Sam has provided this script. <br>
 +
It is not entirely clear how the "The dauvergne_protocol model-free auto-analysis" was initiated.
 +
Maybe a combination of GUI and scripts?
  
 
<source lang="python">
 
<source lang="python">
cd $CWD
+
relax> from time import asctime, localtime
 +
relax> from auto_analyses.dauvergne_protocol import dAuvergne_protocol
 +
relax> DIFF_MODEL=['local_tm','sphere','prolate','oblate','ellipsoid','final']
 +
relax> MF_MODELS=['m0','m1','m2','m3','m4','m5','m6','m7','m8','m9']
 +
relax> LOCAL_TM_MODELS=['tm0','tm1','tm2','tm3','tm4','tm5','tm6','tm7','tm7','tm8','tm9']
 +
relax> GRID_INC=11
 +
relax> MIN_ALGOR='newton'
 +
relax> MC_NUM=500
 +
relax> CONV_LOOP=True
 +
relax> pipe_bundle="mf(%s)"%asctime(localtime())
 +
relax> name="origin-"+pipe_bundle
 +
relax> pipe.create(name,'mf',bundle=pipe_bundle)
 +
relax> structure.read_pdb('2d9j.pdb',set_mol_name='hRGS7')
 +
relax> structure.load_spins('@N',ave_pos=True)
 +
relax> structure.load_spins('@NE1',ave_pos=True)
 +
relax> structure.load_spins('@H',ave_pos=True)
 +
relax> structure.load_spins('@HE1',ave_pos=True)
 +
relax> spin.isotope('15N',spin_id='@N*')
 +
relax> spin.isotope('1H',spin_id='@H*')
 +
relax> interatom.define(spin_id1='@N',spin_id2='@H', direct_bond=True)
 +
relax> interatom.define(spin_id1='@NE1',spin_id2='@HE1', direct_bond=True)
 +
relax> interatom.set_dist(spin_id1='@N*',spin_id2='@H*',ave_dist=1.02*1e-10)
 +
relax> interatom.unit_vectors()
 +
relax> value.set(-172*1e-6,'csa',spin_id='@N*')
 +
</source>
  
set FIDS=`cat fid_files.ls`
+
== Make suggestion script ==
set DIRN1=`dirname $PWD/${FIDS[1]}`
+
=== Copy sample script ===
+
To provide a suggestion script, the relax example script is copied to the folder with the data.
foreach I (`seq 2 ${#FIDS}`)
+
 
set FID=${FIDS[$I]}; set DIRN=`dirname $FID`
+
<source lang="bash">
cd $DIRN
+
# Find where relax is called from. It's a symbolic link in the users bin folder.
echo $DIRN
+
tlinnet@linmac:Sam_25044$ which relax
cp -f $DIRN1/fid.com .
+
/Users/tlinnet/bin/relax
cp -f $DIRN1/nmrproc.com .
+
 
./fid.com
+
# Read the link to the folder where relax is installed.
./nmrproc.com
+
tlinnet@linmac:Sam_25044$ readlink `which relax`
cd ..
+
/Users/tlinnet/software/relax_trunk_svn/relax
end
+
 
 +
# Copy sample script
 +
cp /Users/tlinnet/software/relax_trunk_svn/sample_scripts/model_free/dauvergne_protocol.py sam_script.py
 
</source>
 
</source>
  
 +
=== Now modify sample script ===
 +
We are going to edit "sam_script.py".
 +
 +
<source lang="python">
 +
# Python module imports.
 +
from time import asctime, localtime
 +
# relax module imports.
 +
from auto_analyses.dauvergne_protocol import dAuvergne_protocol
 +
 +
 +
# Analysis variables.
 +
#####################
 +
# The diffusion model.
 +
DIFF_MODEL = 'local_tm'
 +
 +
# The model-free models.  Do not change these unless absolutely necessary, the protocol is likely to fail if these are changed.
 +
MF_MODELS = ['m0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9']
 +
LOCAL_TM_MODELS = ['tm0', 'tm1', 'tm2', 'tm3', 'tm4', 'tm5', 'tm6', 'tm7', 'tm8', 'tm9']
 +
 +
# The grid search size (the number of increments per dimension).
 +
GRID_INC = 11
  
 +
# The optimisation technique.
 +
MIN_ALGOR = 'newton'
 +
 +
# The number of Monte Carlo simulations to be used for error analysis at the end of the analysis.
 +
MC_NUM = 10
 +
 +
# Automatic looping over all rounds until convergence (must be a boolean value of True or False).
 +
CONV_LOOP = True
 +
 +
# Set up the data pipe.
 +
#######################
 +
 +
# The following sequence of user function calls can be changed as needed.
 +
 +
# Create the data pipe.
 +
pipe_bundle = "mf (%s)" % asctime(localtime())
 +
name = "origin - " + pipe_bundle
 +
pipe.create(name, 'mf', bundle=pipe_bundle)
 +
</source>
 +
 +
Now we are just going to try this.
 +
<source lang="bash">
 +
relax sam_script.py
 +
</source>
  
 
== See also ==
 
== See also ==
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]
 
[[Category:Relaxation dispersion analysis]]
 
[[Category:Relaxation dispersion analysis]]

Revision as of 16:52, 13 September 2016

Background

This follow the discussion with Sam Mahdi, at the mailing list: https://mail.gna.org/public/relax-users/2016-09/threads.html#00001

Files has been uploaded to: bug #25044: https://gna.org/bugs/?25044

  • Model Free Analysis problems when attempting to run on multi-processors and using the script to run

Available data

  • R1 600 MHz
  • R2 600 MHz
  • R1 800 MHz
  • R2 800 MHz
  • ssNOE 600 MHz
  • ssNOE 800 MHz

Version of relax and computer

Version og relax is 4.0.2

Hardware information:
    Machine:                 x86_64
    Processor:               x86_64
    Processor name:          Intel(R) Core(TM)2 Duo CPU     E7500  @ 2.93GHz
    Endianness:              little
    Total RAM size:          2756 Mb
    Total swap size:         2815 Mb

Operating system information:
    System:                  Linux
    Release:                 4.5.7-300.fc24.x86_64
    Version:                 #1 SMP Wed Jun 8 18:12:45 UTC 2016
    GNU/Linux version:       Fedora 24 Twenty Four
    Distribution:            fedora 24 Twenty Four
    Full platform string:    Linux-4.5.7-300.fc24.x86_64-x86_64-with-fedora-24-Twenty_Four

Python information:
    Architecture:            64bit
    Python version:          2.7.12
    Python branch:          
    Python build:            default, Aug  9 2016 15:48:18
    Python compiler:         GCC 6.1.1 20160621 (Red Hat 6.1.1-3)
    Libc version:            glibc 2.2.5
    Python implementation:   CPython
    Python revision:        
    Python executable:       /usr/bin/python
    Python flags:            sys.flags(debug=0, py3k_warning=0, division_warning=0, division_new=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=0, no_user_site=0, no_site=0, ignore_environment=0, tabcheck=0, verbose=0, unicode=0, bytes_warning=0, hash_randomization=0)
    Python float info:       sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
    Python module path:      ['/home/student/relax-4.0.2', '/usr/lib/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/openmpi', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages']

Python packages and modules (most are optional):

Name               Installed    Version             Path                                                
minfx              True         1.0.12              /home/student/relax-4.0.2/minfx                     
bmrblib            True         1.0.4               /home/student/relax-4.0.2/bmrblib                   
numpy              True         1.11.0              /usr/lib64/python2.7/site-packages/numpy            
scipy              True         0.16.1              /usr/lib64/python2.7/site-packages/scipy            
wxPython           False                                                                                
matplotlib         True         1.5.2rc2            /usr/lib64/python2.7/site-packages/matplotlib       
mpi4py             True         2.0.0               /usr/lib64/python2.7/site-packages/openmpi/mpi4py   
epydoc             False                                                                                
optparse           True         1.5.3               /usr/lib64/python2.7/optparse.pyc                   
readline           True                             /usr/lib64/python2.7/lib-dynload/readline.so        
profile            True                             /usr/lib64/python2.7/profile.pyc                    
bz2                True                             /usr/lib64/python2.7/lib-dynload/bz2.so             
gzip               True                             /usr/lib64/python2.7/gzip.pyc                       
io                 True                             /usr/lib64/python2.7/io.pyc                         
xml                True         0.8.4 (internal)    /usr/lib64/python2.7/xml/__init__.pyc               
xml.dom.minidom    True                             /usr/lib64/python2.7/xml/dom/minidom.pyc            

relax information:
    Version:                 4.0.2
    Processor fabric:        Uni-processor.

Current script

Sam has provided this script.
It is not entirely clear how the "The dauvergne_protocol model-free auto-analysis" was initiated. Maybe a combination of GUI and scripts?

relax> from time import asctime, localtime
relax> from auto_analyses.dauvergne_protocol import dAuvergne_protocol 
relax> DIFF_MODEL=['local_tm','sphere','prolate','oblate','ellipsoid','final']
relax> MF_MODELS=['m0','m1','m2','m3','m4','m5','m6','m7','m8','m9']
relax> LOCAL_TM_MODELS=['tm0','tm1','tm2','tm3','tm4','tm5','tm6','tm7','tm7','tm8','tm9']
relax> GRID_INC=11
relax> MIN_ALGOR='newton'
relax> MC_NUM=500
relax> CONV_LOOP=True
relax> pipe_bundle="mf(%s)"%asctime(localtime())
relax> name="origin-"+pipe_bundle
relax> pipe.create(name,'mf',bundle=pipe_bundle)
relax> structure.read_pdb('2d9j.pdb',set_mol_name='hRGS7')
relax> structure.load_spins('@N',ave_pos=True)
relax> structure.load_spins('@NE1',ave_pos=True)
relax> structure.load_spins('@H',ave_pos=True)
relax> structure.load_spins('@HE1',ave_pos=True)
relax> spin.isotope('15N',spin_id='@N*')
relax> spin.isotope('1H',spin_id='@H*')
relax> interatom.define(spin_id1='@N',spin_id2='@H', direct_bond=True)
relax> interatom.define(spin_id1='@NE1',spin_id2='@HE1', direct_bond=True)
relax> interatom.set_dist(spin_id1='@N*',spin_id2='@H*',ave_dist=1.02*1e-10)
relax> interatom.unit_vectors()
relax> value.set(-172*1e-6,'csa',spin_id='@N*')

Make suggestion script

Copy sample script

To provide a suggestion script, the relax example script is copied to the folder with the data.

# Find where relax is called from. It's a symbolic link in the users bin folder.
tlinnet@linmac:Sam_25044$ which relax
/Users/tlinnet/bin/relax

# Read the link to the folder where relax is installed.
tlinnet@linmac:Sam_25044$ readlink `which relax`
/Users/tlinnet/software/relax_trunk_svn/relax

# Copy sample script
cp /Users/tlinnet/software/relax_trunk_svn/sample_scripts/model_free/dauvergne_protocol.py sam_script.py

Now modify sample script

We are going to edit "sam_script.py".

# Python module imports.
from time import asctime, localtime
# relax module imports.
from auto_analyses.dauvergne_protocol import dAuvergne_protocol


# Analysis variables.
#####################
# The diffusion model.
DIFF_MODEL = 'local_tm'

# The model-free models.  Do not change these unless absolutely necessary, the protocol is likely to fail if these are changed.
MF_MODELS = ['m0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9']
LOCAL_TM_MODELS = ['tm0', 'tm1', 'tm2', 'tm3', 'tm4', 'tm5', 'tm6', 'tm7', 'tm8', 'tm9']

# The grid search size (the number of increments per dimension).
GRID_INC = 11

# The optimisation technique.
MIN_ALGOR = 'newton'

# The number of Monte Carlo simulations to be used for error analysis at the end of the analysis.
MC_NUM = 10

# Automatic looping over all rounds until convergence (must be a boolean value of True or False).
CONV_LOOP = True

# Set up the data pipe.
#######################

# The following sequence of user function calls can be changed as needed.

# Create the data pipe.
pipe_bundle = "mf (%s)" % asctime(localtime())
name = "origin - " + pipe_bundle
pipe.create(name, 'mf', bundle=pipe_bundle)

Now we are just going to try this.

relax sam_script.py

See also