mdevaluate/test/test_free_energy_landscape.py

55 lines
1.2 KiB
Python

import os
import pytest
import numpy as np
import mdevaluate
from mdevaluate import free_energy_landscape as fel
@pytest.fixture
def trajectory(request):
return mdevaluate.open(os.path.join(os.path.dirname(__file__), "data/pore"))
def test_get_fel(trajectory):
test_array = np.array(
[
0.0,
12.87438176,
4.95868203,
11.02055197,
5.44195534,
6.73933442,
3.30971789,
6.10424055,
8.56153733,
5.45777331,
5.64545817,
8.42100423,
6.28132121,
7.4777172,
11.64839354,
4.52566354,
40.84730838,
93.86241602,
140.3039937,
173.55970021,
]
)
oxygens_water = trajectory.subset(atom_name="OW", residue_name="SOL")
r, energy_differences = fel.get_fel(
oxygens_water,
os.path.join(os.path.dirname(__file__), "data/pore"),
"cylindrical",
225,
edge=0.05,
radiusmin=0.05,
radiusmax=2.05,
z=[-np.inf, np.inf],
overwrite=True,
)
assert (np.round(energy_differences) == np.round(test_array)).all()