Package 'GENIE3'

Title: GEne Network Inference with Ensemble of trees
Description: This package implements the GENIE3 algorithm for inferring gene regulatory networks from expression data.
Authors: Van Anh Huynh-Thu, Sara Aibar, Pierre Geurts
Maintainer: Van Anh Huynh-Thu <[email protected]>
License: GPL (>= 2)
Version: 1.29.0
Built: 2024-12-10 06:15:15 UTC
Source: https://github.com/bioc/GENIE3

Help Index


GENIE3

Description

GENIE3 Infers a gene regulatory network (in the form of a weighted adjacency matrix) from expression data, using ensembles of regression trees.

Usage

GENIE3(
  exprMatrix,
  regulators = NULL,
  targets = NULL,
  treeMethod = "RF",
  K = "sqrt",
  nTrees = 1000,
  nCores = 1,
  returnMatrix = TRUE,
  verbose = FALSE
)

## S4 method for signature 'matrix'
GENIE3(
  exprMatrix,
  regulators = NULL,
  targets = NULL,
  treeMethod = "RF",
  K = "sqrt",
  nTrees = 1000,
  nCores = 1,
  returnMatrix = TRUE,
  verbose = FALSE
)

## S4 method for signature 'SummarizedExperiment'
GENIE3(
  exprMatrix,
  regulators = NULL,
  targets = NULL,
  treeMethod = "RF",
  K = "sqrt",
  nTrees = 1000,
  nCores = 1,
  returnMatrix = TRUE,
  verbose = FALSE
)

## S4 method for signature 'ExpressionSet'
GENIE3(
  exprMatrix,
  regulators = NULL,
  targets = NULL,
  treeMethod = "RF",
  K = "sqrt",
  nTrees = 1000,
  nCores = 1,
  returnMatrix = TRUE,
  verbose = FALSE
)

Arguments

exprMatrix

Expression matrix (genes x samples). Every row is a gene, every column is a sample. The expression matrix can also be provided as one of the Bioconductor classes:

  • ExpressionSet: The matrix will be obtained through exprs(exprMatrix)

  • RangedSummarizedExperiment: The matrix will be obtained through assay(exprMatrix), wich will extract the first assay (usually the counts)

regulators

Subset of genes used as candidate regulators. Must be either a vector of gene names, e.g. c("at_12377", "at_10912") or a vector of indices, e.g. c(1,5,6,7). The default value NULL means that all the genes are used as candidate regulators (which is NOT recommended). To provide different regulators for each gene, providethem as named list.

targets

Subset of genes to which potential regulators will be calculated. Must be either a vector of indices, e.g. c(1,5,6,7), or a vector of gene names, e.g. c("at_12377", "at_10912"). If NULL (default), regulators will be calculated for all genes in the input matrix.

treeMethod

Tree-based method used. Must be either "RF" for Random Forests (default) or "ET" for Extra-Trees.

K

Number of candidate regulators randomly selected at each tree node (for the determination of the best split). Must be either "sqrt" for the square root of the total number of candidate regulators (default), "all" for the total number of candidate regulators, or a stricly positive integer.

nTrees

Number of trees in an ensemble for each target gene. Default: 1000.

nCores

Number of cores to use for parallel computing. Default: 1.

returnMatrix

Returns output as weight matrix (TRUE). Otherwise (FALSE) it is returned as a list.

verbose

If set to TRUE, a feedback on the progress of the calculations is given. Default: FALSE.

Value

Weighted adjacency matrix of inferred network. Element w_ij (row i, column j) gives the importance of the link from regulatory gene i to target gene j.

Examples

## Generate fake expression matrix
exprMatrix <- matrix(sample(1:10, 100, replace=TRUE), nrow=20)
rownames(exprMatrix) <- paste("Gene", 1:20, sep="")
colnames(exprMatrix) <- paste("Sample", 1:5, sep="")

## Run GENIE3
set.seed(123) # For reproducibility of results
weightMatrix <- GENIE3(exprMatrix, regulators=paste("Gene", 1:5, sep=""))

## Get ranking of edges
linkList <- getLinkList(weightMatrix)
head(linkList)

## Different regulators for each gene & return as list
regulatorsList <- list("Gene1"=rownames(exprMatrix)[1:10],
                       "Gene2"=rownames(exprMatrix)[10:20],
                       "Gene20"=rownames(exprMatrix)[15:20])

set.seed(123)
weightList <- GENIE3(exprMatrix, nCores=1, targets=names(regulatorsList), regulators=regulatorsList, returnMatrix=FALSE)