moltemplate

A general cross-platform tool for preparing simulations of molecules and complex molecular assemblies

https://github.com/jewettaij/moltemplate

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 11 DOI reference(s) in README
  • Academic publication links
    Links to: rsc.org, acs.org
  • Committers with academic emails
    3 of 19 committers (15.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.8%) to scientific vocabulary

Keywords

amber coarse-grained-molecular-dynamics force-fields lammps lammps-data lammps-script-creator lammps-tool molecular-dynamics molecule-builder molecule-editor open-science opls
Last synced: 6 months ago · JSON representation

Repository

A general cross-platform tool for preparing simulations of molecules and complex molecular assemblies

Basic Info
  • Host: GitHub
  • Owner: jewettaij
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage: http://www.moltemplate.org
  • Size: 21.2 MB
Statistics
  • Stars: 294
  • Watchers: 13
  • Forks: 103
  • Open Issues: 13
  • Releases: 74
Topics
amber coarse-grained-molecular-dynamics force-fields lammps lammps-data lammps-script-creator lammps-tool molecular-dynamics molecule-builder molecule-editor open-science opls
Created about 9 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

CircleCI CodeQL Requires Python 3.4+ PyPI - Version PyPI Downloads Conda Downloads Paper Website

Moltemplate

Description

Moltemplate is a general cross-platform text-based molecule builder for LAMMPS. Moltemplate was intended for building custom coarse-grained molecular models, but it can be used to prepare realistic all-atom simulations as well. It currently supports the ATB molecule database, the OPLSAA(2023), OPLSUA(2008), LOPLS(2015), AMBER(GAFF,GAFF2), DREIDING, COMPASS, TraPPE(1998), EFF, force fields, and the MOLC, mW, ELBA(water), and oxDNA2, molecular models (and others). (New force fields and examples are added continually by users.) Moltemplate is inter-operable with ATB, Open Babel, AmberTools, LigParGen, RED-server, VMD, topotools, PACKMOL, EMC, CellPACK, Vipster, struc2lammpsdf, and any other program that generates MOL2 or LAMMPS DATA (.lmpdat) files (by using the mol22lt.py and ltemplify.py file converters).

This repository contains 3 folders: - moltemplate: source code and force fields - doc: documentation for moltemplate.sh, ltemplify.py, genpoly_lt.py, etc.. - examples: examples built with moltemplate

Documentation

The best way to learn how to use moltemplate is to find an example which is similar to the system that you wish to simulate and modify it. This repository includes approximately 50 examples. Some of the moltemplate examples are also demonstrated (with pictures) here.

