FGNet-package {FGNet} | R Documentation

## Functional gene networks derived from biological enrichment analyses

### Description

Build and visualize functional gene and term networks from clustering of enrichment analyses in multiple annotation spaces. The package includes a graphical user interface (GUI) and functions to perform the functional enrichment analysis through DAVID, GeneTerm Linker, gage (GSEA) and topGO.

### Details

Package: | FGNet
Type: | Package
Version: | 3.0
License: | GPL (>= 2)

### Author(s)

Author: Sara Aibar, Celia Fontanillo and Javier De Las Rivas. Bioinformatics and Functional Genomics Group. Cancer Research Center (CiC-IBMCC, CSIC/USAL). Salamanca. Spain.

If you have any issue, you can contact us at: <jrivas at usal.es>

### References

[1] Fontanillo C, Nogales-Cadenas R, Pascual-Montano A, De Las Rivas J (2011) Functional Analysis beyond Enrichment: Non-Redundant Reciprocal Linkage of Genes and Biological Terms. PLoS ONE 6(9): e24289. URL: http://gtlinker.cnb.csic.es

[2] Huang DW, Sherman BT, Lempicki RA (2009) Bioinformatics enrichment tools: paths toward the comprehensive functional analysis of large gene lists. Nucleic Acids Res. 37(1):1-13. URL: http://david.abcc.ncifcrf.gov/

[3] Alexa A, and Rahnenfuhrer J (2010) topGO: Enrichment analysis for Gene Ontology. R package version 2.16.0. URL: http://www.bioconductor.org/packages/release/bioc/html/topGO.html

[4] Luo W, Friedman MS, Shedden K, Hankenson KD, Woolf PJ (2009) GAGE: generally applicable gene set enrichment for pathway analysis. BMC Bioinformatics. 10:161. URL: http://www.bioconductor.org/packages/release/bioc/html/gage.html

### See Also

`FGNet_GUI()` provides a Graphical User Interface (GUI) to most of the functionalities of the package: Performing a Functional Enrichment Analysis (FEA) of a list of genes, and analyzing it through the functional networks.

1. The Functional Enrichment Analysis can be performed through several tools:

- DAVID [1]: `fea_david()` (Requires internet connection)

- GeneTerm Linker [2]: `fea_gtLinker()` & `fea_gtLinker_getResults()` (Requires internet connection)

- topGO [3]: `fea_topGO()` (Only supports GO. For offline use requires having installed the required database packages)

- GAGE [4]: `fea_gage()` (GSEA analysis. For offline use requires gene sets or installed database packages)

  There are also a few functions to import the results from a previous FEA analysis: `format_david()`, `format_results()` and `readGeneTermSets()`.

2. `FGNet_report()`: automatically generates a report with the default network options. It includes the following steps, wich can be executed individually to personalize or explore the networks:

1. `fea2incidMat()`: Transforms the FEA output into incidence matrices. These function determines wether the network will be gene- or term-based.

2. `functionalNetwork()`: Generates and plots the functional networks. These networks can be further explored by `analyzeNetwork()` and `clustersDistance()`.

   Other auxiliary functions: `getTerms()`, `keywordsTerm()`, `plotGoAncestors()`

   For more info see the package tutorial: `vignette("FGNet-vignette")`

### Examples

    ## Not run:
    # GUI:
    FGNet_GUI()

    # 1. FEA:
    geneList <- c("YBL084C", "YDL008W", "YDR118W", "YDR301W", "YDR448W", "YFR036W",
        "YGL240W", "YHR166C", "YKL022C", "YLR102C", "YLR115W", "YLR127C", "YNL172W",
        "YOL149W", "YOR249C")

    library(org.Sc.sgd.db)
    geneLabels <- unlist(as.list(org.Sc.sgdGENENAME)[geneList])

    # Optional: Gene expression
    geneExpr <- setNames(c(rep(1,10),rep(-1,5)), geneLabels)

    # Choose FEA tool...
    # results <- fea_david(geneList, geneLabels=geneLabels, email="example@email.com")
    results <- fea_gtLinker_getResults(jobID=3907019)

    # 2 A) Report:
    FGNet_report(results, geneExpr=geneExpr)

    # 2 B) Step by step:
    # 2.1. Create incidence matrices:
    incidMat <- fea2incidMat(results)
    incidMat_terms <- fea2incidMat(results, key="Terms")

    # 2.2. Explore networks:
    functionalNetwork(incidMat, geneExpr=geneExpr)
    functionalNetwork(incidMat_terms, plotType="bipartite", plotOutput="dynamic")
    getTerms(results)

    nwStats <- analyzeNetwork(incidMat)
    clustersDistance(incidMat)

    ## End(Not run)

[Package FGNet version 3.24.0 Index]