openfe.setup#

Set up a free energy campaign by preparing an AlchemicalNetwork.

Setup consists of preparing an AlchemicalNetwork, which contains a collection of Transformation objects. Each Transformation describes an alchemic mutation from one chemical system to another, including full descriptions of both chemical systems as well as the simulation protocol used to compute the change. Descriptions of chemical systems and their components are found in the system module.

An AlchemicalNetwork is usually prepared from a LigandNetwork, which is an undirected graph of small molecules. Each edge represents a yet-to-be-calculated mutation including an atom mapping, but without specifying a simulation protocol or explicit chemical system. A LigandNetwork is created by a planner function from the ligand_network_planning module. A planner may generate the network layout automatically, load it from another tool, or require the user to specify it by hand. Most planners generate atom mappings automatically by optimising over a scorer function from lomap_scorers or perses_scorers; these and other atom mapping utilities are found in the atom_mapping module.

An AlchemicalNetwork additionally needs a Protocol for each transformation, though it usually uses the same protocol for all transformations. A protocol describes and implements the process of computing the free energy from the two chemical systems described by a transformation.

Modules

atom_mapping

Mappings from atoms in one molecule to those in another.

system

Chemical systems and their components.

ligand_network_planning

Functions for planning a LigandNetwork from small molecules.

alchemical_network_planner

Tools for planning alchemical networks.

Classes

LigandNetwork

A directed graph connecting many ligands according to their atom mapping

Transformation

An edge of an alchemical network.

AlchemicalNetwork

A network with all the information needed for a simulation campaign.