All moltemplate users should read chapter 4 of the reference manual (It's only 6 pages long. The first 3 chapters can be skipped.) Chapters 6, 7, and 5.1-5.3 also also recommended. (13 pages.)

In addition, there are also several talks/tutorials online.

Strategies for preparing all-atom simulations

Moltemplate was originally designed for preparing coarse-grained simulations. Fully atomistic simulations usually require choosing force-field specific atom types ("atom typing"), and the calculation of atomic charge. Moltemplate does not do this. Moltemplate also does not repair incomplete PDB files. To get around these limitations:

  • Users can use use 3rd-party molecule-builder tools such as: the ATB database (LT format), AmberTools (MOL2 format), LigParGen (DATA format), OpenBabel, and EMC (DATA format). These tools can generate MOL2 or LAMMPS-DATA files which can be converted into moltemplate format (LT format) using mol22lt.py or ltemplify.py. (If you want to try and select the atom types manually instead of using 3rd-party tools, read these suggestions.) Alternatively, users can use the DREIDING force field which has relatively simple atom type rules.
  • For atomic partial charges the RED-server is useful (which can generate a MOL2 file), in addition to the tools listed above. Alternatively, users can try using LAMMPS' built-in fix qeq feature.

Typical usage

moltemplate.sh [-atomstyle style] [-pdb/-xyz coord_file] [-vmd] system.lt

Installation Instructions

Moltemplate depends on other software to work (such as BASH, python3, pip3, or conda). Once these dependencies have been met, installing moltemplate is relatively easy. However many users find it difficult to install these prerequisites correctly. A detailed installation guide is located here.

Installation for conda users

If you have installed conda, you can download moltemplate using: conda install conda-forge::moltemplate This will omit the moltemplate examples and documentation. You can browse examples online and/or download them using: git clone https://github.com/jewettaij/moltemplate DESTINATION_DIRECTORY

Installation for pip users

You can download moltemplate using: git clone https://github.com/jewettaij/moltemplate DESTINATION_DIRECTORY (See below if you don't have git installed.) Then enter the directory where this README file is located: cd DESTINATION_DIRECTORY ...and run the following command: pip3 install . # (or "pip", if that fails) (Note: In some environments, "pip3" is called "pip" instead.)

If the command above fails (with both "pip" and "pip3"), then try this instead: pip3 install . --user # (or "pip", if that fails) This will install moltemplate for a single user. If you are on a shared computer and you want to install moltemplate system-wide, then use: sudo pip3 install . # (or "pip", if that fails) Later, you can uninstall moltemplate using: ``` pip3 uninstall moltemplate

(use "pip" and/or prepend "sudo" if you did that earlier)

``` If this fails then read the installation troubleshooting guide. This guide will offer several different installation methods and explain how to install the prerequisites needed.

Note: Alternatively, you can download and install moltemplate using a single command: pip3 install git+https://github.com/jewettaij/moltemplate.git # (or "pip", if that fails) ...however this will omit all of the examples and documentation.

Web page

Additional suggestions and supporting code can be found at:

http://www.moltemplate.org

Requirements

Moltemplate requires BASH and Python (3.4+), NumPy, and can run on MacOS, linux, or windows.

(Note: On MacOS, it may eventually become necessary to use 3rd-party tools like "brew" to install BASH if apple removes BASH support in future updates. Python 2.7 may also work, but you must edit your PATH to install moltemplate instead of using pip/pip3. Pip no longer works with old versions of python.)

To use LAMMPS and moltemplate, you will also need to install (and learn how to use) a (unix-style) text editor. (Word, Wordpad, and Notepad will not work.) Popular graphical text editors include Atom, Sublime, Notepad++, and VSCode. Older, non-graphical programs include vim, emacs, nano, ne, and jove. (Apple's TextEdit can be used if you save the file as plain text.)

License

With the exception of one file (ttree_lex.py), moltemplate is available under the terms of the MIT license.

The remaining file, (ttree_lex.py), is a modified version of the shlex.py module, which was released using the PSF license. Hence ttree_lex.py must also use this license. (The PSF is not a copyleft license. It is similar to the BSD and MIT licenses and is compatible with the the GPL license.)

Citation

If you find this program useful, please cite:

"Moltemplate: A Tool for Coarse-Grained Modeling of Complex Biological Matter and Soft Condensed Matter Physics", J. Mol. Biol., 2021, 433(11):166841, Jewett AI, Stelter D, Lambert J, Saladi SM, Roscioni OM, Ricci M, Autin L, Maritan M, Bashusqeh SM, Keyes T, Dame RT, Shea J-E, Jensen GJ, Goodsell DS https://doi.org/10.1016/j.jmb.2021.166841

Owner

  • Name: Andrew Jewett
  • Login: jewettaij
  • Kind: user
  • Location: Pittsburgh, PA

GitHub Events

Total
  • Create event: 9
  • Release event: 9
  • Issues event: 14
  • Watch event: 46
  • Issue comment event: 48
  • Push event: 56
  • Pull request review event: 2
  • Pull request event: 3
  • Fork event: 7
Last Year
  • Create event: 9
  • Release event: 9
  • Issues event: 14
  • Watch event: 46
  • Issue comment event: 48
  • Push event: 56
  • Pull request review event: 2
  • Pull request event: 3
  • Fork event: 7

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 887
  • Total Committers: 19
  • Avg Commits per committer: 46.684
  • Development Distribution Score (DDS): 0.116
Past Year
  • Commits: 23
  • Committers: 2
  • Avg Commits per committer: 11.5
  • Development Distribution Score (DDS): 0.261
Top Committers
Name Email Commits
Andrew Jewett j****j@g****m 784
Shyam Saladi s****i@c****u 33
dstelter92 d****r@b****u 25
hothello r****i@g****m 25
m-bone m****e@b****k 5
Zein z****r@u****e 2
Reginaldo Gonçalves Leão Junior 4****o 1
smerz1989 s****z@g****m 1
Øyvind Sigmundson Schøyen o****n@g****m 1
jshaataj (home) j****j@c****i 1
zouguijin1990 5****0 1
Sebastian Gsänger 8****r 1
sebastianecheverrir s****r@g****m 1
Anders Lervik a****e@g****m 1
cpossel 6****l 1
Shyam Saladi s****i 1
bhargavchava97 5****7 1
Lingnan Lin 4****8 1
Sebastian Gsänger s****r@w****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 60
  • Total pull requests: 42
  • Average time to close issues: 28 days
  • Average time to close pull requests: 7 days
  • Total issue authors: 45
  • Total pull request authors: 18
  • Average comments per issue: 4.0
  • Average comments per pull request: 1.6
  • Merged pull requests: 39
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 8
  • Pull requests: 2
  • Average time to close issues: 3 days
  • Average time to close pull requests: 29 days
  • Issue authors: 8
  • Pull request authors: 2
  • Average comments per issue: 2.88
  • Average comments per pull request: 1.5
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jewettaij (5)
  • ysdlucky (4)
  • yurivict (3)
  • ProfLeao (3)
  • AJZein (2)
  • hassanuiuc (2)
  • yunessalman (2)
  • Roy-Kid (2)
  • goodwilling (2)
  • PatolinoSocks (1)
  • andersle (1)
  • LunarLanding (1)
  • hu-fu1 (1)
  • ms123456-TX (1)
  • edu159 (1)
Pull Request Authors
  • hothello (13)
  • smsaladi (4)
  • jewettaij (4)
  • m-bone (4)
  • dstelter92 (3)
  • DrDomenicoMarson (2)
  • AJZein (2)
  • mnink275 (2)
  • sgsaenger (2)
  • smerz1989 (1)
  • ProfLeao (1)
  • andersle (1)
  • bhargavchava97 (1)
  • jsbtic (1)
  • zouguijin1990 (1)
Top Labels
Issue Labels
question (9) bug (8) workaround (5) unconfirmed (2) enhancement (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 1,571 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 3
    (may contain duplicates)
  • Total versions: 139
  • Total maintainers: 1
pypi.org: moltemplate

A general cross-platform text-based molecule builder for LAMMPS

  • Versions: 128
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 1,571 Last month
  • Docker Downloads: 0
Rankings
Docker downloads count: 4.3%
Stargazers count: 4.6%
Forks count: 4.8%
Average: 7.6%
Downloads: 10.1%
Dependent packages count: 10.1%
Dependent repos count: 11.5%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: moltemplate
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Forks count: 20.1%
Dependent repos count: 24.1%
Stargazers count: 27.1%
Average: 30.7%
Dependent packages count: 51.5%
Last synced: 6 months ago

Dependencies

.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
setup.py pypi
  • numpy *