Option("Q", "queue", "choice", "queue for scheduling", choices=["auto",]+sorted(load_queues())),
	Option("N", "nodes", "int", "number of computing cluster nodes", default=2, min_value=1),
	Option("P", "ppn", "int", "number of processors per node", default=8, min_value=1),
	Option("W", "walltime", "float", "job-walltime in hours", default=1.0, min_value=0.1),
	Option("M", "email", "str", "email-address for notifications"),
	Option("D", "dryrun", "bool", "Only generates job-file, but does not submit it", default=False),
	Option("S", "subdivide", "int", "number of parallel zgf_mdrun processes started within the job", min_value=1, default=1),
])

sys.modules[__name__].__doc__ += options_desc.epytext() # for epydoc


# reuse some options from zgf_mdrun
FORWARDED_ZGF_MDRUN_OPTIONS = ("seq", "npme", "reprod", "pd", "convtest", "auto-refines")
for x in FORWARDED_ZGF_MDRUN_OPTIONS:
	options_desc.append(zgf_mdrun.options_desc[x]) 

	
def is_applicable():
	pool = Pool()
	return(len(pool.where("state=='mdrun-able'")) > 0)


#===============================================================================
def main():
	options = options_desc.parse_args(sys.argv)[0]
	assert(options.nodes % options.subdivide == 0)	
	
	joblines = ["#!/bin/bash"]
	joblines += ["#PBS -N zgf_job", "#PBS -j oe",]
	if(options.email): 
Esempio n. 2
0
import zgf_solvate_nodes
import zgf_grompp


#===============================================================================
options_desc = OptionsList([
	Option("p", "np", "int", "Number of positive ions", default=0, min_value=0),
	Option("P", "pname", "str", "Name of the positive ion", default="NA"),
	Option("n", "nn", "int", "Number of negative ions", default=0, min_value=0),
	Option("N", "nname", "str", "Name of the negative ion", default="CL"),
	Option("s", "random-seed", "str", "Seed for random number generator", default="1993"),
])

# reuse option from zgf_solvate_nodes
options_desc.append(zgf_solvate_nodes.options_desc["grompp"]) 

sys.modules[__name__].__doc__ += options_desc.epytext() # for epydoc

def is_applicable():
	pool = Pool()
	return(len(pool.where("state == 'em-mdrun-able'")) > 0)

	
#===============================================================================
def main():
	options = options_desc.parse_args(sys.argv)[0]
	
	pool = Pool()
	needy_nodes = pool.where("state == 'em-mdrun-able'")
	assert(len(needy_nodes) == len(needy_nodes.multilock())) # make sure we lock ALL nodes
Esempio n. 3
0
           "bool",
           "refine all not-converged nodes",
           default=False),
    Option("e",
           "extend-all",
           "bool",
           "extend all not-converged nodes",
           default=False),
])

# reuse some options from zgf_create_nodes
FORWARDED_ZGF_CREATE_NODES_OPTIONS = ("numnodes", "methodnodes",
                                      "methodalphas", "methodphifit",
                                      "random-seed")
for x in FORWARDED_ZGF_CREATE_NODES_OPTIONS:
    options_desc.append(copy(
        zgf_create_nodes.options_desc[x]))  # need copy to safely ...
options_desc["numnodes"].default = 2  # ... change default values

sys.modules[__name__].__doc__ += options_desc.epytext()  # for epydoc


def is_applicable():
    pool = Pool()
    return (len(pool.where("isa_partition and is_sampled")) > 0)


#===============================================================================
# This method is also called from zgf_mdrun
def main(argv=None):
    if (argv == None):
        argv = sys.argv
Esempio n. 4
0
    Option("S",
           "subdivide",
           "int",
           "number of parallel zgf_mdrun processes started within the job",
           min_value=1,
           default=1),
    Option("A", "account", "str", "account to be debited"),
])

sys.modules[__name__].__doc__ += options_desc.epytext()  # for epydoc

# reuse some options from zgf_mdrun
FORWARDED_ZGF_MDRUN_OPTIONS = ("seq", "npme", "reprod", "pd", "convtest",
                               "auto-refines", "multistart")
for x in FORWARDED_ZGF_MDRUN_OPTIONS:
    options_desc.append(zgf_mdrun.options_desc[x])


def is_applicable():
    pool = Pool()
    return (len(
        pool.where(
            "state in ('em-mdrun-able', 'mdrun-able', 'rerun-able-converged', 'rerun-able-not-converged')"
        )) > 0)


#===============================================================================
def main():
    options = options_desc.parse_args(sys.argv)[0]
    assert (options.nodes % options.subdivide == 0)
Esempio n. 5
0
import zgf_setup_nodes
import zgf_grompp
import zgf_cleanup

from copy import copy
import sys

options_desc = OptionsList([
	Option("r", "refine-all", "bool", "refine all not-converged nodes", default=False), 
	Option("e", "extend-all", "bool", "extend all not-converged nodes", default=False),
	])

# reuse some options from zgf_create_nodes
FORWARDED_ZGF_CREATE_NODES_OPTIONS = ("numnodes", "methodnodes", "methodalphas", "methodphifit", "random-seed")
for x in FORWARDED_ZGF_CREATE_NODES_OPTIONS:
	options_desc.append(copy(zgf_create_nodes.options_desc[x])) # need copy to safely ...
options_desc["numnodes"].default = 2 # ... change default values

sys.modules[__name__].__doc__ += options_desc.epytext() # for epydoc

def is_applicable():
	pool = Pool()
	return(len(pool.where("isa_partition and is_sampled")) > 0)

	
#===============================================================================
# This method is also called from zgf_mdrun
def main(argv=None):
	if(argv==None):
		argv = sys.argv
	options = options_desc.parse_args(argv)[0]
Esempio n. 6
0
options_desc = OptionsList([
    Option("p", "np", "int", "Number of positive ions", default=0,
           min_value=0),
    Option("P", "pname", "str", "Name of the positive ion", default="NA"),
    Option("n", "nn", "int", "Number of negative ions", default=0,
           min_value=0),
    Option("N", "nname", "str", "Name of the negative ion", default="CL"),
    Option("s",
           "random-seed",
           "str",
           "Seed for random number generator",
           default="1993"),
])

# reuse option from zgf_solvate_nodes
options_desc.append(zgf_solvate_nodes.options_desc["grompp"])

sys.modules[__name__].__doc__ += options_desc.epytext()  # for epydoc


def is_applicable():
    pool = Pool()
    return (len(pool.where("state == 'em-mdrun-able'")) > 0)


#===============================================================================
def main():
    options = options_desc.parse_args(sys.argv)[0]

    pool = Pool()
    needy_nodes = pool.where("state == 'em-mdrun-able'")