SFcalculator-jax

A Differentiable pipeline connecting molecule models and crystallpgraphy data


License
MIT
Install
pip install SFcalculator-jax==0.1.5

Documentation

SFcalculator

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

Source codes in three popular deep learning frameworks are provided in the following submodule repositories:

  1. SFcalculator_torch, pytorch implementation.

  2. SFcalculator_jax, jax implementation.

  3. SFcalculator_tf, tensorflow2 implementation.

The pytorch version is currently in active development, making it several versions ahead and the preferred choice.

Authors

Minhuan Li, minhuanli@g.harvard.edu

Doeke R. Hekstra, doeke_hekstra@harvard.edu

Installation

Pytorch verision

  1. Create a python environment with package manager you like (mambaforge recommended).

  2. Install Pytorch

  3. Install SFcalculator-torch

    pip install SFcalculator-torch

Jax verision

  1. Create a python environment with package manager you like (mambaforge recommended).

  2. Install Jax

  3. Install SFcalculator-jax

    pip install SFcalculator-jax

Tensorflow 2 verision

  1. Create a python environment with package manager you like (mambaforge recommended).

  2. Install Tensorflow2

  3. Install SFcalculator-tf:

    pip install SFcalculator-tf