Contents

1 Introduction

InterMine constitutes a powerful open source data warehouse system which integrates diverse biological data sets and provides a growing number of analysis tools, including enrichment analysis widgets (Smith et al. 2012; Kalderimis et al. 2014).

Specifically, the gene set enrichment tool looks for annotations to a set of genes that occur more than would be expected by chance, given a background population of annotations. The hypergeometric distribution is used to calculate a P-value for each annotation and a choice of correction methods for multiple testing (Bonferonni, Holm-Bonferonni and Benjamini Hochberg) are available (Smith et al. 2012; Kalderimis et al. 2014).

InterMine provides Gene Ontology enrichment statistics as well as enrichment statistics for other annotation types including protein domains, pathways, human diseases, mammalian phenotypes and publications. The default background population is all genes in the genome with the specified annotation type. However, the background population can be changed by specifying another list. More information can be found in the online documentation.

2 Perform enrichment analysis with InterMineR

Performing enrichment analysis with InterMineR is preceded by two steps:

  1. Retrieve the list of bioentities of interest (Genes, Proteins, SNPs, etc.) for which the analysis will be performed.

  2. Get the enrichment widget name which indicates the annotation types that you want to investigate for enrichment (e.g. Gene Ontology Terms, protein domains, KEGG and Reactome Pathways, human diseases, mammalian phenotypes and publications).

2.1 Retrieve list containing the genes of interest from InterMineR

In this example, enrichment analysis is performed using a list of genes which are associated with all forms of Diabetes according to OMIM. All query results and calculations are correct according to HumanMine release 5.1 (November 2018). Genomic coordinates and p-values are likely to change between database releases but the methods will remain the same.

The PL_DiabetesGenes dataset is included in the InterMineR package and can also be found online in HumanMine.

Retrieve PL_DiabetesGenes data and get gene identifiers as HumanrMine Gene.symbol and Gene.primaryIdentifier values (ENTREZ IDs).

##   Gene.symbol                                 Gene.name Gene.primaryIdentifier
## 1       ABCC8 ATP binding cassette subfamily C member 8                   6833
## 2         ACE           angiotensin I converting enzyme                   1636
## 3        AKT2             AKT serine/threonine kinase 2                    208
##   Gene.secondaryIdentifier Gene.length Gene.organism.name
## 1          ENSG00000006071       83961       Homo sapiens
## 2          ENSG00000159640       21320       Homo sapiens
## 3          ENSG00000105221       55215       Homo sapiens
## [1] "ABCC8" "ACE"   "AKT2"
## [1] "6833" "1636" "208"

2.2 Get enrichment widgets

After obtaining the Gene.id values of interest, we must determine the type of annotation for the enrichment analysis.

To retrieve all available widgets for a Mine we can use the getWidgets function.

