https://github.com/sunghunbae/desmondtools
Tools for Schrodinger Desmond
https://github.com/sunghunbae/desmondtools
desmond dynamics molecular multisim schrodinger
Last synced: 6 months ago
JSON representation
Tools for Schrodinger Desmond
- Host: GitHub
- URL: https://github.com/sunghunbae/desmondtools
- Owner: sunghunbae
- License: mit
- Created: 2025-03-12T21:55:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-12T23:57:47.000Z (over 1 year ago)
- Last Synced: 2025-03-13T00:20:01.843Z (over 1 year ago)
- Topics: desmond, dynamics, molecular, multisim, schrodinger
- Language: HTML
- Homepage: https://sunghunbae.github.io/desmondtools/
- Size: 688 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tools for Desmond Molecular Dynamics
## Introduction
DesmondTools have a set of command-line scripts and a python library written to make
setting up the molecular dynamics simulations easier for Desmond.
## Install
```bash
$ pip install desmondtools
```
## Documentation
See https://sunghunbae.github.io/desmondtools/
## Use of `desmondtools` library
```python
from desmondtools import Multisim
# read template .msj and .cfg
md_msj = Multisim(template="desmond-md.msj")
md_cfg = Multisim(template="desmond-md.cfg")
with open(msj_file,"w") as msj:
# modify desmond msj template
md_msj.dot.simulate[-1].cfg_file = cfg_file_basename
# Setting up restraints using the restraints keyword:
# https://www.schrodinger.com/kb/332119
if args.posres_force > 0.0:
# print the restraints in the multisim log file
md_msj.dot.simulate[-1].print_restraint = 'true'
# add the new terms defined in "restraints.new" to existing restraints.
# The default is restraints.existing = ignore which will
# delete existing terms before adding any new ones.
# md_msj.dot.simulate[-1].restraints.existing = 'retain'
md_msj.dot.simulate[-1].restraints.new = [
{
'name' : 'posre_harm',
'atoms' : [ f'"{args.posres}"' ],
'force_constants' : [ args.posres_force, ] * 3,
}
]
# force constants in the x, y, and z direction
md_msj.write(msj)
with open(cfg_file,"w") as cfg:
# modify desmond cfg template
md_cfg.dot.randomize_velocity.seed = random.randint(1000, 9999)
md_cfg.dot.time = total_simulation_time
md_cfg.dot.temperature = t_schedule
md_cfg.dot.trajectory.interval = args.interval
md_cfg.write(cfg)
```