Directly quoting the the paper published by PANTHER (Protein Analysis THrough Evolutionary Relationships) authors:
The PANTHER classification system (https://www.pantherdb.org) a comprehensive system that combines genomes, gene function , pathways and statistical analysis tools to enable to analyze large-scale genome-wide experimental data. The system (PANTHER v.14.0) covers 131 complete genomes organized gene families and subfamilies; evolutionary relationships between are represented in phylogenetic trees, multiple sequence and statistical models (hidden Markov models (HMMs)). The families and subfamilies are annotated with Gene Ontology (GO) terms, sequences are assigned to PANTHER pathways. A suite of tools has built to allow users to browse and query gene functions and analyze-scale experimental data with a number of statistical tests. is widely used by bench scientists, bioinformaticians, computer and systems biologists.
(source: Mi, Huaiyu, et al. “Protocol Update for large-scale genome and gene function analysis with the PANTHER classification system (v. 14.0).” Nature protocols 14.3 (2019): 703-721)
The available tools in PANTHER’s RESTful API services can be divided into 3 broad categories: Mapping genes, retrieving information, and research tools. Herein, we provide a very short introduction; you can always check functions’ manuals for detailed guides and examples.
rba_panther_mapping()
: map your gene-set to PANTHER
database and retrieve attributes and annotations associated with your
genes
rba_panther_ortholog()
: Retrieve Orthologs of your
genes
rba_panther_homolog()
: Retrieve Homologs of your
genes
rba_panther_info
(): Retrieve a list of PANTHER’s
supported organisms, datasets, families, or pathways
rba_panther_family
(): Retrieve Orthologs, MSA, or
Tree topology of a given PANTHER family.
rba_panther_enrich()
is an equivalent to Gene List analysis tool’s
webpage.. Here is a usage example:
## 1 We get the available annotation datasets in PANTHER (we need to select one of them to submit an enrichment request)
annots <- rba_panther_info(what = "datasets")
#> Retrieving available annotation datasets.
# Note that you should enter the "id" of the datasets, not its label (e.g. entering "biological_process" is incorrect, you should rather enter "GO:0008150").
## 2 We create a variable with our genes' IDs
genes <- c("p53", "BRCA1", "cdk2", "Q99835", "CDC42","CDK1","KIF23","PLK1",
"RAC2","RACGAP1","RHOA","RHOB", "PHF14", "RBM3", "MSL1")
## 3 Now we can submit the enrichment request.
enriched <- rba_panther_enrich(genes = genes,
organism = 9606,
annot_dataset = "ANNOT_TYPE_ID_PANTHER_PATHWAY",
cutoff = 0.05)
#> Performing over-representation enrichment analysis of 15 input genes of organism 9606 against ANNOT_TYPE_ID_PANTHER_PATHWAY datasets.
Please Note: Other services supported by rbioapi also provide Over-representation analysis tools. Please see the vignette article Do with rbioapi: Over-Representation (Enrichment) Analysis in R (link to the documentation site) for an in-depth review.
rba_panther_tree_grafter()
is an equivalent to the “Graft
sequence into PANTHER library of trees” tool.
To cite PANTHER (Please see https://www.pantherdb.org/publications.jsp#HowToCitePANTHER):
To cite rbioapi:
#> R version 4.3.3 (2024-02-29 ucrt)
#> Platform: x86_64-w64-mingw32/x64 (64-bit)
#> Running under: Windows 11 x64 (build 22631)
#>
#> Matrix products: default
#>
#>
#> locale:
#> [1] LC_COLLATE=C
#> [2] LC_CTYPE=English_United States.utf8
#> [3] LC_MONETARY=English_United States.utf8
#> [4] LC_NUMERIC=C
#> [5] LC_TIME=English_United States.utf8
#>
#> time zone: Europe/Brussels
#> tzcode source: internal
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] rbioapi_0.8.1
#>
#> loaded via a namespace (and not attached):
#> [1] digest_0.6.35 R6_2.5.1 fastmap_1.1.1 xfun_0.43
#> [5] magrittr_2.0.3 cachem_1.0.8 knitr_1.45 htmltools_0.5.8
#> [9] rmarkdown_2.26 lifecycle_1.0.4 DT_0.32 cli_3.6.2
#> [13] sass_0.4.9 jquerylib_0.1.4 compiler_4.3.3 httr_1.4.7
#> [17] rstudioapi_0.16.0 tools_4.3.3 curl_5.2.1 evaluate_0.23
#> [21] bslib_0.6.2 yaml_2.3.8 htmlwidgets_1.6.4 rlang_1.1.3
#> [25] jsonlite_1.8.8 crosstalk_1.2.1