##    startClassDisplay
## 1  primaryIdentifier
## 2               <NA>
## 3  primaryIdentifier
## 4  primaryIdentifier
## 5               <NA>
## 6  primaryIdentifier
## 7  primaryIdentifier
## 8  primaryIdentifier
## 9  primaryIdentifier
## 10              <NA>
##                                                 enrichIdentifier
## 1                         GWASResults.study.publication.pubMedId
## 2                                                           <NA>
## 3                   goAnnotation.ontologyTerm.parents.identifier
## 4                                          publications.pubMedId
## 5                                                           <NA>
## 6                                            pathways.identifier
## 7                         GWASResults.study.publication.pubMedId
## 8  proteins.proteinDomainRegions.proteinDomain.primaryIdentifier
## 9           proteinDomainRegions.proteinDomain.primaryIdentifier
## 10                                                          <NA>
##                                name
## 1         snp_gwas_study_enrichment
## 2   chromosome_distribution_for_snp
## 3            go_enrichment_for_gene
## 4            publication_enrichment
## 5  chromosome_distribution_for_gene
## 6                pathway_enrichment
## 7        snp_publication_enrichment
## 8      prot_dom_enrichment_for_gene
## 9   prot_dom_enrichment_for_protein
## 10                     interactions
##                                                                                                                                                                                                                       description
## 1                                                                                                                                                                                    GWAS studies enriched for SNPs in this list.
## 2  Actual: number of items in this list found on each chromosome.  Expected: given the total number of items on the chromosome and the number of items in this list, the number of items expected to be found on each chromosome.
## 3                                                                                                                                                                                       GO terms enriched for items in this list.
## 4                                                                                                                                                                                   Publications enriched for genes in this list.
## 5  Actual: number of items in this list found on each chromosome.  Expected: given the total number of items on the chromosome and the number of items in this list, the number of items expected to be found on each chromosome.
## 6                                                                                                                                                          Pathways enriched for genes in this list - data from KEGG and Reactome
## 7                                                                                                                                                                                    Publications enriched for SNPs in this list.
## 8                                                                                                                                                                                Protein Domains enriched for items in this list.
## 9                                                                                                                                                                                Protein Domains enriched for items in this list.
## 10                                                               Genes (from the list or not) that interact with genes in this list.  Counts may include the same interaction more than once if observed in multiple experiments.
##                                              enrich startClass
## 1                            GWASResults.study.name        SNP
## 2                                              <NA>        SNP
## 3            goAnnotation.ontologyTerm.parents.name       Gene
## 4                                publications.title       Gene
## 5                                              <NA>       Gene
## 6                                     pathways.name       Gene
## 7               GWASResults.study.publication.title        SNP
## 8  proteins.proteinDomainRegions.proteinDomain.name       Gene
## 9           proteinDomainRegions.proteinDomain.name    Protein
## 10                                             <NA>       <NA>
##                              title targets widgetType   chartType
## 1   GWAS study Enrichment for SNPs     SNP enrichment        <NA>
## 2          Chromosome Distribution     SNP      chart ColumnChart
## 3         Gene Ontology Enrichment    Gene enrichment        <NA>
## 4           Publication Enrichment    Gene enrichment        <NA>
## 5          Chromosome Distribution    Gene      chart ColumnChart
## 6               Pathway Enrichment    Gene enrichment        <NA>
## 7  Publication Enrichment for SNPs     SNP enrichment        <NA>
## 8        Protein Domain Enrichment    Gene enrichment        <NA>
## 9        Protein Domain Enrichment Protein enrichment        <NA>
## 10                    Interactions    Gene      table        <NA>
##                                                     filters             labels
## 1                                                      <NA>               <NA>
## 2                                      organism.name=[list] Chromosome & Count
## 3  biological_process,cellular_component,molecular_function               <NA>
## 4                                                      <NA>               <NA>
## 5                                      organism.name=[list] Chromosome & Count
## 6              All,KEGG pathways data set,Reactome data set               <NA>
## 7                                                      <NA>               <NA>
## 8                                                      <NA>               <NA>
## 9                                                      <NA>               <NA>
## 10                                                     <NA>               <NA>

HumanMine provides enrichment for genes, proteins and SNPs, but here we are interested only in the gene-related, enrichment widgets.

##   startClassDisplay
## 3 primaryIdentifier
## 4 primaryIdentifier
## 6 primaryIdentifier
## 8 primaryIdentifier
##                                                enrichIdentifier
## 3                  goAnnotation.ontologyTerm.parents.identifier
## 4                                         publications.pubMedId
## 6                                           pathways.identifier
## 8 proteins.proteinDomainRegions.proteinDomain.primaryIdentifier
##                           name
## 3       go_enrichment_for_gene
## 4       publication_enrichment
## 6           pathway_enrichment
## 8 prot_dom_enrichment_for_gene
##                                                              description
## 3                              GO terms enriched for items in this list.
## 4                          Publications enriched for genes in this list.
## 6 Pathways enriched for genes in this list - data from KEGG and Reactome
## 8                       Protein Domains enriched for items in this list.
##                                             enrich startClass
## 3           goAnnotation.ontologyTerm.parents.name       Gene
## 4                               publications.title       Gene
## 6                                    pathways.name       Gene
## 8 proteins.proteinDomainRegions.proteinDomain.name       Gene
##                       title targets widgetType chartType
## 3  Gene Ontology Enrichment    Gene enrichment      <NA>
## 4    Publication Enrichment    Gene enrichment      <NA>
## 6        Pathway Enrichment    Gene enrichment      <NA>
## 8 Protein Domain Enrichment    Gene enrichment      <NA>
##                                                    filters labels
## 3 biological_process,cellular_component,molecular_function   <NA>
## 4                                                     <NA>   <NA>
## 6             All,KEGG pathways data set,Reactome data set   <NA>
## 8                                                     <NA>   <NA>

