Code, documentation, experiments we want to retain for reference, but that we're not currently maintaining.
atom_mapping/
-- distance-based atom comparison for rdFMCSautodiff/
-- code related to automatic differentiationsurreal.cuh
-- implementation of forward-mode AD using complex step differentiation with operator overloading
docs/
-- write-up of initial vision fortimemachine
, involving efficient backpropagation through MD trajectoriesdocking/
-- Docking module that docks uses non-equilibrium switchinggpu_tricks/
-- tricks and workarounds for GPU kernel codeio/
-- Input/output utilitiesjax_tricks
-- misc. Jax functionsmodules
-- misc. modulesreservoir_sampler.py
rmsd.py
-- compute rmsd under Jaxpotentials
-- deprecated potentialsevp.py
-- eigenvalue problem solvers for small square matricespmi.py
-- principal moments of inertia related codegbsa.py
-- GBSA implicit solvent modelshape.py
-- Calculate volume overlap between two molecules
tests
-- deprecated teststest_shape.py
-- tests for potentials.shapedual_topology.py
-- test with TI and dual topology
rabfe
-- Code previous used in RABFEfree_energy.py
-- Free Energy classes for RABFEmodel_rabfe.py
-- Models for performing stages of RABFEtest_rabfe_topology.py
-- Tests for rabfe topologiestest_rabfe.py
-- Test RABFEtopology.py
-- RABFE specific topology classeslambda_schedule.py
-- Lambda schedules specific to RABFEestimator.py
-- Estimating dGs for RABFErestraints.py
-- Restraints specific to RABFEtest_restraints.py
-- Tests for restraintsendpoint_correction.py
-- Endpoint correction for RABFEtest_endpoint_correction.py
-- Tests for endpoint correction
optimize/
-- legacy protocol and forcefield optimization codethermo_deriv/
-- numerical experiments with "thermodynamic derivative" estimators, adjusting LJ parameters to match observables- note: currently missing dependencies
thermo_deriv.lj_non_periodic.lennard_jones
,thermo_deriv.lj.lennard_jones
. - note:
langevin_coefficients
dependency has since changed -- some scripts rely on a version oflangevin_coefficients
prior to PR #459
- note: currently missing dependencies
training/
-- classes and functions for an earlier training workflow- note: somewhat tailored to use TI estimates, constant volume simulations, GRPC, ...
scripts/
bootstrap_am1.py
-- script for approximating AM1BCC with atom types rather than bond typesrhfe_single.py
runs three hydration free energy protocols that should give similar results:- taking the difference between two absolute hydration free energy calculations (each computed using TI and 4D decoupling)
- computing a relative free energy using a complete atom-mapping (interpolating the valence energies, and interpolating the nonbonded parameters)
- computing a relative free energy using a partial atom-mapping (the atom being deleted / inserted is handled using 4D decoupling)
rbfe_single.py
-- script for running relative binding free energy with single topologyestimator_variance.py
measures run-to-run variability as a function of number of MD steps performed per rungenerate_gradients.py
use symbolic differentiation for common functional forms to emit CUDA codenpt_equilibration.py
samples the constant temperature and pressure ensemble for each of several lambda windows, by running thermostatted MD and pausing every few steps to apply a Monte Carlo barostat moveahfe.py
runs 4D decoupling simulations of aspirin in a waterbox, for later use in a TI estimator of the absolute hydration free energy.rhfe_dual.py
runs 4D decoupling simulations of aspirin and a version of aspirin that mutates an oxygen to a fluorine in a waterbox, subject to a centroid restraint, for later use in a TI estimator of the relative hydration free energy difference between these two compounds.hif2a/
runs calculations on several of the ligands in the hif2a benchmark datasethif2a/generate_star_map.py
generates a "star map" (a single hub and several spokes), and serializes a collection of RelativeFreeEnergy objects for (hub, spoke) pairshif2a/fit_to_multiple_rbfes.py
fits nonbonded parameters to the experimental IC50s associated with these ligands
overlap_test.py
tests two restraint types, one based on principal moments of inertia and one based on a measure of shape overlap.potential_energy.py
computes the potential energy of an "alchemical" system, as well as its derivatives w.r.t. coords, params, or lamrun_smc_on_biphenyl.py
run smc on a biphenyl test systemvalidate_relative_binding.py
run RABFE protocol