|
linus.py
This is the main calling program for running a LINUS simulation.
The user should edit the "parameter section" to set the number of cycles and frequency of saving structures as well as turning on/off components of the scoring function.
Any of the default parameter values may be changed by adding an appropriate entry from the list of parameters (with different values) to the appropriate argument list in linus.py.
These parameter entries in linus.py will override the default values.
For example, to turn off H-bonds between sidechain and backbone but include H-bonds between backbone atoms the set_hbond_parameters arguments should be:
sim.set_hbond_parameters(use_hbond=1,
use_sidechain_hbond=0)
The following is a minimal linus.py file.
Make a copy of this file in your working directory and edit it appropriately.
To run a LINUS simulation see the Examples section.
Other examples of LINUS run files may be examined by clicking on a menu item to the left.
from pylinus_2_3 import linusSim, ran
def gen_seeds():
from random import uniform
s1 = long(uniform(1.0, ran.M1))
s2 = long(uniform(1.0, ran.M1))
s3 = long(uniform(1.0, ran.M1))
s4 = long(uniform(1.0, ran.M2))
s5 = long(uniform(1.0, ran.M2))
s6 = long(uniform(1.0, ran.M2))
return s1, s2, s3, s4, s5, s6
def run(file,seed=None,mlfile=None,wtsfile=None,msfile=None,
pmsfile=None,distfile=None):
if seed is None:
gen = apply(ran.generator, gen_seeds())
else:
gen = apply(ran.generator, seed)
sim = linusSim.Linus(file, gen)
sim.load_movelist(mlfile)
sim.set_simulation_parameters(numsave=100,
numcycle=5000)
sim.set_hbond_parameters(use_hbond=1)
sim.set_contact_parameters(use_contact=1)
sim.run()
if __name__ == "__main__":
try:
import psyco
except ImportError:
pass
else:
psyco.bind(run)
import sys, os
filename = sys.argv[1]
file = os.path.basename(filename)
basedir = os.getcwd()
curdir = basedir + os.sep + 'sim'
os.mkdir(curdir)
os.link(filename, curdir+os.sep+file)
os.chdir(curdir)
run(file)
Additional notes on linus.py :
gen_seeds generates seed values for the random number generator which utilizes multiple recursive sequences.
(P. L'Ecuyer, ``Good Parameter Sets for Combined Multiple Recursive Random Number Generators'', Operations Research, 47, 1 (1999), 159--164; a longer version is available on the web at
http://www.iro.umontreal.ca/~lecuyer/myftp/papers/combmrg2.ps)
psyco is the JIT compiler which is used if available.
|
|