The column names provides the character strings that can be passed as arguments to the doEnrichment function and thus define the type of enrichment analysis.

2.3 Perform enrichment analysis with InterMineR

We will perform Gene Ontology Enrichment analysis for the genes in our list using the Gene.id values and the ‘go_enrichment_for_gene’ widget.

As mentioned above ‘PL_DiabetesGenes’ constitutes a genelist which already exists in HumanMine. Therefore, the enrichment analysis could also be performed by passing the name of the list to the genelist argument, with the same results:

doEnrichment function returns a list which contains:

  • a data.frame with the results of the enrichment analysis which was performed in the defined InterMine platform. p-values are given after applying the correction algorithm. Count and populationAnnotationCount columns contain the number of genes that belong to each GO term in the list and in the background population respectively.
##   identifier                  description                 pValue count
## 1 GO:0030072    peptide hormone secretion 2.1755144439793055E-19    21
## 2 GO:0046879            hormone secretion 2.5519263616501493E-19    22
## 3 GO:0009914            hormone transport 2.7896877470720984E-19    22
## 4 GO:0030073            insulin secretion  5.571900265874161E-17    18
## 5 GO:0010817 regulation of hormone levels  4.706538432167902E-16    23
## 6 GO:0023061               signal release  5.167704266590907E-16    22
##   populationAnnotationCount
## 1                       252
## 2                       309
## 3                       316
## 4                       206
## 5                       527
## 6                       457
## [1] 636   5
  • the size of the reference background population (populationCount)
## [1] 16570
  • the number of input features that were not included in the enrichment analysis (notAnalyzed)
## [1] 5
  • the name and url of the Mine (im)
## $mine
##                             HumanMine 
## "https://www.humanmine.org/humanmine" 
## 
## $token
## [1] ""
  • the rest of the parameters used to perform the analysis (parameters)
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ids 
## "1179754,1026181,1194170,1139411,1019526,1205759,1267898,1051269,1220465,1043141,1264782,1062666,1195876,1238314,1085247,1006258,1162132,1238651,1048949,1002937,1154612,1184201,1212115,1262281,1092464,1064100,1048770,1123621,1163983,1074330,1201165,1181534,1155710,1245863,1020613,1058004,1229992,1271103,1045206,1254493,1135964,1240709,1066004,1033491,1013101,1195425,1026590,1132449,1219175,1185610,1087342,1062390,1185941,1124638,1077223,1009077,1192996,1272855,1140198,1014380,1130609,1147449,1029161,1238449,1101632" 
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    widget 
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  "go_enrichment_for_gene" 
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      maxp 
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    "0.05" 
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                correction 
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      "Benjamini Hochberg"

2.4 Apply filters on enrichment analysis

Some of the enrichment widgets contain filters which, when applied, limit the annotation types of the enrichment analysis.

In our example, if we want to retrieve only the enriched GO terms in our list of genes that are related to molecular function, we will use the appropriate filter:

## [1] "biological_process,cellular_component,molecular_function"
##   identifier                                 description                pValue
## 1 GO:0005158                    insulin receptor binding 0.0019448814407647707
## 2 GO:0005102                  signaling receptor binding  0.003104954634200088
## 3 GO:0005159 insulin-like growth factor receptor binding   0.03617583075770676
## 4 GO:0140297    DNA-binding transcription factor binding  0.041693720036744826
##   count populationAnnotationCount
## 1     4                        21
## 2    19                      1513
## 3     3                        16
## 4     8                       355
## [1] 4 5

2.5 Apply multiple test correction

To reduce the probability of false positive errors, three different multiple correction algorithms can be applied to the results of the enrichment analysis:

  • Benjamini Hochberg (default)
  • Holm-Bonferroni
  • Bonferroni

The application of one of these algorithms changes the p-values and determines the number of the results which will be returned from the analysis:

