This is the code repo related to manuscript SFCalculator: connecting deep generative models and crystallography
Structure Factor Calculator implemented in tensorflow2
, pytorch
and jax
.
A differentiable pipeline connecting the protein atomic models and experimental structure factors, featuring a differentiable bulk solvent correction.
The symmetry-related nitty-gritty in both real space and reciprocal space are included.
Source codes in three popular deep learning frameworks are provided in the following submodule repositories:
-
SFcalculator_torch
, pytorch implementation. -
SFcalculator_jax
, jax implementation. -
SFcalculator_tf
, tensorflow2 implementation.
The pytorch version is currently in active development, making it several versions ahead and the preferred choice.
Minhuan Li, [email protected]
Doeke R. Hekstra, [email protected]
-
Create a python environment with package manager you like (mambaforge recommended).
-
Install Pytorch
-
Install
SFcalculator-torch
pip install SFcalculator-torch
-
Create a python environment with package manager you like (mambaforge recommended).
-
Install Jax
-
Install
SFcalculator-jax
pip install SFcalculator-jax
-
Create a python environment with package manager you like (mambaforge recommended).
-
Install Tensorflow2
-
Install
SFcalculator-tf
:pip install SFcalculator-tf
@article{li2025sfcalculator,
title={SFCalculator: connecting deep generative models and crystallography},
author={Li, Minhuan and Dalton, Kevin M and Hekstra, Doeke Romke},
journal={bioRxiv},
pages={2025--01},
year={2025},
publisher={Cold Spring Harbor Laboratory}
}
A short version has been presented as Towards automated crystallographic structure refinement with a differentiable pipeline on Machine Learning in Structural Biology Workshop at NeurIPS 2022.