{"id":23084156,"url":"https://github.com/jparkhill/tensormol","last_synced_at":"2025-04-05T17:04:05.189Z","repository":{"id":38813757,"uuid":"72236823","full_name":"jparkhill/TensorMol","owner":"jparkhill","description":"Tensorflow + Molecules = TensorMol","archived":false,"fork":false,"pushed_at":"2021-02-11T00:12:00.000Z","size":106553,"stargazers_count":274,"open_issues_count":18,"forks_count":73,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-04-05T17:03:49.712Z","etag":null,"topics":["chemistry","force-field","machine-learning","meta-dynamics","molecular-dynamics","molecular-simulation","molecules","monte-carlo","neural-network","simulation","tensorflow"],"latest_commit_sha":null,"homepage":"http://blogs.nd.edu/parkhillgroup","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jparkhill.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-28T19:40:11.000Z","updated_at":"2025-03-29T16:28:21.000Z","dependencies_parsed_at":"2022-08-25T11:40:56.374Z","dependency_job_id":null,"html_url":"https://github.com/jparkhill/TensorMol","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jparkhill%2FTensorMol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jparkhill%2FTensorMol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jparkhill%2FTensorMol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jparkhill%2FTensorMol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jparkhill","download_url":"https://codeload.github.com/jparkhill/TensorMol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247369953,"owners_count":20927928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chemistry","force-field","machine-learning","meta-dynamics","molecular-dynamics","molecular-simulation","molecules","monte-carlo","neural-network","simulation","tensorflow"],"created_at":"2024-12-16T15:49:16.619Z","updated_at":"2025-04-05T17:04:05.159Z","avatar_url":"https://github.com/jparkhill.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u0026#9658;\u003cimg src=\"doc/images/TensorMol.png\" width=\"400\"\u003e\n![](doc/images/newtitle.png)\n-Title signature by Alex Graves' handwriting LSTM https://arxiv.org/abs/1308.0850\n\n[![PyPI version](https://badge.fury.io/py/TensorMol.svg)](https://badge.fury.io/py/TensorMol)\n![](https://img.shields.io/badge/Python-2.7-brightgreen.svg)\n![](https://img.shields.io/badge/Python-3.6-brightgreen.svg)\n[![Documentation Status](https://readthedocs.org/projects/tensormol/badge/?version=latest)](http://tensormol.readthedocs.io/en/latest/?badge=latest)\n\n\n## Authors:\n Kun Yao (kyao@nd.edu), John Herr (jherr1@nd.edu),\n David Toth (dtoth1@nd.edu), Ryker McIntyre(rmcinty3@nd.edu), Nicolas Casetti,\n [John Parkhill](http://blogs.nd.edu/parkhillgroup) (john.parkhill@gmail.com)\n\n## Model Chemistries:\n - Behler-Parrinello with electrostatics\n - Many Body Expansion\n - Bonds in Molecules NN\n - Atomwise Forces\n - Inductive Charges\n\n## Simulation Types:\n - Optimizations\n - Molecular Dynamics (NVE,NVT Nose-Hoover)\n - Monte Carlo\n - Open/Periodic Boundary Conditions\n - Meta-Dynamics\n - Infrared spectra by propagation\n - Infrared spectra by Harmonic Approximation.\n - Nudged Elastic Band\n - Path integral simulations via interface with [I-PI](https://github.com/i-pi/i-pi) MD engine.\n\n## News: \n - Did we disappear? NO! but TensorMol0.2 is being developed in a private developers branch. It'll be back here soon. \n - (update 3/29/2018) TensorMol0.2 will arrive before 5/1. It adds additn'l element support, geometrical constraints, conformational search and other features.\n\n## License: GPLv3\nBy using this software you agree to the terms in COPYING\n\n## Installation:\n - Install TensorFlow(\u003e1.1), otherwise TensorMol is self-contained.\n - Works on OSX, Ubuntu, and Windows subsystem for Linux:\n```\ngit clone https://github.com/jparkhill/TensorMol.git\ncd TensorMol\n# If you are using python2x\nsudo pip install -e .\n# If you are using python3x\nsudo pip3 install -e .\npython test.py\n```\n\n## Demo of training a neural network force field using TensorMol:\n - Copy the training script into the tensormol folder:```cp samples/training_sample.py  .``` Run the script: ```python training_sample.py ``` This will train a network force field for water.  \n\n## Test example for TensorMol01:\n - Download our pretrained neural networks (network.tar.gz). [Networks for water and molecules that only contains C, H, O, N](https://drive.google.com/drive/folders/1IfWPs7i5kfmErIRyuhGv95dSVtNFo0e_?usp=sharing) (The file is about 6 Gigabyte. This may take a while)\n - Copy the zipped trained networks file (network.tar.gz) into TensorMol folder. Unzip it. The networks should be in './networks' folder.\n - Copy the test script into the tensormol folder:```cp samples/test_tensormol01.py .``` Run the script: ```python test_tensormol01.py``` The test sample contains geometry optimization, molecular dynamic, harmonic IR spectrum and realtime IR spectrum.  \n\n## Timing Information\nTensorMol is robust and fast. You can get an BP+electrostatic energy and force of this monstrous cube of 24,000 atoms\nin less than 100 seconds on a 2015 MacbookPro (Core i7 2.5Ghz, 16GB mem). Periodic simulations are about 3x\nmore expensive.  \n\n\u003cimg src=\"doc/images/monster.png\" width=\"400\"\u003e\n\u003cimg src=\"doc/images/Timings.png\" width=\"400\"\u003e\n\u003cimg src=\"doc/images/PeriodicTimings.png\" width=\"400\"\u003e\n\n## Usage:\n - ```import TensorMol as tm```\n - We are working on /doc/Tutorials, but it's sparse now. We've done a lot of re-writing, and so if you are looking for good examples, look for /samples files with recent commits.\n - A collection of tests are located in samples/test_tensormol01.py but this requires first downloading the trained networks from the Arxiv paper.\n - `python samples/test_tensormol01.py`\n - IPI interface: start server: ~/i-pi/i-pi samples/i-pi_interface/H2O_cluster.xml \u003e log \u0026; run client: python test_ipi.py\n\n\n## Sample Results\n\n### Biological molecules\nBecause Neural network force fields do not rely on any specific atom typing or bond topology, the agony of setting up  simulations of biological molecules is greatly reduced. This gif is a periodic optimization of PDB structure 2EVQ, in explicit polarizable TensorMol solvent.\n\n\u003cimg src=\"doc/images/2evq.gif\" width=\"300\"\u003e\n\n### Chemical Reactions\nConverged nudged elastic band simulations of the cyclization cascade of endiandric acid C (c.f. K. C. Nicolaou, N. A. Petasis, R. E. Zipkin, 1982, The endiandric acid cascade. Electrocyclizations in organic synthesis. 4. Biomimetic approach to endiandric acids A-G. Total synthesis and thermal studies, J. Am. Chem. Soc. 104(20):5560–5562).\n\n\u003cimg src=\"doc/images/cascade.gif\" width=\"300\"\u003e\n\nThis reaction path can be found in a few minutes on an ordinary laptop. Relaxation from the linearly interpolated guess looks like this:\n\n\u003cimg src=\"doc/images/neb.png\" width=\"300\"\u003e\n\nThe associated energy surface is shown below.\n\n\u003cimg src=\"doc/images/pes.png\" width=\"300\"\u003e\n\n### Dynamic Properties\n- Tyrosine Harmonic IR spectrum\n\n\u003cimg src=\"doc/images/tyrosine.png\" width=\"300\"\u003e\n\n## Publications and Press:\n - John E. Herr, Kun Yao, David W. Toth, Ryker Mcintyre, John Parkhill.Metadynamics for Training Neural Network Model Chemistries: a Competitive Assessment. [Arxiv](https://arxiv.org/abs/1712.07240)\n- Kun Yao, John E. Herr, David W. Toth, Ryker Mcintyre, John Parkhill. The TensorMol-0.1 Model Chemistry: a Neural Network Augmented with Long-Range Physics. [Chemical Science](http://pubs.rsc.org/en/content/articlelanding/2014/SC/C7SC04934J#!divAbstract)\n - Writeup in [Chemistry World](https://www.chemistryworld.com/news/neural-network-predicts-bond-energies-like-a-pro/3007598.article)\n - Kun Yao, John E. Herr, Seth N. Brown, \u0026 John Parkhill. Intrinsic Bond Energies from a Bonds-in-Molecules Neural Network. Journal of Physical Chemistry Letters (2017). DOI: [10.1021/acs.jpclett.7b01072](http://pubs.acs.org/doi/abs/10.1021/acs.jpclett.7b01072)\n - Kun Yao, John Herr, \u0026 John Parkhill. The Many-body Expansion Combined with Neural Networks. Journal of Chemical Physics (2016). DOI:  [10.1063/1.4973380](http://aip.scitation.org/doi/abs/10.1063/1.4973380?journalCode=jcp)\n - Kun Yao, John Parkhill. The Kinetic Energy of Hydrocarbons as a Function of Electron Density and  Convolutional Neural Networks. Journal of Chemical Theory and Computation (2016). DOI: [10.1021/acs.jctc.5b01011](http://pubs.acs.org/doi/abs/10.1021/acs.jctc.5b01011)\n\n## Requirements:\n- Minimum Pre-Requisites: Python2.7x, TensorFlow  ```sudo pip install tensorflow ```\n- Also now works in Python3.6.    \n- Useful Pre-Requisites: CUDA7.5, PySCF\n- To Train Minimally: ~100GB Disk 20GB memory\n- To Train Realistically: 1TB Disk, GTX1070++\n- To Evaluate: Normal CPU and 10GB Mem\n\n## Acknowledgements:\n - Google Inc. (for TensorFlow)\n - NVidia Corp. (hardware)\n - von Lilienfeld Group (for GBD9)\n - Chan Group (for PySCF)\n\n## Common Issues:\n- nan during training due to bad checkpoints in /networks (clean.sh)\n- Also crashes when reviving networks from disk.\n- if you have these issues try re-installing or:\n\n```\nsh clean.sh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjparkhill%2Ftensormol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjparkhill%2Ftensormol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjparkhill%2Ftensormol/lists"}