## NULL
##   identifier                                                description
## 1  IPR006897      Hepatocyte nuclear factor 1, beta isoform, C-terminal
## 2  IPR023219 Hepatocyte nuclear factor 1, N-terminal domain superfamily
## 3  IPR039066                                Hepatocyte nuclear factor 1
## 4  IPR006899                    Hepatocyte nuclear factor 1, N-terminal
## 5  IPR039011                                 Insulin receptor substrate
## 6  IPR006020                                              PTB/PI domain
##                  pValue count populationAnnotationCount
## 1 1.0687464151639772E-5     2                         2
## 2 1.0687464151639772E-5     2                         2
## 3 1.0687464151639772E-5     2                         2
## 4  3.199421086543514E-5     2                         3
## 5  3.199421086543514E-5     2                         3
## 6  3.087628392070152E-4     3                        40

3 Visualization of InterMineR Gene Ontology Enrichment analysis results

3.1 Convert InterMineR enrichment analysis results to a GeneAnswer-class object

In order to visualize the InterMineR enrichment analysis results, we will use the function convertToGeneAnswers. This function was created to facilitate the visualization of doEnrichment function results by converting them into a GeneAnswers-class object.

This way we can utilize the functions of the package GeneAnswers to visualize the results of the enrichment analysis and the relations between the features (e.g. genes) and/or the annoatation categories (e.g. GO terms) (Feng et al. 2010, 2012; Huang et al. 2014).

## [1] "GeneAnswers"
## attr(,"package")
## [1] "GeneAnswers"
## This GeneAnswers instance was build from GO based on hyperG test.
## Statistical information of 636 categories with p value less than 0.05 are reported. Other categories are considered as nonsignificant.
## There are 636 categories related to the given 68 genes
## 
## Summary of GeneAnswers instance information:
## 
## Slot: geneInput
##   GeneID
## 1   6833
## 2   1636
## 3    208
## 4  26060
## 5    359
## 6    551
## ......
## 
## Slot: testType
## [1] "hyperG"
## 
## Slot: pvalueT
## [1] 0.05
## 
## Slot: genesInCategory
## $`GO:0030072`
##  [1] "6833"   "640"    "11132"  "2645"   "3077"   "6927"   "6928"   "3172"  
##  [9] "3557"   "3569"   "3630"   "3667"   "8660"   "3710"   "3767"   "4544"  
## [17] "4760"   "3651"   "6514"   "169026" "6934"  
## 
## $`GO:0046879`
##  [1] "6833"   "640"    "11132"  "2645"   "3077"   "6927"   "6928"   "3172"  
##  [9] "3557"   "3569"   "3630"   "3667"   "8660"   "3710"   "3767"   "4544"  
## [17] "4760"   "3651"   "56729"  "6514"   "169026" "6934"  
## 
## $`GO:0009914`
##  [1] "6833"   "640"    "11132"  "2645"   "3077"   "6927"   "6928"   "3172"  
##  [9] "3557"   "3569"   "3630"   "3667"   "8660"   "3710"   "3767"   "4544"  
## [17] "4760"   "3651"   "56729"  "6514"   "169026" "6934"  
## 
## $`GO:0030073`
##  [1] "6833"   "640"    "11132"  "2645"   "6927"   "6928"   "3172"   "3557"  
##  [9] "3667"   "8660"   "3710"   "3767"   "4544"   "4760"   "3651"   "6514"  
## [17] "169026" "6934"  
## 
## $`GO:0010817`
##  [1] "6833"   "1636"   "640"    "11132"  "2645"   "3077"   "6927"   "6928"  
##  [9] "3172"   "3557"   "3569"   "3630"   "3667"   "8660"   "3710"   "3767"  
## [17] "4544"   "4760"   "3651"   "56729"  "6514"   "169026" "6934"  
## 
## $`GO:0023061`
##  [1] "6833"   "640"    "11132"  "2645"   "3077"   "6927"   "6928"   "3172"  
##  [9] "3557"   "3569"   "3630"   "3667"   "8660"   "3710"   "3767"   "4544"  
## [17] "4760"   "3651"   "56729"  "6514"   "169026" "6934"  
## 
## ......
## 
## Slot: geneExprProfile
## NULL
## 
## Slot: annLib
## [1] "org.Hs.eg.db"
## 
## Slot: categoryType
## [1] "GO"
## 
## Slot: enrichmentInfo
##            genes in Category percent in the observed List percent in the genome
## GO:0030072                21                    0.3088235            0.01520821
## GO:0046879                22                    0.3235294            0.01864816
## GO:0009914                22                    0.3235294            0.01907061
## GO:0030073                18                    0.2647059            0.01243211
## GO:0010817                23                    0.3382353            0.03180447
## GO:0023061                22                    0.3235294            0.02757996
##            fold of overrepresents odds ratio      p value  fdr p value
## GO:0030072               20.30637   28.93262 2.175514e-19 2.175514e-19
## GO:0046879               17.34913   25.16828 2.551926e-19 2.551926e-19
## GO:0009914               16.96482   24.60017 2.789688e-19 2.789688e-19
## GO:0030073               21.29212   28.59728 5.571900e-17 5.571900e-17
## GO:0010817               10.63484   15.55931 4.706538e-16 4.706538e-16
## GO:0023061               11.73060   16.86262 5.167704e-16 5.167704e-16
## ......

