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"
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
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"