ANALISIS POR PACIENTE

1. IMPORTACIÓN DE DATOS

1.2 Importación de base de datos de genes INMUNES

1.2 Estableciendo las rutas para importar base de datos de RNA-seq por experimento

1.3 Importando la lista de base de datos de ESPECIFICACIONES

La base de datos está organizada de forma “transpuesta”, es decir que las variablese están en la columna uno (V1) y los datos en el resto de columnas, por lo que vamos a transponer la base de datos y vamos a usar los nombres de la columna uno para generar la nueva base de datos

## Warning: package 'tidyverse' was built under R version 4.0.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.2     v purrr   0.3.4
## v tibble  3.0.4     v dplyr   1.0.2
## v tidyr   1.1.2     v stringr 1.4.0
## v readr   1.4.0     v forcats 0.5.0
## Warning: package 'tibble' was built under R version 4.0.3
## Warning: package 'readr' was built under R version 4.0.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

De esta base de datos necesitamos saber los valores de las columnas 1, 2, 13 y 14. Por lo que vamos a crear una segunda base de datos llamada “data.info.2”, contniendo estas cuatro columnas.

Ahora vamos a darle formato a la base de datos, quitaremos el patrón “patient id:” de la columna 3, y “facs gate:” de la columna 4. Además renombrarmos las columnas a “title”, “geo.accs”, “patient”, “cd”. Además agragaremos una columna donde se fusionarán las columnas 1 y 2 separadas por un guión bajo (para luego importar estas de las bases de datos de secuenciación)

Eel nombre de los pacientes contiene información como:

Por que vamos a generar columnas para estos datos por separado y lo vamos a unir a la base de datos data.info.2

##  [1] "patient.2"    "stage"        "localization" "tto"          "m.meta"      
##  [6] "title"        "geo.accs"     "patient"      "cd"           "name"

2. ECALUACIÓN POR PACIENTE

El siguiente análisis es para ver como cambia la tendencia si se evalúa un mismo paciente pero por difrentes CD

p3 <- subset(x=data.info.2, subset = patient.2 == "p3")
table(p3$cd)
## 
##        CD3 CD3 & CD45       CD45 
##          5          8          5
head(p3)
##                  name patient.2   cd stage localization tto m.meta     patient
## V35 GSM3496318_AB2504        p3  CD3     4           LN mIT   <NA> p3-4-LN-mIT
## V36 GSM3496319_AB2505        p3  CD3     4           LN mIT   <NA> p3-4-LN-mIT
## V37 GSM3496320_AB2506        p3  CD3     4           LN mIT   <NA> p3-4-LN-mIT
## V38 GSM3496321_AB2507        p3  CD3     4           LN mIT   <NA> p3-4-LN-mIT
## V39 GSM3496322_AB2508        p3 CD45     4           LN mIT   <NA> p3-4-LN-mIT
## V40 GSM3496323_AB2509        p3 CD45     4           LN mIT   <NA> p3-4-LN-mIT

2.1 Trabajando con el grupo CD3 & CD45

p3.CD3.CD45 <- subset(x = p3, cd == "CD3 & CD45")
p3.CD3.CD45
##                  name patient.2         cd stage localization tto m.meta
## V43 GSM3496326_AB2512        p3 CD3 & CD45     4           LN mIT   <NA>
## V44 GSM3496327_AB2513        p3 CD3 & CD45     4           LN mIT   <NA>
## V45 GSM3496328_AB2514        p3 CD3 & CD45     4           LN mIT   <NA>
## V46 GSM3496329_AB2515        p3 CD3 & CD45     4           LN mIT   <NA>
## V49 GSM3496332_AB2518        p3 CD3 & CD45     4           LN mIT   <NA>
## V50 GSM3496333_AB2519        p3 CD3 & CD45     4           LN mIT   <NA>
## V51 GSM3496334_AB2520        p3 CD3 & CD45     4           LN mIT   <NA>
## V52 GSM3496335_AB2521        p3 CD3 & CD45     4           LN mIT   <NA>
##         patient
## V43 p3-4-LN-mIT
## V44 p3-4-LN-mIT
## V45 p3-4-LN-mIT
## V46 p3-4-LN-mIT
## V49 p3-4-LN-mIT
## V50 p3-4-LN-mIT
## V51 p3-4-LN-mIT
## V52 p3-4-LN-mIT

Gneramos un gráfico para cada uno de ellos (seleccionando solo los genes INMUNOME)

library(umap)
## Warning: package 'umap' was built under R version 4.0.3
library(ggplot2)
for (i in 1:nrow(p3.CD3.CD45)){
  nombre <- p3.CD3.CD45$name[i]
  print(nombre)
  tmp <- which(datapath == paste0(nombre,".txt.gz"))
  tmp <- read.table(gzfile(paste0(dirname(getwd()),"/data/GSE123139_RAW/",datapath[tmp])), sep = "\t")
  tmp <- tmp[grep(paste0(inmune$V1,collapse = "|"),rownames(tmp)),]

  tmp.umap <- umap::umap(tmp)
  plot.tmp<- as.data.frame(tmp.umap$layout)
  colnames(plot.tmp) <- c("UMAP1","UMAP2")


  p <- ggplot2::ggplot(data = plot.tmp, aes(x=UMAP1, UMAP2)) +
    geom_point() + ggtitle(p3.CD3.CD45$name[i]) +
    xlab(p3.CD3.CD45$patient[i]) 
  print(p)
}
## [1] "GSM3496326_AB2512"

## [1] "GSM3496327_AB2513"

## [1] "GSM3496328_AB2514"

## [1] "GSM3496329_AB2515"

## [1] "GSM3496332_AB2518"

## [1] "GSM3496333_AB2519"

## [1] "GSM3496334_AB2520"

## [1] "GSM3496335_AB2521"