Laboratory of Computer and Information Science / Neural Networks Research Centre CIS Lab Helsinki University of Technology
Back to the course web page

Factor graph exercise

On Tuesday we tried using observed link information to improve clustering (with varying level of success). In this exercise we again utilize such link data, but this time the purpose is to infer the underlying network structure solely from the links. We will use graphical models for this purpose, and implement a simplified version of a factor graph presented in Denoising and untangling graphs using degree priors.

Preliminary duties

We will use the Bayes Net Toolbox (see "How to use the toolbox" for a brief manual) for implementing the model. This toolbox is not by default installed on the computers, so we have to start by installing it. Follow the steps mentioned below:

  1. Download to a suitable directory within your home directory, and go to that directory
  2. "unzip FullBNT-1.0.3"
  3. Download add_rest.m to FuLLBNT-1.0.3/BNT/.
  4. "cd FullBNT-1.0.3/BNT/"
  5. Start Matlab
  6. "BNT_HOME='~/path_where_you_installed_the_package/FullBNT-1.0.3/'"
  7. Run "add_BNT_to_path" and "add_rest" (may give some warnings; ignore those)
  8. BNT should now be installed, and you can move to a different directory within Matlab to start working.

The model

We will construct a model with following assumptions:

The model is constructed as a factor graph shown in Figure 2.(a) of the paper. The factors on the bottom correspond to the noise model of the observations, the middle ones to the hard restrictions, and the top ones to the priors.

Note that we are implementing the inefficient naive version, not the one described in subfigure (c). In practice we cannot run the experiments for more than 10-15 proteins. Why?


Start from run_factorgraph.m. It has already much of the code, in particular most of the boring book-keeping stuff and some of the more difficult operations related to linking the factors and nodes.

Your task is to fill in the missing parts, and in particular to study the predictions made by the model. Try looking for example at


A working solution to the problem is given in run_factorgraph_solution.m. Just run it (after again runnin add_BNT_to_path and add_rest to get the paths working), and look at the results. After that, you should read the code to see how it was done.

Possible project works

You are at: CIS → T-61.5110 - Intensive course on modeling biological networks

Page maintained by t615110 (at), last updated Friday, 17-Aug-2007 10:10:16 EEST