GeneAnswers is package designed for the enrichment analysis and visualization of gene lists. It is worth mentioning that the InterMineR filters for the widgets of Gene Ontology and Pathway Enrichment:

## [1] "biological_process,cellular_component,molecular_function"
## [2] "All,KEGG pathways data set,Reactome data set"

match the following available values:

InterMineR widget name InterMineR filter convertToGeneAnswers categoryType
go_enrichment_for_gene biological_process GO.BP
go_enrichment_for_gene cellular_component GO.CC
go_enrichment_for_gene molecular_function GO.MF
pathway_enrichment KEGG pathways data set KEGG
pathway_enrichment Reactome data set REACTOME.PATH

for the categoryType argument of the geneAnswerBuilder function, and can be assigned accordingly in the categoryType argument of the convertToGeneAnswers, therby facilitating the conversion of InterMineR Gene Ontology and Pathway Enrichment analysis results to GeneAnswers-class objects.

## [1] "GeneAnswers"
## attr(,"package")
## [1] "GeneAnswers"
## This GeneAnswers instance was build from GO.MF based on hyperG test.
## Statistical information of 4 categories with p value less than 0.05 are reported. Other categories are considered as nonsignificant.
## There are 4 categories related to the given 68 genes
## 
## Summary of GeneAnswers instance information:
## 
## Slot: geneInput
##   GeneID
## 1   6833
## 2   1636
## 3    208
## 4  26060
## 5    359
## 6    551
## ......
## 
## Slot: testType
## [1] "hyperG"
## 
## Slot: pvalueT
## [1] 0.05
## 
## Slot: genesInCategory
## $`GO:0005158`
## [1] "3630" "3667" "8660" "5770"
## 
## $`GO:0005102`
##  [1] "1636"  "551"   "640"   "2056"  "3077"  "3082"  "3159"  "3172"  "3557" 
## [10] "3569"  "3630"  "3643"  "3667"  "8660"  "5468"  "5770"  "56729" "6934" 
## [19] "7422" 
## 
## $`GO:0005159`
## [1] "3630" "3643" "3667"
## 
## $`GO:0140297`
## [1] "50943" "3159"  "3172"  "4760"  "5468"  "6925"  "6934"  "7466" 
## 
## 
## Slot: geneExprProfile
## NULL
## 
## Slot: annLib
## [1] "org.Hs.eg.db"
## 
## Slot: categoryType
## [1] "GO.MF"
## 
## Slot: enrichmentInfo
##            genes in Category percent in the observed List percent in the genome
## GO:0005158                 4                   0.05882353          0.0012728816
## GO:0005102                19                   0.27941176          0.0917080858
## GO:0005159                 3                   0.04411765          0.0009698145
## GO:0140297                 8                   0.11764706          0.0215177597
##            fold of overrepresents odds ratio     p value fdr p value
## GO:0005158              46.212885  49.038690 0.001944881 0.001944881
## GO:0005102               3.046752   3.840390 0.003104955 0.003104955
## GO:0005159              45.490809  47.544231 0.036175831 0.036175831
## GO:0140297               5.467440   6.063099 0.041693720 0.041693720

Briefly, in the following sections we present how to use several functions of the GeneAnswers package to visualize the results of the Gene Ontology Enrichment analysis on the PL_DiabetesGenes gene list.

For more information about the usage of GeneAnswers package, the user should look at the respective documentation.

3.3 Concept-gene network

Figure 3: Screen shot of concept-gene network for the first five GO terms. The size of nodes is proportional to the number of genes in each GO term.

