trevorgokey / besmarts

A toolkit for data-driven force field design based on binary-encoded SMARTS
https://besmarts.readthedocs.io
MIT License
3 stars 1 forks source link
cheminformatics forcefields smarts

BESMARTS

A toolkit for data-driven force field design based on binary-encoded SMARTS

Highlights of this package are:

See the ChemRxiv preprint for the theoretical unpinnings on which this package is based.

Installation

Currently, the best way to install is to clone and then install with pip.

For environment users (e.g. venv or conda), one should probably create an empty environment first:

conda create -n besmarts python
conda activate besmarts

or

python -m venv besmarts
. besmarts/bin/activate

followed by the actual install:

git clone https://github.com/trevorgokey/besmarts besmarts-git
cd besmarts-git/besmarts-core/python
python -m pip install .
cd ../../besmarts-rdkit/python
python -m pip install .

RDKit is needed to decode SMILES into graphs and offers a faster implementation of SMARTS matching when labeling from a SMARTS hierarchy.

Geometry optimization uses the SciPy minimizer and can be installed using using a similar process as above with besmarts-scipy.

Molecular mechanics energy and gradient evaluations are implemented, but require partial charges. By default, besmarts will try to charge molecules with am1bcc using the sqm program from ambertools suite. Consequently, make sure sqm is in your PATH by installing via conda or by other means.

Documentation

Documentation in this repository is hosted on RTD

Contributing

Contributions in the form of bug reports, enhancements, and general discussions are very welcome. See CONTRIBUTING.md for more details.