---
title: "99. Code for figures from HPAanalyze paper"
author:
- name: Anh N. Tran
  affiliation: DataGrata LLC
  email: trannhatanh89@gmail.com
date: 6/18/2019
output: 
    BiocStyle::html_document:
        toc: true
        toc_depth: 2
        toc_float: true
        number_sections: true
vignette: >
  %\VignetteIndexEntry{"99. Code for figures from HPAanalyze paper"}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(
  collapse=TRUE,
  comment="#>",
  warning=FALSE,
  error=FALSE,
  eval=FALSE
)
```

```{r library, message=FALSE, warning=FALSE, error=FALSE}
library(BiocStyle)
library(HPAanalyze)
library(dplyr)
library(ggplot2)
```

```{r}
data <- hpaDownload(downloadList = "histology", 
                    version = "v18")
```

This code will only work with the version of HPAanalyze that is used to generate the figures in the paper. Due to subsequent updates to the package, the code may not work with the latest version of HPAanalyze.

# Figure 2

```{r}
gene_list_2 <- c("TP53", "EGFR", "CD44", "PTEN", "IDH1", "IDH2", "CYCS")

# Panel 2A
tissue_list_2 <- c("skin 1", "cerebellum", "breast")

plot_2a <-
  hpaVisTissue(data = data,
               targetGene = gene_list_2,
               targetTissue = tissue_list_2,
               color = c("#eff3ff", "#bdd7e7","#6baed6", "#2171b5"))

ggsave(filename = "plot_2a.pdf",
       plot = plot_2a,
       device = "pdf")

# Panel 2B
cancer_list_2 <- c("breast cancer", "glioma", "lymphoma", "prostate cancer")

plot_2b <-
  hpaVisPatho(data = data,
              targetGene = gene_list_2,
              targetCancer = cancer_list_2)

ggsave(filename = "plot_2b.pdf",
       plot = plot_2b,
       device = "pdf",
       width = 7,
       height = 5)

# Panel 2C
plot_2c <-
  hpaVisSubcell(data = data,
                targetGene = gene_list_2,
                color = c("white", "black"),
                reliability = c("enhanced", "supported", "approved"))

ggsave(filename = "plot_2c.pdf",
       plot = plot_2c,
       device = "pdf")
```


# Figure 3

```{r}
gene_list_3 <- 
  c("GFAP", "EGFR", "PDGFRA", "PIK3CA", "PTEN", "BRAF", "MDM2", "MDM4", "CDK4")

# Panel 3A
tissue_list_3 <- c("hippocampus", "cerebral cortex")

plot_3a <-
  hpaVisTissue(data = data,
               targetGene = gene_list_3,
               targetTissue = tissue_list_3,
               color = c("#eff3ff", "#bdd7e7","#6baed6", "#2171b5"))

ggsave(filename = "plot_3a.pdf",
       plot = plot_3a,
       device = "pdf",
       width = 7,
       height = 5)

# Panel 3B
plot_3b <-
  hpaVisPatho(data = data,
              targetGene = gene_list_3,
              targetCancer = "glioma")

ggsave(filename = "plot_3b.pdf",
       plot = plot_3b,
       device = "pdf",
       width = 7,
       height = 5)

# Panel 3C
gene_list_3c <- c("PTEN", "H3F3A", "DAXX", "PML")

plot_3c <-
  hpaVisSubcell(data = data,
                targetGene = gene_list_3c,
                color = c("white", "black"),
                reliability = c("enhanced", "supported", "approved"))

ggsave(filename = "plot_3c.pdf",
       plot = plot_3c,
       device = "pdf",
       width = 4,
       height = 3)
```


# Figure 4

```{r}
gene_list_4 <- c("GCH1", "PTS", "SPR", "DHFR")

# Panel 4A
tissue_list_4 <- c("hippocampus", "cerebral cortex", "caudate")

plot_4a <-
  hpaVisTissue(data = data,
               targetGene = gene_list_4,
               targetTissue = tissue_list_4,
               color = c("#eff3ff", "#bdd7e7","#6baed6", "#2171b5"))

ggsave(filename = "plot_4a.pdf",
       plot = plot_4a,
       device = "pdf",
       width = 5,
       height = 4)

# Panel 4B
plot_4b <-
  hpaVisPatho(data = data,
              targetGene = gene_list_4,
              targetCancer = "glioma")

ggsave(filename = "plot_4b.pdf",
       plot = plot_4b,
       device = "pdf",
       width = 5,
       height = 4)

# Panel 4C
# Figure was generated with the GlioVis portal http://gliovis.bioinfo.cnio.es/
# Accessed: June 19, 2019
#
# Plotting:
# Navigate through tabs: Explore > Survival > Kaplan-Meier > Plot
#
# Parameters: 
#    - Dataset: Adult Rembrandt
#    - Gene: SPR or DHFR
#    - Histology: All
#    - Subtype: All
#    - Cutoff: Median
#    - Plot options: use default options
#    - Download: use default options
#
# Retrieving plotting data: (same parameters)
# Navigate through tabs: Explore > Survival > Kaplan-Meier > Plot
# Buttons: Download > CSV

# Panel 4D
plot_4d <-
  hpaVisSubcell(data = data,
                targetGene = gene_list_4,
                color = c("white", "black"),
                reliability = c("enhanced", "supported", "approved"))

ggsave(filename = "plot_4d.pdf",
       plot = plot_4d,
       device = "pdf",
       width = 4,
       height = 3)
```

# Figure 5

```{r}
hpaSubset(data = data,
          targetGene = "SLC2A3",
          targetTissue = c("hippocampus", "cerebral cortex", "caudate"),
          targetCellType = "glial cells",
          targetCancer = "glioma")

