本文整理汇总了Python中ZIBMolPy.pool.Pool.temperature方法的典型用法代码示例。如果您正苦于以下问题:Python Pool.temperature方法的具体用法?Python Pool.temperature怎么用?Python Pool.temperature使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZIBMolPy.pool.Pool
的用法示例。
在下文中一共展示了Pool.temperature方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from ZIBMolPy.pool import Pool [as 别名]
# 或者: from ZIBMolPy.pool.Pool import temperature [as 别名]
def main():
options = options_desc.parse_args(sys.argv)[0]
if options.common_filename:
options.molecule = options.common_filename + ".pdb"
options.presampling = options.common_filename + ".trr"
options.internals = options.common_filename + ".int"
options.grompp = options.common_filename + ".mdp"
options.topology = options.common_filename + ".top"
options.index = options.common_filename + ".ndx"
print("Options:\n%s\n" % pformat(eval(str(options))))
assert path.exists(options.molecule)
assert path.exists(options.presampling)
assert path.exists(options.internals)
assert path.exists(options.grompp)
assert path.exists(options.topology)
# TODO: what if there is no index-file? (make_ndx)
assert path.exists(options.index)
assert "MOI" in gromacs.read_index_file(options.index), "group MOI should be defined in index file"
# checks e.g. if the mdp-file looks good
mdp_options = gromacs.read_mdp_file(options.grompp)
# options we cannot fix
for ref_t in re.findall("[0-9]+", mdp_options["ref_t"]):
assert int(ref_t) == options.temperature, "temperature in mdp file does not match ZIBgridfree temperature"
# TODO drop options.temperature and get temperature directly from mdp file... ask again if temperature is above 310K
# options we can fix
mdp_options_dirty = False # if set, a new mdp-file will be written
required_mdp_options = {"dihre": "yes", "dihre_fc": "1", "disre": "simple", "disre_fc": "1"}
for (k, v) in required_mdp_options.items():
if mdp_options.has_key(k):
assert mdp_options[k] == v # check, if we would overwrite something
else:
mdp_options[k] = v
mdp_options_dirty = True
if mdp_options.has_key("energygrps"):
assert "MOI" in [
str(egrp) for egrp in re.findall("[\S]+", mdp_options["energygrps"])
], "group MOI should be among energygrps in mdp file"
else:
mdp_options["energygrps"] = "MOI"
mdp_options_dirty = True
a, b = mdp_options.has_key("nstxout"), mdp_options.has_key("nstenergy")
if a and not b:
mdp_options["nstenergy"] = mdp_options["nstxout"]
mdp_options_dirty = True
elif b and not a:
mdp_options["nstxout"] = mdp_options["nstenergy"]
mdp_options_dirty = True
elif b and a:
assert mdp_options["nstxout"] == mdp_options["nstenergy"], "nstxout should equal nstenergy"
if int(mdp_options["nsteps"]) > 1e6:
msg = "Number of MD-steps?"
mdp_options["nsteps"] = str(userinput(msg, "int", default=int(mdp_options["nsteps"])))
# create a fixed mdp-file
if mdp_options_dirty:
print("Creating copy of mdp-file and adding missing options.")
out_fn = options.grompp.rsplit(".", 1)[0] + "_fixed.mdp"
f = open(out_fn, "w") # append
f.write("; Generated by zgf_create_pool\n")
for i in mdp_options.items():
f.write("%s = %s\n" % i)
f.write("; EOF\n")
f.close()
options.grompp = out_fn
# check if subsampling is reasonable
if os.path.getsize(options.presampling) > 100e6: # 100MB
print("Presampling trajectory is large")
trr = TrrFile(options.presampling)
dt = trr.first_frame.next().t - trr.first_frame.t
trr.close()
print("Presampling timestep is %.2f ps" % dt)
if dt < 10: # picoseconds
# TODO: maybe calculate subsampling factor individually, or ask?
msg = "Subsample presampling trajectory by a tenth?"
if userinput(msg, "bool"):
out_fn = options.presampling.rsplit(".", 1)[0] + "_tenth.trr"
cmd = ["trjconv", "-f", options.presampling, "-o", out_fn, "-skip", "10"]
check_call(cmd)
options.presampling = out_fn
# balance linears
if options.balance_linears:
print("Balance Linears")
old_converter = Converter(options.internals)
print("Loading presampling....")
frames = old_converter.read_trajectory(options.presampling)
new_coord_list = []
for c in old_converter:
if not isinstance(c, LinearCoordinate):
#.........这里部分代码省略.........
示例2: main
# 需要导入模块: from ZIBMolPy.pool import Pool [as 别名]
# 或者: from ZIBMolPy.pool.Pool import temperature [as 别名]
def main():
options = options_desc.parse_args(sys.argv)[0]
if(options.common_filename):
options.molecule = options.common_filename+".pdb"
options.presampling = options.common_filename+".trr"
options.internals = options.common_filename+".int"
options.grompp = options.common_filename+".mdp"
options.topology = options.common_filename+".top"
options.index = options.common_filename+".ndx"
print("Options:\n%s\n"%pformat(eval(str(options))))
assert(path.exists(options.molecule))
assert(path.exists(options.presampling))
assert(path.exists(options.internals))
assert(path.exists(options.grompp))
assert(path.exists(options.topology))
#TODO: what if there is no index-file? (make_ndx)
assert(path.exists(options.index))
assert('moi' in gromacs.read_index_file(options.index)), "group 'MOI' should be defined in index file"
# checks e.g. if the mdp-file looks good
mdp_options = gromacs.read_mdp_file(options.grompp)
temperatures = [ref_t for ref_t in re.findall("[0-9]+", mdp_options["ref_t"])]
assert(len(set(temperatures)) == 1), "temperature definition in mdp file is ambiguous"
temperature = temperatures[0]
# get sampling temperature from mdp file
if(int(temperature) > 310):
if not(userinput("Your sampling temperature is set to %s K. Continue?"%temperature, "bool")):
sys.exit("Quit by user.")
# options we can fix
mdp_options_dirty = False #if set, a new mdp-file will be written
# the value of the following options need to be fixed
critical_mdp_options = {"dihre":"yes", "dihre_fc":"1", "disre":"simple", "disre_fc":"1", "gen_temp":temperature}
for (k,v) in critical_mdp_options.items():
if(mdp_options.has_key(k) and mdp_options[k].strip() != v):
print "Error. I do not want to use '%s' for option '%s' ('%s' required). Please fix your mdp file."%(mdp_options[k].strip(),k,v)
sys.exit("Quitting.")
else:
mdp_options[k] = v
mdp_options_dirty = True
# the value of the following options does not matter, but they should be there
noncritical_mdp_options = {"tcoupl":"no", "pcoupl":"no", "gen_vel":"no", "gen_seed":"-1"}
for (k,v) in noncritical_mdp_options.items():
if not(mdp_options.has_key(k)):
mdp_options[k] = v
mdp_options_dirty = True
a = mdp_options.has_key("energygrps") and "moi" not in [str(egrp) for egrp in re.findall('[\S]+', mdp_options["energygrps"])]
b = not(mdp_options.has_key("energygrps"))
if(a or b):
if not(userinput("'MOI' is not defined as an energy group in your mdp file. Maybe you have forgotten to define proper 'energygrps'. Continue?", "bool")):
sys.exit("Quit by user.")
a, b = mdp_options.has_key("nstxout"), mdp_options.has_key("nstenergy")
if(a and not b):
mdp_options["nstenergy"] = mdp_options["nstxout"]
mdp_options_dirty = True
elif(b and not a):
mdp_options["nstxout"] = mdp_options["nstenergy"]
mdp_options_dirty = True
elif(b and a):
assert(mdp_options["nstxout"] == mdp_options["nstenergy"]), "nstxout should equal nstenergy"
if(int(mdp_options["nsteps"]) > 1e6):
msg = "Number of MD-steps?"
mdp_options["nsteps"] = str( userinput(msg, "int", default=int(mdp_options["nsteps"])) )
# create a fixed mdp-file
if(mdp_options_dirty):
print("Creating copy of mdp-file and adding missing options.")
out_fn = options.grompp.rsplit(".", 1)[0] + "_fixed.mdp"
f = open(out_fn, "w") # append
f.write("; Generated by zgf_create_pool\n")
for i in sorted(mdp_options.items()):
f.write("%s = %s\n"%i)
f.write("; EOF\n")
f.close()
options.grompp = out_fn
# check if subsampling is reasonable
if(os.path.getsize(options.presampling) > 100e6): # 100MB
print("Presampling trajectory is large")
trr = TrrFile(options.presampling)
dt = trr.first_frame.next().t - trr.first_frame.t
trr.close()
print("Presampling timestep is %.2f ps"%dt)
if(dt < 10): # picoseconds
#TODO: maybe calculate subsampling factor individually, or ask?
msg = "Subsample presampling trajectory by a tenth?"
if(userinput(msg, "bool")):
out_fn = options.presampling.rsplit(".", 1)[0] + "_tenth.trr"
#.........这里部分代码省略.........