README.md 5.45 KB
Newer Older
Xiang Gao's avatar
Xiang Gao committed
1
# <img src=https://raw.githubusercontent.com/aiqm/torchani/master/logo1.png width=180/>  Accurate Neural Network Potential on PyTorch
Gao, Xiang's avatar
Gao, Xiang committed
2

3
4
5
6
7
8
Metrics:

![PyPI](https://img.shields.io/pypi/v/torchani.svg)
![PyPI - Downloads](https://img.shields.io/pypi/dm/torchani.svg)

Checks:
9

10
11
[![CodeFactor](https://www.codefactor.io/repository/github/aiqm/torchani/badge/master)](https://www.codefactor.io/repository/github/aiqm/torchani/overview/master)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/aiqm/torchani.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/aiqm/torchani/alerts/)
12
[![Actions Status](https://github.com/aiqm/torchani/workflows/flake8/badge.svg)](https://github.com/aiqm/torchani/actions)
13
[![Actions Status](https://github.com/aiqm/torchani/workflows/clang-format/badge.svg)](https://github.com/aiqm/torchani/actions)
14
[![Actions Status](https://github.com/aiqm/torchani/workflows/mypy/badge.svg)](https://github.com/aiqm/torchani/actions)
15
16
17
18
[![Actions Status](https://github.com/aiqm/torchani/workflows/unittests/badge.svg)](https://github.com/aiqm/torchani/actions)
[![Actions Status](https://github.com/aiqm/torchani/workflows/cuda/badge.svg)](https://github.com/aiqm/torchani/actions)
[![Actions Status](https://github.com/aiqm/torchani/workflows/docs/badge.svg)](https://github.com/aiqm/torchani/actions)
[![Actions Status](https://github.com/aiqm/torchani/workflows/runnable-submodules/badge.svg)](https://github.com/aiqm/torchani/actions)
19
[![Actions Status](https://github.com/aiqm/torchani/workflows/tools/badge.svg)](https://github.com/aiqm/torchani/actions)
Gao, Xiang's avatar
Gao, Xiang committed
20

21
Deploy:
22

23
24
[![Actions Status](https://github.com/aiqm/torchani/workflows/deploy-docs/badge.svg)](https://github.com/aiqm/torchani/actions)
[![Actions Status](https://github.com/aiqm/torchani/workflows/deploy-pypi/badge.svg)](https://github.com/aiqm/torchani/actions)
25

26
27
28
29
30
We only provide compatibility with nightly PyTorch, but you can check if stable PyTorch happens to be supported by looking at the following badge:

[![Actions Status](https://github.com/aiqm/torchani/workflows/stable-torch/badge.svg)](https://github.com/aiqm/torchani/actions)


Gao, Xiang's avatar
Gao, Xiang committed
31
TorchANI is a pytorch implementation of ANI. It is currently under alpha release, which means, the API is not stable yet. If you find a bug of TorchANI, or have some feature request, feel free to open an issue on GitHub, or send us a pull request.
Gao, Xiang's avatar
Gao, Xiang committed
32

Xiang Gao's avatar
Xiang Gao committed
33
34
<img src=https://raw.githubusercontent.com/aiqm/torchani/master/logo2.png width=500/>

35

Gao, Xiang's avatar
Gao, Xiang committed
36
37
# Install

38
TorchANI requires the latest preview version of PyTorch. Please install PyTorch before installing TorchANI.
Gao, Xiang's avatar
Gao, Xiang committed
39

40
41
42
Please see [PyTorch's official site](https://pytorch.org/get-started/locally/) for instructions of installing latest preview version of PyTorch.

Note that if you updated TorchANI, you may also need to update PyTorch.
43

44
After installing the correct PyTorch, you can install TorchANI by `pip` or `conda`:
45

Richard Xue's avatar
Richard Xue committed
46
```bash
47
pip install torchani
48
```
Gao, Xiang's avatar
Gao, Xiang committed
49

50
or
Gao, Xiang's avatar
Gao, Xiang committed
51
52

```bash
53
conda install -c conda-forge torchani
Gao, Xiang's avatar
Gao, Xiang committed
54
55
```

56
See https://github.com/conda-forge/torchani-feedstock for more information about the conda package.
Gao, Xiang's avatar
Gao, Xiang committed
57

58
59
60
61
62
63
To run the tests and examples, you must manually download a data package

```bash
./download.sh
```

Jinze Xue's avatar
Jinze Xue committed
64
65
[CUAEV](https://github.com/aiqm/torchani/tree/master/torchani/cuaev) (Optional)  
To install AEV CUDA Extension (speedup for AEV forward and backward), please follow the instruction at [torchani/cuaev](https://github.com/aiqm/torchani/tree/master/torchani/cuaev).
66

67
# Citation
Gao, Xiang's avatar
Gao, Xiang committed
68

69
Please cite the following paper if you use TorchANI 
Gao, Xiang's avatar
Gao, Xiang committed
70

71
72
73
* Xiang Gao, Farhad Ramezanghorbani, Olexandr Isayev, Justin S. Smith, and Adrian E. Roitberg. *TorchANI: A Free and Open Source PyTorch Based Deep Learning Implementation of the ANI Neural Network Potentials*. Journal of Chemical Information and Modeling 2020 60 (7), 3408-3415, [![DOI for Citing](https://img.shields.io/badge/DOI-10.1021%2Facs.jcim.0c00451-green.svg)](https://doi.org/10.1021/acs.jcim.0c00451)

[![JCIM Cover](https://pubs.acs.org/na101/home/literatum/publisher/achs/journals/content/jcisd8/2020/jcisd8.2020.60.issue-7/jcisd8.2020.60.issue-7/20200727/jcisd8.2020.60.issue-7.largecover.jpg)](https://pubs.acs.org/toc/jcisd8/60/7)
74
75

* Please refer to [isayev/ASE_ANI](https://github.com/isayev/ASE_ANI) for ANI model references.
76
77
78
79
80
81

# ANI model parameters
All the ANI model parameters including (ANI2x, ANI1x, and ANI1ccx) are accessible from the following repositories:
- [isayev/ASE_ANI](https://github.com/isayev/ASE_ANI)
- [aiqm/ani-model-zoo](https://github.com/aiqm/ani-model-zoo)

82
83
84
85
86
87
88
89
90
91
92
93
94
95

# Develop

To install TorchANI from GitHub:

```bash
git clone https://github.com/aiqm/torchani.git
cd torchani
pip install -e .
```

After TorchANI has been installed, you can build the documents by running `sphinx-build docs build`. But make sure you
install dependencies:
```bash
96
pip install -r docs_requirements.txt
97
98
```

99
100
101
102
103
To manually run unit tests, do

```bash
pytest -v
```
104

105
106
107
108
If you opened a pull request, you could see your generated documents at https://aiqm.github.io/torchani-test-docs/ after you `docs` check succeed.
Keep in mind that this repository is only for the purpose of convenience of development, and only keeps the latest push.
The CI runing for other pull requests might overwrite this repository. You could rerun the `docs` check to overwrite this repo to your build.

109

Gao, Xiang's avatar
Gao, Xiang committed
110
# Note to TorchANI developers
Gao, Xiang's avatar
Gao, Xiang committed
111
112
113
114
115

Never commit to the master branch directly. If you need to change something, create a new branch, submit a PR on GitHub.

You must pass all the tests on GitHub before your PR can be merged.

Gao, Xiang's avatar
Gao, Xiang committed
116
Code review is required before merging pull request.