# $normal_tissue
# # A tibble: 3 x 6
#   ensembl         gene   tissue          cell_type   level        reliability
#   <chr>           <chr>  <chr>           <chr>       <chr>        <chr>      
# 1 ENSG00000059804 SLC2A3 caudate         glial cells Not detected Approved   
# 2 ENSG00000059804 SLC2A3 cerebral cortex glial cells Not detected Approved   
# 3 ENSG00000059804 SLC2A3 hippocampus     glial cells Not detected Approved   
# 
# $pathology
# # A tibble: 1 x 11
#   ensembl gene  cancer  high medium   low not_detected prognostic_favo~
#   <chr>   <chr> <chr>  <dbl>  <dbl> <dbl>        <dbl>            <dbl>
# 1 ENSG00~ SLC2~ glioma     1      2     1            8               NA
# # ... with 3 more variables: unprognostic_favorable <dbl>,
# #   prognostic_unfavorable <dbl>, unprognostic_unfavorable <dbl>
# 
# $subcellular_location
# # A tibble: 1 x 11
#   ensembl gene  reliability enhanced supported approved uncertain single_cell_var~
#   <chr>   <chr> <chr>       <chr>    <chr>     <chr>    <chr>     <chr>           
# 1 ENSG00~ SLC2~ Approved    NA       NA        Plasma ~ NA        NA              
# # ... with 3 more variables: single_cell_var_spatial <chr>,
# #   cell_cycle_dependency <chr>, go_id <chr>


SLC2A3xml <- hpaXmlGet("SLC2A3", version = "v18")

SLC2A3_ab <- hpaXmlAntibody(SLC2A3xml)
SLC2A3_ab
#   id        releaseDate releaseVersion RRID      
#   <chr>     <chr>       <chr>          <chr>     
# 1 CAB002763 2006-03-13  1.2            NA        
# 2 HPA006539 2008-02-15  3.1            AB_1078984

SLC2A3_expr <- hpaXmlTissueExpr(SLC2A3xml)
str(SLC2A3_expr[[1]])
# Classes ‘tbl_df’, ‘tbl’ and 'data.frame':	330 obs. of  18 variables:
#  $ patientId         : chr  "2212" "2374" "2068" "2154" ...
#  $ age               : chr  "35" "44" "38" "66" ...
#  $ sex               : chr  "Male" "Female" "Male" "Female" ...
#  $ staining          : chr  NA NA NA NA ...
#  $ intensity         : chr  NA NA NA NA ...
#  $ quantity          : chr  NA NA NA NA ...
#  $ location          : chr  NA NA NA NA ...
#  $ imageUrl          : chr  "http://v18.proteinatlas.org/images/2763/6778_B_4_5.jpg" "http://v18.proteinatlas.org/images/2763/6778_B_5_5.jpg" "http://v18.proteinatlas.org/images/2763/6778_A_3_2.jpg" "http://v18.proteinatlas.org/images/2763/6778_A_1_2.jpg" ...
#  $ snomedCode1       : chr  "M-00100" "M-00100" "M-00100" "M-00100" ...
#  $ snomedCode2       : chr  "T-93000" "T-93000" "T-66000" "T-66000" ...
#  $ snomedCode3       : chr  NA NA NA NA ...
#  $ snomedCode4       : chr  NA NA NA NA ...
#  $ snomedCode5       : chr  NA NA NA NA ...
#  $ tissueDescription1: chr  "Normal tissue, NOS" "Normal tissue, NOS" "Normal tissue, NOS" "Normal tissue, NOS" ...
#  $ tissueDescription2: chr  "Adrenal gland" "Adrenal gland" "Appendix" "Appendix" ...
#  $ tissueDescription3: chr  NA NA NA NA ...
#  $ tissueDescription4: chr  NA NA NA NA ...
#  $ tissueDescription5: chr  NA NA NA NA ...

dir.create("img")

SLC2A3_norm <-
  SLC2A3_expr[[1]] %>%
  filter(tissueDescription1 == "Normal tissue, NOS") %>%
  filter(tissueDescription2 %in% c("Cerebral cortex", "Hippocampus", "Lateral ventricle wall"))

for (i in 1:nrow(SLC2A3_norm)) {
    download.file(SLC2A3_norm$imageUrl[i],
                  destfile = paste0("img/", SLC2A3_ab$id[1], "_",
                                    SLC2A3_norm$patientId[i], "_", 
                                    SLC2A3_norm$tissueDescription2[i], "_", 
                                    SLC2A3_norm$staining[i],
                                    ".jpg"),
                  mode = "wb")
}

SLC2A3_glioma <-
  SLC2A3_expr[[1]] %>%
  filter(tissueDescription1 %in% c("Glioma, malignant, High grade", "Glioma, malignant, Low grade", "Glioma, malignant, NOS"))

for (i in 1:nrow(SLC2A3_glioma)) {
    download.file(SLC2A3_glioma$imageUrl[i],
                  destfile = paste0("img/", SLC2A3_ab$id[1], "_",
                                    SLC2A3_glioma$patientId[i], "_", 
                                    SLC2A3_glioma$tissueDescription1[i], "_", 
                                    SLC2A3_glioma$staining[i],
                                    ".jpg"),
                  mode = "wb")
}
```

# Copyright

__Anh Tran, 2018-2025 __

Please cite: __Tran, A.N., Dussaq, A.M., Kennell, T. et al. HPAanalyze: an R package that facilitates the retrieval and analysis of the Human Protein Atlas data. BMC Bioinformatics 20, 463 (2019) https://doi.org/10.1186/s12859-019-3059-z __
