File size: 2,838 Bytes
5863962
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c937fe3
5863962
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c937fe3
5863962
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
---
license: other
license_name: asl
license_link: LICENSE
tags:
- chemistry
---
# FeNNix-Bio1

An efficient machine-learning interatomic potential for molecular dynamics simulations of organic and biological systems trained on an extension of the SPICE2 dataset.
The model comes in two sizes (S and M).

## Model Details

- **Developed by:** T. Plé, O. Adjoua, A. Benali, E. Posenitskiy, C. Villot, L. Lagardère and J.-P. Piquemal
- **License:** Academic Software License (ASL)

- **Repository:** [github.com/FeNNol-tools/FeNNol-PMC/tree/main/FENNIX-BIO1](https://github.com/FeNNol-tools/FeNNol-PMC/tree/main/FENNIX-BIO1)
- **Paper:** [DOI:10.26434/chemrxiv-2025-f1hgn-v4](https://chemrxiv.org/engage/chemrxiv/article-details/69399703bc44e47cf4980c4e)
- **Code:** [github.com/FeNNol-tools/FeNNol](https://github.com/FeNNol-tools/FeNNol)

## Uses

- Molecular dynamics simulations of organic and biological systems
- Geometry optimization
- Scoring (Binding free energy calculations)

## How to Get Started with the Model

Download one of the models from [github.com/FeNNol-tools/FeNNol-PMC/tree/main/FENNIX-BIO1](https://github.com/FeNNol-tools/FeNNol-PMC/tree/main/FENNIX-BIO1).
Install the [FeNNol](https://github.com/FeNNol-tools/FeNNol) library
```bash
pip install fennol[cuda]
```
The model can easily be used with ASE:
```python
from fennol.ase import FENNIXCalculator
import sys
from ase import Atoms
from ase.md.verlet import VelocityVerlet
from ase.io import read
from ase import units
import time

xyz_file = sys.argv[1]
atoms = read(xyz_file)
calc = FENNIXCalculator(model="fennix-bio1M.fnx", gpu_preprocessing=True)
atoms.calc = calc

dyn = VelocityVerlet(atoms, 1.0 * units.fs)  # 1 fs time step
nsteps = 100_000
steps_per_print = 100
t0 = time.time()
for step in range(1,nsteps+1):
    dyn.run(1)
    if step % steps_per_print == 0:
        t1 = time.time()
        steps_per_second = steps_per_print / (t1 - t0)
        print(f"Step: {step:10}, Energy: {atoms.get_potential_energy():15.5f} eV, Steps/s: {steps_per_second:.2f}")
        t0 = time.time()
```

For better performance, we recommend directly using FeNNol's MD engine
(see the [example](https://github.com/FeNNol-tools/FeNNol/tree/main/examples/md) directory in FeNNol's github repo)


## Citation 

Plé T, Adjoua O, Benali A, Posenitskiy E, Villot C, Lagardère L, Piquemal J-P A Foundation Model for Accurate Atomistic Simulations in Drug Design.
ChemRxiv. 2025; doi:10.26434/chemrxiv-2025-f1hgn-v4 

**BibTeX:**

```
@article{Ple-2025,
  title={A Foundation Model for Accurate Atomistic Simulations in Drug Design},
  DOI={10.26434/chemrxiv-2025-f1hgn-v4},
  journal={ChemRxiv},
  author={Plé, Thomas and Adjoua, Olivier and Benali, Anouar and Posenitskiy, Evgeny and Villot, Corentin and Lagardère, Louis and Piquemal, Jean-Philip},
  year={2025}
}
```