The color of gene nodes can be changed based on the numeric values associated with the genes.

Figure 4: Screen shot of concept-gene network for the first five GO terms. Random numeric values have been assigned as column to geneInput in order to visualize the ability to add color to gene nodes. The size of nodes is proportional to the number of genes in each GO term.

3.4 Gene Ontology structure network

Figure 5: Screen shot of Gene Ontology structure network for the first two GO terms. The size of nodes is proportional to number of genes in these GO terms. The color of nodes stand for how relative the given genes are to the GO terms. More red, more relative. The given GO terms are yellow framed dots with dark purple edges as connections.

3.5 Gene interaction network

The functions of GeneAnswers package make use of several Bioconductor Annotation Packages, which are primarily based on Entrez Gene identifiers.

In our example, GeneAnswers uses the annotation package ‘org.Hs.eg.db’, which was specified previously in convertToGeneAnswers function, to retrieve gene interactions for the specified genes.

Figure 6: Screen shot of gene interaction network for the first five genes of PL_DiabetesGenes. The large black dots with yellow frame stand for the five given genes. They also connect to other genes by dark-blue-purple edges. Small black dots represent the other genes from getGeneInput. Small white dots are genes that are not in the genes from getGeneInput, but interact with these genes.

3.6 Gene Ontology terms - Genes cross tabulation

## initial  value 27.345026 
## final  value 27.345026 
## converged
## initial  value 0.000000 
## final  value 0.000000 
## converged

4 Visualization of InterMineR Publication Enrichment analysis results

4.1 Perform Publication Enrichment analysis

Although GeneAnswers package is designed for performing enrichment analysis on genes and reporting enriched pathways, it is possible to utilize some of its functions to visualize the results of the various enrichment widgets used by InterMineR.

Specifically in the current example we will show how to perform visualizations on publication enrichment analysis results.

Since we are performing conversion of enrichment results that are not related to pathways there are three things to notice here:

  • We are deliberately assign Gene.symbol instead of Gene.primaryIdentifier values as geneInput. This will result in a more readable concept-gene network and can be changed in order to generate the gene interaction network.
  • annLib argument is assigned with ‘org.Hs.eg.db’ as before
  • categoryType is assigned with NULL since we no longer use GO terms but PubMed IDs (Gene.publications.pubMedId) as annotation categories.
