Python Utilities for Molecular Dynamics
=======================================
Introduction
============
MDScribe is a set of command-line scripts and a library written to make
setting up the molecular dynamics simulations easier for Desmond, OpenMM, and Amber.
Install
===============
```shell
$ pip install mdscribe
```
Documentation
=============
See https://sunghunbae.github.io/mdscribe/
Example for Desmond
===================
```python
from mdscribe.desmond 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)
```
Raw data
{
"_id": null,
"home_page": null,
"name": "mdscribe",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "Sung-Hun Bae <sunghun.bae@gmail.com>",
"keywords": "Molecular Dynamics, OpenMM, PROTAC, Ternary Complex Modeling",
"author": null,
"author_email": "Sung-Hun Bae <sunghun.bae@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/10/ce/a74477891d3c792284d58e605c2544fb3fd5fcfd40c1eb0da2a54cee8589/mdscribe-0.7.4.tar.gz",
"platform": null,
"description": "Python Utilities for Molecular Dynamics\n=======================================\n\nIntroduction\n============\n\nMDScribe is a set of command-line scripts and a library written to make \nsetting up the molecular dynamics simulations easier for Desmond, OpenMM, and Amber.\n\nInstall\n===============\n\n```shell\n$ pip install mdscribe\n```\n\nDocumentation\n=============\n\nSee https://sunghunbae.github.io/mdscribe/\n\n\nExample for Desmond\n===================\n\n```python\nfrom mdscribe.desmond import Multisim\n\n# read template .msj and .cfg\nmd_msj = Multisim(template=\"desmond-md.msj\")\nmd_cfg = Multisim(template=\"desmond-md.cfg\")\n\nwith open(msj_file,\"w\") as msj:\n # modify desmond msj template\n md_msj.dot.simulate[-1].cfg_file = cfg_file_basename\n \n # Setting up restraints using the restraints keyword:\n # https://www.schrodinger.com/kb/332119\n if args.posres_force > 0.0:\n # print the restraints in the multisim log file\n md_msj.dot.simulate[-1].print_restraint = 'true'\n\n # add the new terms defined in \"restraints.new\" to existing restraints.\n # The default is restraints.existing = ignore which will \n # delete existing terms before adding any new ones.\n # md_msj.dot.simulate[-1].restraints.existing = 'retain'\n\n md_msj.dot.simulate[-1].restraints.new = [\n {\n 'name' : 'posre_harm',\n 'atoms' : [ f'\"{args.posres}\"' ],\n 'force_constants' : [ args.posres_force, ] * 3,\n }\n ]\n # force constants in the x, y, and z direction\n\n md_msj.write(msj)\n\nwith open(cfg_file,\"w\") as cfg:\n # modify desmond cfg template\n md_cfg.dot.randomize_velocity.seed = random.randint(1000, 9999)\n md_cfg.dot.time = total_simulation_time\n md_cfg.dot.temperature = t_schedule\n md_cfg.dot.trajectory.interval = args.interval\n md_cfg.write(cfg)\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "A Toolset For Molecular Dynamics",
"version": "0.7.4",
"project_urls": {
"Changelog": "https://github.com/sunghunbae/mdscribe/blob/master/CHANGELOG.md",
"Documentation": "https://sunghunbae.github.io/mdscribe/",
"Homepage": "https://github.com/sunghunbae/mdscribe",
"Issues": "https://github.com/sunghunbae/mdscribe/issues",
"Repository": "https://github.com/sunghunbae/mdscribe.git"
},
"split_keywords": [
"molecular dynamics",
" openmm",
" protac",
" ternary complex modeling"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "acde79d68930411015e2255312d796a760b0f1f5f8d6e3a78df64a44dbe219b9",
"md5": "e23e4071f8bb7144e33edc1a012ad7de",
"sha256": "9f3acee88b2b0292cc1d03059ef9674a93e5b823b85fc8722083b85982657dc1"
},
"downloads": -1,
"filename": "mdscribe-0.7.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e23e4071f8bb7144e33edc1a012ad7de",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 57841,
"upload_time": "2025-07-23T14:30:47",
"upload_time_iso_8601": "2025-07-23T14:30:47.010407Z",
"url": "https://files.pythonhosted.org/packages/ac/de/79d68930411015e2255312d796a760b0f1f5f8d6e3a78df64a44dbe219b9/mdscribe-0.7.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "10cea74477891d3c792284d58e605c2544fb3fd5fcfd40c1eb0da2a54cee8589",
"md5": "29aa4bec1dfe0fe707947ee187b90f52",
"sha256": "bdba2627ac7b40f134b1fb216d8d7e50fbad1469180fdc3f15a19ecc28368c0b"
},
"downloads": -1,
"filename": "mdscribe-0.7.4.tar.gz",
"has_sig": false,
"md5_digest": "29aa4bec1dfe0fe707947ee187b90f52",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 52527,
"upload_time": "2025-07-23T14:30:48",
"upload_time_iso_8601": "2025-07-23T14:30:48.193709Z",
"url": "https://files.pythonhosted.org/packages/10/ce/a74477891d3c792284d58e605c2544fb3fd5fcfd40c1eb0da2a54cee8589/mdscribe-0.7.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-23 14:30:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sunghunbae",
"github_project": "mdscribe",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mdscribe"
}