This is the code repo related to short paper Towards automated crystallographic structure refinement with a differentiable pipeline on Machine Learning in Structural Biology Workshop at NeurIPS 2022.
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.
A more detailed manuscript is in preparation.
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, minhuanli@g.harvard.edu
Doeke R. Hekstra, doeke_hekstra@harvard.edu
-
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