dream_net: Dream 4 signaling data

Description Usage Format Source References See Also Examples

Description

Dream 4 signaling data

Usage

1

Format

An object of the class bn.fit T-cell signaling data

This data consists of simultaneous measurements of 11 phosphorylated proteins and phospholypids derived from thousands of individual primary immune system cells, specifically T cells. When T cells are stimulated, the signal flows across a series of physical interactions between the measured proteins. The network of these interactions forms the T cell signalling pathway.

Causal Bayesian networks can be to represent or learn the signalling pathway from this data. Not all the proteins involved in the modelling pathways are observed.

The literature-validated Bayesian network representation of this network is available by loading the tcell_examples dataset.

Two versions of this data are included in bninfo. The first is the raw data from the 2005 publication. This list of datasets is commonly used for learning graphical models of cell signalling. Each element of the list is a dataset having undergone a different perturbation. The perturbations are intended to reveal causal influences between proteins. Each column of each dataset represents a signalling protein. The values in each column correspond to the abundance of the activate state of that protein, or more generally, the level of activity for that protein. The variable names are edited for readability.

The second dataset is the 2005 dataset with preprocessing into 3 discrete levels for each protein. Marco Scutari presents this processed dataset with workflows introduced in his books and documentation that accompany his bnlearn package. .

This is a list containing two elements. The first element '.data' is a data frame with 5400 rows, each corresponding to a cell. The second element 'interventions' contains an array where each element corresponds to a cell (observation) in .data, and names the protein (column) in .data that that received an intervention in a given cell. Subsetting by these interventions you get:

A key feature of this experiment is that the interventions may not directly change the abundance (and thus the measurement values in the raw data) of a given protein, just its ability to modify downstream proteins. To correct for this, in cells with inhibition or activation interventions the distribution of the protein has one level with probability one and the other two with probability zero, making it similar to doing a knock-out or spiking. Simply put, this abstracts away some of the biology, though for more considered incorporation of this information in the modely may improve results.

Source

http://www.sciencemag.org/content/308/5721/523.short

References

Sachs, Karen, et al. "Causal protein-signalling networks derived from multiparameter single-cell data." Science 308.5721 (2005): 523-529.

Nagarajan, Radhakrishnan, Marco Scutari, and Sophie Lèbre. Bayesian Networks in R. Springer, 2013.

Scutari, Marco, and Jean-Baptiste Denis. Bayesian Networks: With Examples in R. CRC Press, 2014.

See Also

tcell_examples

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
library(bnlearn)
library(magrittr)
data(tcells)
str(tcells)

# Visualize the associated network
factorization = paste("[PKC][PKA|PKC][Raf|PKC:PKA][Mek|PKC:PKA:Raf]",
"[Erk|Mek:PKA][Akt|Erk:PKA][P38|PKC:PKA]",
"[Jnk|PKC:PKA][Plcg][PIP3|Plcg][PIP2|Plcg:PIP3]")
net <- model2network(factorization)
graphviz.plot(net)

# Replicate Scutari's network inference in R

data(tcells)
df <- tcells$processed
int_array <- as.numeric(df$INT); df$INT <- NULL  # Pull out the intervetions, so only the proteins remain.
int_arg <- lapply(seq_along(df), function(i){
   which(int_array == i)}) %>%
   structure(names =  names(df))
   averaging_results <- random.graph(nodes = names(df), # Generate random graph
                               method = "melancon",
                               num = 500,
                               burn.in = 10^5,
                               every = 100) %>%
     lapply(function(net){ # Fit Tabu search to each graph
         tabu(df, score = "mbde", exp = int_arg, iss = 10, start = net, tabu = 50)
     }) %>%
     custom.strength(nodes = names(df)) %>% # Compute averaging statistics
     averaged.network(nodes = names(df)) %>%
     graphviz.plot

robertness/bninfo documentation built on May 27, 2019, 10:32 a.m.