## [1] "GeneAnswers"
## attr(,"package")
## [1] "GeneAnswers"
## This GeneAnswers instance was build from  based on hyperG test.
## Statistical information of 1317 categories with p value less than 0.05 are reported. Other categories are considered as nonsignificant.
## There are 1317 categories related to the given 68 genes
## 
## Summary of GeneAnswers instance information:
## 
## Slot: geneInput
##   GeneID
## 1  ABCC8
## 2    ACE
## 3   AKT2
## 4  APPL1
## 5   AQP2
## 6    AVP
## ......
## 
## Slot: testType
## [1] "hyperG"
## 
## Slot: pvalueT
## [1] 0.05
## 
## Slot: genesInCategory
## $`29792621`
##  [1] "ABCC8"   "APPL1"   "BLK"     "CEL"     "GCK"     "HNF1A"   "HNF1B"  
##  [8] "HNF4A"   "INS"     "KCNJ11"  "KLF11"   "NEUROD1" "PAX4"    "PDX1"   
## 
## $`19578796`
##  [1] "ABCC8"  "ACE"    "CAPN10" "CCR5"   "ENPP1"  "GCGR"   "GCK"    "HNF1A" 
##  [9] "HNF4A"  "IL6"    "INS"    "INSR"   "IRS1"   "KCNJ11" "LIPC"   "CAPN10"
## [17] "PAX4"   "PDX1"   "PON1"   "PPARG"  "PTPN1"  "RETN"   "VEGFA" 
## 
## $`19913121`
##  [1] "ABCC8"   "ACE"     "AKT2"    "AVPR2"   "CCR5"    "CDKAL1"  "CEL"    
##  [8] "CTLA4"   "EIF2AK3" "ENPP1"   "EPO"     "GCK"     "HFE"     "HGF"    
## [15] "HMGA1"   "HNF1A"   "HNF1B"   "HNF4A"   "IGF2BP2" "IL1RN"   "IL2RA"  
## [22] "IL6"     "INS"     "INSR"    "IRS1"    "IRS2"    "ITPR3"   "KCNJ11" 
## [29] "LIPC"    "NEUROD1" "PDX1"    "PON1"    "PPARG"   "PTPN22"  "RETN"   
## [36] "SLC2A2"  "SOD2"    "TCF7L2"  "VEGFA"   "WFS1"   
## 
## $`20628086`
##  [1] "ABCC8"   "ACE"     "AKT2"    "AVPR2"   "CCR5"    "CDKAL1"  "CEL"    
##  [8] "CTLA4"   "EIF2AK3" "ENPP1"   "EPO"     "GCK"     "HFE"     "HGF"    
## [15] "HMGA1"   "HNF1A"   "HNF1B"   "HNF4A"   "IGF2BP2" "IL1RN"   "IL2RA"  
## [22] "IL6"     "INS"     "INSR"    "IRS1"    "IRS2"    "ITPR3"   "KCNJ11" 
## [29] "LIPC"    "NEUROD1" "PDX1"    "PON1"    "PPARG"   "PTPN22"  "RETN"   
## [36] "SLC2A2"  "SOD2"    "TCF7L2"  "VEGFA"   "WFS1"   
## 
## $`20682687`
##  [1] "ABCC8"   "ACE"     "CAPN10"  "GCK"     "HNF1A"   "HNF1B"   "HNF4A"  
##  [8] "IL6"     "IRS1"    "KCNJ11"  "LIPC"    "NEUROD1" "CAPN10"  "PDX1"   
## [15] "PPARG"   "PTPN1"  
## 
## $`20384434`
##  [1] "ABCC8"   "CDKAL1"  "HNF1B"   "HNF4A"   "IGF2BP2" "IL6"     "IRS1"   
##  [8] "KCNJ11"  "LIPC"    "PPARG"   "SLC30A8" "TCF7L2"  "WFS1"   
## 
## ......
## 
## Slot: geneExprProfile
## NULL
## 
## Slot: annLib
## [1] "org.Hs.eg.db"
## 
## Slot: categoryType
## NULL
## 
## Slot: enrichmentInfo
##          genes in Category percent in the observed List percent in the genome
## 29792621                14                    0.2058824          0.0004275331
## 19578796                22                    0.3235294          0.0046417883
## 19913121                40                    0.5882353          0.0677945398
## 20628086                40                    0.5882353          0.0673059305
## 20682687                15                    0.2205882          0.0015574421
## 20384434                13                    0.1911765          0.0008245282
##          fold of overrepresents odds ratio      p value  fdr p value
## 29792621             481.558824  606.14815 2.079274e-33 2.079274e-33
## 19578796              69.699303  102.55549 3.105243e-30 3.105243e-30
## 19913121               8.676736   19.64350 2.454261e-25 2.454261e-25
## 20628086               8.739725   19.79647 2.475256e-25 2.475256e-25
## 20682687             141.634948  181.43729 1.962157e-24 1.962157e-24
## 20384434             231.861656  286.42896 4.286080e-24 4.286080e-24
## ......

4.2 PieChart and BarPlot graphs

Figure 7: Pie chart of the top five PubMed IDs with the smallest FDR-corrected p-values.

Figure 8: Bar plot of the top five PubMed IDs with the smallest FDR-corrected p-values.

4.3 Concept-gene network

It is important to note that the arguments catTerm and catID are assigned with FALSE. This is because the function is not expecting PubMed IDs as annotation categories and it will fail to convert them to short descriptions (as it would do with GO terms or KEGG and REACTOME pathways).

Figure 9: Screen shot of concept-gene network for the first five PubMed IDs. The size of nodes is proportional to the number of genes in each PubMed ID.

4.4 Gene interaction network

To generate a gene interaction network it is necessary to replace Gene.symbol with Gene.primaryIdentifier values because buildNet function retrieves gene interactions from the ‘org.Hs.eg.db’ package, which uses ENTREZ identifiers for mapping.

Figure 10: Screen shot of gene interaction network for the first five genes of PL_DiabetesGenes. The large black dots with yellow frame stand for the five given genes. They also connect to other genes by dark-blue-purple edges. Small black dots represent the other genes from getGeneInput. Small white dots are genes that are not in the genes from getGeneInput, but interact with these genes.

