43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
# commands extensions to PyMOL for batchmin
|
|
|
|
from pymol import cmd
|
|
from chempy.bmin import realtime
|
|
import threading
|
|
|
|
def amin(*arg,**kwarg):
|
|
realtime.assign(arg[0])
|
|
bmin(*arg, **kwarg)
|
|
|
|
def bmin(object,iter=500,grad=0.1,interval=100,
|
|
solvation=None):
|
|
realtime.setup(object)
|
|
t = threading.Thread(target=realtime.mini,
|
|
args=(int(iter),float(grad),int(interval),str(object)),
|
|
kwargs={
|
|
'solvation':solvation, # turn on GB/SA (cdie)
|
|
'rest_flag':2, # atoms with flag 2 set are restrained
|
|
'fix_flag':3, # atoms with flag 3 set are fixed
|
|
}
|
|
)
|
|
t.setDaemon(1)
|
|
t.start()
|
|
|
|
def bmin_sync(object,iter=500,grad=0.1,interval=100,
|
|
solvation=None):
|
|
realtime.setup(object)
|
|
realtime.mini(int(iter),float(grad),int(interval),str(object),
|
|
solvation=solvation,
|
|
rest_flag=2,
|
|
fix_flag=3)
|
|
|
|
def pmin():
|
|
cmd.delete('min')
|
|
realtime.assign('lig')
|
|
cmd.create('min','(lig|prot)')
|
|
bmin('min')
|
|
|
|
cmd.extend('bmin',bmin)
|
|
cmd.extend('bmin_sync',bmin_sync)
|
|
cmd.extend('amin',amin)
|
|
cmd.extend('pmin',pmin)
|