# Graphical models for protein structure

Graphical models have become powerful frameworks for protein structure prediction, protein–protein interaction, and free energy calculations for protein structures. Using a graphical model to represent the protein structure allows the solution of many problems including secondary structure prediction, protein-protein interactions, protein-drug interaction, and free energy calculations.
There are two main approaches to using graphical models in protein structure modeling. The first approach uses discrete variables for representing the coordinates or the dihedral angles of the protein structure. The variables are originally all continuous values and, to transform them into discrete values, a discretization process is typically applied. The second approach uses continuous variables for the coordinates or dihedral angles.

## Discrete graphical models for protein structure

Markov random fields, also known as undirected graphical models are common representations for this problem. Given an undirected graph G = (V, E), a set of random variables X = (X$_v$)$_{v∈V}$ indexed by V, form a Markov random field with respect to G if they satisfy the pairwise Markov property:
* any two non-adjacent variables are conditionally independent given all other variables:
    $X_{u}\perp \!\!\!\perp X_{v}|X_{V\setminus \{u,v\}}\quad {\text{if }}\{u,v\}\notin E.$
In the discrete model, the continuous variables are discretized into a set of favorable discrete values. If the variables of choice are dihedral angles, the discretization is typically done by mapping each value to the corresponding rotamer conformation.

### Model

Let X = {X$_b$, X$_s$} be the random variables representing the entire protein structure. X$_b$ can be represented by a set of 3-d coordinates of the backbone atoms, or equivalently, by a sequence of bond lengths and dihedral angles. The probability of a particular conformation x can then be written as:
    $p(X=x|\Theta )=p(X_{b}=x_{b})p(X_{s}=x_{s}|X_{b},\Theta ),\,$
where $\Theta$ represents any parameters used to describe this model, including sequence information, temperature etc. Frequently the backbone is assumed to be rigid with a known conformation, and the problem is then transformed to a side-chain placement problem. The structure of the graph is also encoded in $\Theta$. This structure shows which two variables are conditionally independent. As an example, side chain angles of two residues far apart can be independent given all other angles in the protein. To extract this structure, researchers use a distance threshold, and only a pair of residues which are within that threshold are considered connected (i.e. have an edge between them).
Given this representation, the probability of a particular side chain conformation x$_s$ given the backbone conformation x$_b$ can be expressed as
    $p(X_{s}=x_{s}|X_{b}=x_{b})={\frac {1}{Z}}\prod _{c\in C(G)}\Phi _{c}(x_{s}^{c},x_{b}^{c})$
where C(G) is the set of all cliques in G, $\Phi$ is a potential function defined over the variables, and Z is the partition function.
To completely characterize the MRF, it is necessary to define the potential function $\Phi$. To simplify, the cliques of a graph are usually restricted to only the cliques of size 2, which means the potential function is only defined over pairs of variables. In Goblin System, these pairwise functions are defined as
    $\Phi (x_{s}^{i_{p}},x_{b}^{j_{q}})=\exp(-E(x_{s}^{i_{p}},x_{b}^{j_{q}})/K_{B}T)$
where $E(x_{s}^{i_{p}},x_{b}^{j_{q}})$ is the energy of interaction between rotamer state p of residue $X_{i}^{s}$ and rotamer state q of residue $X_{j}^{s}$ and $k_{B}$ is the Boltzmann constant.
Using a PDB file, this model can be built over the protein structure. From this model, free energy can be calculated.

### Free energy calculation: belief propagation

It has been shown that the free energy of a system is calculated as
    $G=E-TS$
where E is the enthalpy of the system, T the temperature and S, the entropy. Now if we associate a probability with each state of the system, (p(x) for each conformation value, x), G can be rewritten as
    $G=\sum _{x}p(x)E(x)-T\sum _{x}p(x)\ln(p(x))\,$
Calculating p(x) on discrete graphs is done by the generalized belief propagation algorithm. This algorithm calculates an approximation to the probabilities, and it is not guaranteed to converge to a final value set. However, in practice, it has been shown to converge successfully in many cases.

## Continuous graphical models for protein structures

Graphical models can still be used when the variables of choice are continuous. In these cases, the probability distribution is represented as a multivariate probability distribution over continuous variables. Each family of distribution will then impose certain properties on the graphical model. Multivariate Gaussian distribution is one of the most convenient distributions in this problem. The simple form of the probability and the direct relation with the corresponding graphical model makes it a popular choice among researchers.

### Gaussian graphical models of protein structures

Gaussian graphical models are multivariate probability distributions encoding a network of dependencies among variables. Let $\Theta =[\theta _{1},\theta _{2},\dots ,\theta _{n}]$ be a set of $n$ variables, such as $n$ dihedral angles, and let $f(\Theta =D)$ be the value of the probability density function at a particular value D. A multivariate Gaussian graphical model defines this probability as follows:
    $f(\Theta =D)={\frac {1}{Z}}\exp \left\{-{\frac {1}{2}}(D-\mu )^{T}\Sigma ^{-1}(D-\mu )\right\}$
Where $Z=(2\pi )^{n/2}|\Sigma |^{1/2}$ is the closed form for the partition function. The parameters of this distribution are $\mu$ and $\Sigma$. $\mu$ is the vector of mean values of each variable, and $\Sigma ^{-1}$, the inverse of the covariance matrix, also known as the precision matrix. Precision matrix contains the pairwise dependencies between the variables. A zero value in $\Sigma ^{-1}$ means that conditioned on the values of the other variables, the two corresponding variable are independent of each other.
To learn the graph structure as a multivariate Gaussian graphical model, we can use either L-1 regularization, or neighborhood selection algorithms. These algorithms simultaneously learn a graph structure and the edge strength of the connected nodes. An edge strength corresponds to the potential function defined on the corresponding two-node clique. We use a training set of a number of PDB structures to learn the $\mu$ and $\Sigma ^{-1}$.
Once the model is learned, we can repeat the same step as in the discrete case, to get the density functions at each node, and use analytical form to calculate the free energy. Here, the partition function already has a closed form, so the inference, at least for the Gaussian graphical models is trivial. If the analytical form of the partition function is not available, particle filtering or expectation propagation can be used to approximate Z, and then perform the inference and calculate free energy.