5 System info

## R version 4.0.0 (2020-04-24)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 18.04.4 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.11-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.11-bioc/R/lib/libRlapack.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=C                  LC_COLLATE=C              
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] org.Hs.eg.db_3.10.0  GO.db_3.10.0         GeneAnswers_2.30.0  
##  [4] RColorBrewer_1.1-2   Heatplus_2.34.0      MASS_7.3-51.6       
##  [7] RSQLite_2.2.0        annotate_1.66.0      XML_3.99-0.3        
## [10] AnnotationDbi_1.50.0 IRanges_2.22.0       S4Vectors_0.26.0    
## [13] Biobase_2.48.0       BiocGenerics_0.34.0  RCurl_1.98-1.2      
## [16] igraph_1.2.5         InterMineR_1.10.0    BiocStyle_2.16.0    
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_1.0.4.6                lattice_0.20-41            
##  [3] Biostrings_2.56.0           digest_0.6.25              
##  [5] R6_2.4.1                    GenomeInfoDb_1.24.0        
##  [7] chron_2.3-55                evaluate_0.14              
##  [9] httr_1.4.1                  sqldf_0.4-11               
## [11] zlibbioc_1.34.0             rlang_0.4.5                
## [13] curl_4.3                    blob_1.2.1                 
## [15] magick_2.3                  Matrix_1.2-18              
## [17] rmarkdown_2.1               gsubfn_0.7                 
## [19] proto_1.0.0                 downloader_0.4             
## [21] stringr_1.4.0               bit_1.1-15.2               
## [23] DelayedArray_0.14.0         compiler_4.0.0             
## [25] xfun_0.13                   pkgconfig_2.0.3            
## [27] htmltools_0.4.0             SummarizedExperiment_1.18.0
## [29] GenomeInfoDbData_1.2.3      bookdown_0.18              
## [31] matrixStats_0.56.0          crayon_1.3.4               
## [33] bitops_1.0-6                grid_4.0.0                 
## [35] RBGL_1.64.0                 jsonlite_1.6.1             
## [37] xtable_1.8-4                DBI_1.1.0                  
## [39] magrittr_1.5                graph_1.66.0               
## [41] stringi_1.4.6               XVector_0.28.0             
## [43] xml2_1.3.2                  vctrs_0.2.4                
## [45] tools_4.0.0                 RJSONIO_1.3-1.4            
## [47] bit64_0.9-7                 yaml_2.2.1                 
## [49] BiocManager_1.30.10         GenomicRanges_1.40.0       
## [51] memoise_1.1.0               knitr_1.28

References

Feng, Gang, Pan Du, Nancy L Krett, Michael Tessel, Steven Rosen, Warren A Kibbe, and Simon M Lin. 2010. “A collection of bioconductor methods to visualize gene-list annotations.” BMC Research Notes 3 (1):10. https://doi.org/10.1186/1756-0500-3-10.

Feng, Gang, Pamela Shaw, Steven T. Rosen, Simon M. Lin, and Warren A. Kibbe. 2012. “Using the Bioconductor GeneAnswers Package to Interpret Gene Lists.” In Methods in Molecular Biology (Clifton, N.j.), 802:101–12. https://doi.org/10.1007/978-1-61779-400-1_7.

Huang, Lei, Gang Feng, Pan Du, Tian Xia, Xishu Wang, Jing Wen, Warren Kibbe, and Simon Lin. 2014. “GeneAnswers: Integrated Interpretation of Genes.” Bioconductor. https://www.bioconductor.org/packages/release/bioc/html/GeneAnswers.html.

Kalderimis, Alex, Rachel Lyne, Daniela Butano, Sergio Contrino, Mike Lyne, Joshua Heimbach, Fengyuan Hu, et al. 2014. “InterMine: extensive web services for modern biology.” Nucleic Acids Research 42 (Web Server issue). Oxford University Press:W468–72. https://doi.org/10.1093/nar/gku301.

Smith, R. N., J. Aleksic, D. Butano, A. Carr, S. Contrino, F. Hu, M. Lyne, et al. 2012. “InterMine: a flexible data warehouse system for the integration and analysis of heterogeneous biological data.” Bioinformatics 28 (23):3163–5. https://doi.org/10.1093/bioinformatics/bts577.