Skip to contents

This function runs the SPIDER algorithm

Usage

spider(
  motif,
  expr = NULL,
  epifilter = NULL,
  ppi = NULL,
  alpha = 0.1,
  hamming = 0.001,
  iter = NA,
  output = c("regulatory", "coexpression", "cooperative"),
  zScale = TRUE,
  progress = FALSE,
  randomize = c("None", "within.gene", "by.gene"),
  cor.method = "pearson",
  scale.by.present = FALSE,
  edgelist = FALSE,
  remove.missing.ppi = FALSE,
  remove.missing.motif = FALSE,
  remove.missing.genes = FALSE,
  mode = "union"
)

Arguments

motif

A motif dataset, a data.frame, matrix or exprSet containing 3 columns. Each row describes an motif associated with a transcription factor (column 1) a gene (column 2) and a score (column 3) for the motif.

expr

An expression dataset, as a genes (rows) by samples (columns) data.frame

epifilter

A binary matrix that is of the same size as motif that will be used as a mask to filter motif for open chromatin region. Motif interactions that fall in open chromatin region will be kept and the others are removed.

ppi

A Protein-Protein interaction dataset, a data.frame containing 3 columns. Each row describes a protein-protein interaction between transcription factor 1(column 1), transcription factor 2 (column 2) and a score (column 3) for the interaction.

alpha

value to be used for update variable, alpha (default=0.1)

hamming

value at which to terminate the process based on hamming distance (default 10^-3)

iter

sets the maximum number of iterations SPIDER can run before exiting.

output

a vector containing which networks to return. Options include "regulatory", "coregulatory", "cooperative".

zScale

Boolean to indicate use of z-scores in output. False will use [0,1] scale.

progress

Boolean to indicate printing of output for algorithm progress.

randomize

method by which to randomize gene expression matrix. Default "None". Must be one of "None", "within.gene", "by.genes". "within.gene" randomization scrambles each row of the gene expression matrix, "by.gene" scrambles gene labels.

cor.method

Correlation method, default is "pearson".

scale.by.present

Boolean to indicate scaling of correlations by percentage of positive samples.

edgelist

Boolean to indicate if edge lists instead of matrices should be returned.

remove.missing.ppi

Boolean to indicate whether TFs in the PPI but not in the motif data should be removed. Only when mode=='legacy'.

remove.missing.motif

Boolean to indicate whether genes targeted in the motif data but not the expression data should be removed. Only when mode=='legacy'.

remove.missing.genes

Boolean to indicate whether genes in the expression data but lacking information from the motif prior should be removed. Only when mode=='legacy'.

mode

The data alignment mode. The mode 'union' takes the union of the genes in the expression matrix and the motif and the union of TFs in the ppi and motif and fills the matrics with zeros for nonintersecting TFs and gens, 'intersection' takes the intersection of genes and TFs and removes nonintersecting sets, 'legacy' is the old behavior with PANDAR version 1.19.3. #' Parameters remove.missing.ppi, remove.missingmotif, remove.missing.genes work only with mode=='legacy'.

Value

An object of class "panda" containing matrices describing networks achieved by convergence with SPIDER algorithm.

"regNet" is the regulatory network

"coregNet" is the coregulatory network

"coopNet" is the cooperative network

References

Sonawane, Abhijeet Rajendra, et al. "Constructing gene regulatory networks using epigenetic data." npj Systems Biology and Applications 7.1 (2021): 1-13.

Examples

data(pandaToyData)
pandaToyData$epifilter = pandaToyData$motif
nind=floor(runif(5000, min=1, max=dim(pandaToyData$epifilter)[1]))
pandaToyData$epifilter[nind,3] = 0
spiderRes <- spider(pandaToyData$motif,pandaToyData$expression,
                    pandaToyData$epifilter,pandaToyData$ppi,hamming=.1,progress=TRUE)