functionalNetwork: Creates and plots the functional gene network.

Description Usage Arguments Value See Also Examples

View source: R/3_functionalNetwork.R

Description

Plots the functional networks.

The default network links genes to genes, or terms to terms. The bipartite network links genes or terms to their clusters.

Usage

1
2
3
4
5
6
7
8
functionalNetwork(incidMatrices, plotType = c("default", "bipartite")[1], 
    plotOutput = "static", plotTitle = "Functional Network", 
    plotTitleSub = NULL, legendPrefix = NULL, legendText = NULL, 
    geneExpr = NULL, plotExpression = c("border", "fill"), 
    vExprColors=c(neg="#008000", zero="white", pos="#FF2020"),
    vSize = 12, vLabelCex = 2/3, vLayout = NULL, keepColors = TRUE, 
    bgTransparency = 0.4, eColor = "#323232", eWidth=NULL, weighted = FALSE, 
    keepAllNodes = FALSE, plotAllMg = FALSE)

Arguments

incidMatrices

list or matrix. Raw output (list) from fea2incidMat: a list with slots: "gtSetsMatrix", "filteredOut" and either "metagroupsMatrix" or "clustersMatrix". If only a matrix is provided, it will be asumed to be the clusters matrix, and all nodes will be connected to every other node in the metagroup.

plotType

"default" or "bipartite".

Default network: Nodes are either genes or terms. Edges join nodes in common gene-term sets. Background and node color represent cluster/metagroup. White nodes are in several clusters/metagroups.

Bipartite network: Nodes are genes or terms (circles) and their clusters (squares). By default it keeps only the genes or terms in more than one cluster or metagroup, which represents a simplified version of the functional network. Node shape is only available in the "static" output.

plotOutput

"static", "dynamic" or "none". "static" will generate a standard R plot. "dynamic" will produce an interactive tkplot (metagroups background cannot be drawn). "none" will not plot the network.

plotTitle

character. Title to show on the plot.

plotTitleSub

character. Text to show at the bottom of the plot (sub-title).

legendPrefix

character. Label to show next to the cluster/metagroup id in the legend. In the bipartite network the legens replaces the cluster node label.

legendText

character. Description of each cluster (shown as the legend). If FALSE, legend is not shown.

geneExpr

numeric. Named vector with the relative expression value of the gene (node). 0 is taken as reference, positive values will be plotted red, negative values green.

plotExpression

character. Determines the way to plot the expression: "border" adds a red or green border to the node, "fill" colors the whole with the expression color instead of the metagroup color.

vExprColors

character. Vector with the colors for expression: first color for negative values, second for zero, and third for positive.

vSize

numeric. Vertex size. If named, it allows to set a value for each gene. Name as "default" to set a default value, otherwise the default value is the mean.

vLabelCex

numeric. A numerical value giving the amount by which plotting text and symbols should be magnified relative to the default label size.

vLayout

2 x n matrix or character. Where n is the number of nodes in the graph, each column gives the (x, y)-coordinates for the corresponding node. The bipartite network accepts "kk" (Kamada Kawai), "circle", or "sugiyama" (hierarquical).

keepColors

logical. If TRUE, it will keep the same colors for all the plots, independently of the filtered groups. Only available if incidMatrices is the raw result from fea2incidMat().

bgTransparency

numeric. Value between 0 and 1 for the transparency of the metagroups background (only default network).

eColor

character. Color for the edges.

eWidth

numeric. Edge width. Not to plot edges, set eWidth=0 or eColor=NA.

weighted

logical. If TRUE, edges width will be based on the number of shared gene-term sets.

keepAllNodes

logical. Only used in bipartite network. If FALSE, nodes in only one cluster are not plotted. If TRUE, all nodes in the clusters are shown.

plotAllMg

logical. Only used in bipartite network. If FALSE, non-connected clusters are not plotted. If TRUE, all non-filtered clusters are shown.

Value

Plots the functional networks.

An invisible list with the igraph networks and incidence matrices, to collect it assign it to a variable.

See Also

Previous step in the workflow: fea2incidMat()

To see the terms included in each cluster or metagroup: getTerms()

Overview of the package: FGNet

Package tutorial: vignette("FGNet-vignette")

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
###################################################
# Previous steps
# Set gene list:
genesYeast <- c("ADA2", "APC1", "APC11", "APC2", "APC4", "APC5", "APC9", 
    "CDC16", "CDC23", "CDC26", "CDC27", "CFT1", "CFT2", "DCP1", "DOC1", "FIP1", 
    "GCN5", "GLC7", "HFI1", "KEM1", "LSM1", "LSM2", "LSM3", "LSM4", "LSM5", 
    "LSM6", "LSM7", "LSM8", "MPE1", "NGG1", "PAP1", "PAT1", "PFS2", "PTA1", 
    "PTI1", "REF2", "RNA14", "RPN1", "RPN10", "RPN11", "RPN13", "RPN2", "RPN3", 
    "RPN5", "RPN6", "RPN8", "RPT1", "RPT3", "RPT6", "SGF11", "SGF29", "SGF73", 
    "SPT20", "SPT3", "SPT7", "SPT8", "TRA1", "YSH1", "YTH1")
# Optional gene expression
genesYeastExpr <- setNames(c(rep(1,29), rep(-1,30)), genesYeast) # 1=UP, -1=DW

# FEA:
# jobID <- query_gtLinker(genesYeast, organism = "Sc")
jobID <- 3907019
results <- fea_gtLinker_getResults(jobID)

###################################################
# Gene-based networks:
incidMat <- fea2incidMat(results, filterAttribute="Silhouette Width")

functionalNetwork(incidMat, geneExpr=genesYeastExpr)
functionalNetwork(incidMat, plotType="bipartite", plotOutput="dynamic", vSize=c(default=10, GLC7=20, PTA1=20))

getTerms(results)

# To modify the layout and plot as static network (with metagroup background)...
library(igraph)
# saveLayout <- tkplot.getcoords(1)   # tkp.id (ID of the tkplot window)
# functionalNetwork(incidMat, vLayout=saveLayout, plotType="bipartite")

# Only return the network, without plotting
fNw <- functionalNetwork(incidMat, plotOutput="none") 
class(fNw)
names(fNw)
betweenness(fNw$iGraph$commonClusters)

###################################################
# Term-based network
incidMat_terms <- fea2incidMat(results, key="Terms")
functionalNetwork(incidMat_terms, weighted=TRUE, plotOutput="dynamic")
functionalNetwork(incidMat_terms, plotType="bipartite", plotOutput="dynamic", 
    plotAllMg=TRUE)
functionalNetwork(incidMat_terms, plotType="bipartite", plotOutput="dynamic",
    keepAllNodes=TRUE)

# Including generic terms filterd by GtLinker from final metagroups:
incidMat_terms2 <- fea2incidMat(results, key="Terms", removeFiltered=FALSE)
functionalNetwork(incidMat_terms2, weighted=TRUE)

FGNet documentation built on Nov. 17, 2017, 12:05 p.m.