We are ByteDance Seed team.
You can get to know us better through the following channels👇
Felis (Free Energy of Ligand-protein InteractionS) is a source-available toolkit for automated and scalable protein-ligand absolute binding free energy (ABFE) calculations. It is designed for high-throughput structure-based drug discovery and supports a practical ABFE workflow without the scaffold constraints of RBFE methods.
- Python version >= 3.11, < 3.13
- CUDA Toolkit >= 12.2
- OpenMM >= 8.5, < 8.6
- CMake, a C++ compiler, SWIG, and NVIDIA
nvcc
| Component | Version |
|---|---|
| FELIS | 0.2.0 |
| PerturbNonbondedPlugin | 0.1.0 |
| RelocationMCPlugin | 0.1.0 |
| OpenMM | >= 8.5, < 8.6 |
| CUDA Toolkit | >= 12.2 |
The native plugins use OpenMM CUDA implementation APIs, so the OpenMM minor version is intentionally constrained. This release was validated with OpenMM 8.5 and CUDA Toolkit 12.2 on NVIDIA L20 GPUs.
OpenMM
You can install OpenMM using conda:
conda install -c conda-forge "openmm=8.5" "cuda-version=12.2"Custom OpenMM plugins
Build the plugins from the repository root after activating the Python
environment that contains OpenMM. PerturbNonbondedPlugin must be compiled and
installed first:
./submodule/perturb-nonbonded-force/install.sh \
--python "$(command -v python)" \
--openmm-dir "$CONDA_PREFIX" \
--prefix "$CONDA_PREFIX" \
--build-dir "$PWD/build/perturb-nonbonded" \
--cuda-tests onThe installer configures CMake, compiles the Reference and CUDA kernels and
Python wrapper, runs ctest, installs into the selected OpenMM environment, and
runs a Python loading test. Verify the installed module explicitly:
python -m PerturbNonbondedPlugin.testPluginInstallationRelocationMCPlugin is required only when rmc_enable: true. It links against
the installed PerturbNonbondedPlugin, so compile and install it second:
./submodule/openmm-relocationmc-plugin/install.sh \
--python "$(command -v python)" \
--openmm-dir "$CONDA_PREFIX" \
--perturb-prefix "$CONDA_PREFIX" \
--prefix "$CONDA_PREFIX" \
--build-dir "$PWD/build/relocationmc" \
--cuda-tests onVerify the second plugin:
python -m RelocationMCPlugin.testPluginInstallationBoth builds require CUDA and write native libraries into
$CONDA_PREFIX/lib/plugins. Their installers fail early if nvcc, OpenMMCUDA,
or the required PerturbNonbonded headers and libraries are unavailable. In a
driverless build image, replace --cuda-tests on with --cuda-tests auto; CUDA
compilation remains mandatory. Run either installer with --help for all build
and installation options.
Gromacs
You can easily install Gromacs using the apt package manager on Debian/Ubuntu-based systems:
sudo apt update
sudo apt install gromacsOnce the installation is complete, verify that your Gromacs version is 2022.5 or higher:
gmx --versionProLIF
FELIS requires a patched ProLIF 2.0.3 installation. ProLIF is intentionally not installed as a Python package dependency, so install it from source before installing FELIS:
git clone https://github.com/chemosim-lab/ProLIF.git
cd ProLIF
git checkout v2.0.3
git apply ../submodule/prolif.patch
pip install .
cd ..After installing the dependencies and required native plugin, install FELIS:
pip install .We provide an example ABFE calculation in the examples/abfe/ directory. This example requires 8 GPUs to run.
cd examples/abfe/
bash run.shThe script prepares input files from pl_bfe_dataset and runs the full ABFE workflow.
The example configuration includes a documented RelocationMC section with
rmc_enable: false. Enable it only after installing RelocationMCPlugin; the
setting applies only to the protein/sysB leg.
- FELIS-owned code and documentation are licensed under the Creative Commons Attribution-NonCommercial 4.0 International License, except where a file or directory states otherwise.
submodule/openmm-relocationmc-plugin/is licensed under CC BY-NC 4.0.submodule/perturb-nonbonded-force/is licensed under the GNU Lesser General Public License v3.0 or later. Portions adapted from OpenMM 8.5.0NonbondedForceretain their embedded MIT or LGPL notices.pl_bfe_dataset/and its subdirectories retain their own license files. In particular, the dataset root is CC BY 4.0, while some included collections use Apache-2.0 or MIT terms.- Third-party portions retain the copyright and license notices included in their source files and in THIRD_PARTY_NOTICES.
If you find Felis useful for your research and applications, feel free to give us a star ⭐ or cite us using:
@misc{liu2026developmentlargescalebenchmarksproteinligand,
title={Development and large-scale benchmarks of a protein-ligand absolute binding free energy toolkit},
author={Yu Liu and Ailun Wang and Yu Xia and Zhi Wang and Wen Yan},
year={2026},
eprint={2603.22274},
archivePrefix={arXiv},
primaryClass={physics.comp-ph},
url={https://arxiv.org/abs/2603.22274},
}About ByteDance Seed Team
Founded in 2023, ByteDance Seed Team is dedicated to crafting the industry's most advanced AI foundation models. The team aspires to become a world-class research team and make significant contributions to the advancement of science and society.
