Untitled
unknown
plain_text
a year ago
16 kB
2
Indexable
Never
library(readxl) library(data.table) #library(ggpubr) library(readr) library(stats) library(formattable) library(dplyr) library(car) library(ggplot2) library(ggrepel) library(xlsx) options(scipen = 999) df_3TG <- read_excel("proteomica/ejercicio/3-TG/230414F-LFQ-Phospho_OnlyPTM-(Filtradas).xlsx") accesion_3TG<-df_3TG[,6] abundancias_3TG<-df_3TG[,141:159] abundancias_3TG[is.na(abundancias_3TG)] <- 0 colnam<-colnames(abundancias_3TG) colnam <- gsub(".*F(\\d+).*", "\\1", colnam) colnam <- paste("F", gsub("\\D+", "", colnam), sep = "") colnames(abundancias_3TG) <- colnam #crear el df y transponerla y modificar el nombre de las columnas y ponerlo en notacion cientifica df_3TG<-cbind(accesion_3TG, abundancias_3TG) df_3TG_transposed <- t(df_3TG) options(scipen = 999) df_3TG_transposed<- apply(df_3TG_transposed, 2, function(x) format(x, scientific = FALSE)) colnames(df_3TG_transposed) <- as.character(df_3TG_transposed[1, ]) df_3TG_transposed <- df_3TG_transposed[-1, ] df_3TG_transposed<-data.frame(df_3TG_transposed) options(scipen = 999) sample_metadata_3TG <- read_delim("proteomica/ejercicio/3-TG/sample-metadata-3TG.csv", delim = "\t", escape_double = FALSE, trim_ws = TRUE) prot_control_3TG <- sample_metadata_3TG %>% filter(experiment == "WT") %>% pull("sample-id") tabla_control_3TG <- df_3TG%>% select(1, all_of(prot_control_3TG)) entera_5XFAD <- read_excel("proteomica/ejercicio/5XFAD/230223F-LFQ-Phospho_OnlyPTM_Incl-Isoforms_FILTRADAS.xlsx", ) #seleccionar la columna con el código de accesp y las columnas con la abundancia #luego quiero quitarle toda la info al título para simplificarla ya que he prepaarado unos metadatos df_5XFAD<-entera_5XFAD accesion_5XFAD<-df_5XFAD[,6] abundancias_5XFAD<-df_5XFAD[,121:135] abundancias_5XFAD[is.na(abundancias_5XFAD)] colnam<-colnames(abundancias_5XFAD) colnam <- gsub(".*F(\\d+).*", "\\1", colnam) colnam <- paste("F", gsub("\\D+", "", colnam), sep = "") colnames(abundancias_5XFAD) <- colnam #crear el df y transponerla y modificar el nombre de las columnas y ponerlo en notacion cientifica df_5XFAD<-cbind(accesion_5XFAD, abundancias_5XFAD) df_5XFAD_transposed <- t(df_5XFAD) options(scipen = 999) df_transposed_5XFAD <- apply(df_5XFAD_transposed, 2, function(x) format(x, scientific = FALSE)) colnames(df_5XFAD_transposed) <- as.character(df_5XFAD_transposed[1, ]) df_5XFAD_transposed <- df_5XFAD_transposed[-1, ] sample_metadata_5XFAD <- read_delim("proteomica/ejercicio/5XFAD/sample-metadata-5XFAD.csv", delim = "\t", escape_double = FALSE, trim_ws = TRUE) prot_control_5XFAD <- sample_metadata_5XFAD %>% filter(experiment == "WT") %>% pull("sample-id") tabla_control_5XFAD <- df_5XFAD%>% select(1, all_of(prot_control_5XFAD)) # Obtener las columnas de interés columna_3TG <- tabla_control_3TG$Accession columna_5XFAD <- tabla_control_5XFAD$Accession # Encontrar los elementos comunes elementos_comunes <- intersect(columna_3TG, columna_5XFAD) # Crear un nuevo dataframe con los elementos comunes comunes_df <- data.frame(comunes = elementos_comunes) # Mostrar el dataframe de elementos comunes print(comunes_df) columna_3TG<-data_frame(columna_3TG) columna_5XFAD<-data_frame(columna_5XFAD) filas_unicas_3TG <- columna_3TG[!(columna_3TG$columna_3TG %in% columna_5XFAD$columna_5XFAD), , drop = FALSE] # Filas únicas en columna_5XFAD que no están en columna_3TG filas_unicas_5XFAD <- columna_5XFAD[!(columna_5XFAD$columna_5XFAD %in% columna_3TG$columna_3TG), , drop = FALSE] nuevo_dataframe <- tabla_control_3TG[tabla_control_3TG$Accession %in% comunes_df$comunes, ] comunes_control_3TG<-nuevo_dataframe comunes_control_5XFAD<-tabla_control_5XFAD[tabla_control_5XFAD$Accession %in% comunes_df$comunes, ] comunes_control_3TG[is.na(comunes_control_3TG)]<- 0 comunes_control_5XFAD[is.na(comunes_control_5XFAD)]<-0 new_index <- 1:nrow(comunes_control_3TG) rownames(comunes_control_3TG) <- new_index rownames(comunes_control_5XFAD) <- new_index #calcular la media de los 5XFAD y hacer una tabla de la media repetida tantas veces como columnas tenga el dataframe sumas <- rowSums(comunes_control_5XFAD[,-1]) suma_5XFAD <- data.frame(Suma = sumas) a<-ncol(comunes_control_5XFAD) a<-a-1 media_5XFAD<-(suma_5XFAD/a) # Inicializar un dataframe vacío para almacenar los resultados comunes_control_3TG_normalizado_numeros <- data.frame(matrix(ncol = ncol(comunes_control_3TG) - 1, nrow = nrow(comunes_control_3TG))) # Copiar los nombres de las columnas del dataframe original colnames(comunes_control_3TG_normalizado_numeros) <- colnames(comunes_control_3TG)[-1] # Realizar la división fila a fila y columna a columna for (i in 1:nrow(comunes_control_3TG)) { fila <- comunes_control_3TG[i, -1] for (j in 1:(ncol(comunes_control_3TG) - 1)) { resultado <- fila[j] / media_5XFAD[i, 1] comunes_control_3TG_normalizado_numeros[i, j] <- resultado } } # Inicializar un dataframe vacío para almacenar los resultados comunes_control_5XFAD_normalizado_numeros <- data.frame(matrix(ncol = ncol(comunes_control_5XFAD) - 1, nrow = nrow(comunes_control_5XFAD))) # Copiar los nombres de las columnas del dataframe original colnames(comunes_control_5XFAD_normalizado_numeros) <- colnames(comunes_control_5XFAD)[-1] # Realizar la división fila a fila y columna a columna for (i in 1:nrow(comunes_control_5XFAD)) { fila <- comunes_control_5XFAD[i, -1] for (j in 1:(ncol(comunes_control_5XFAD) - 1)) { resultado <- fila[j] / media_5XFAD[i, 1] comunes_control_5XFAD_normalizado_numeros[i, j] <- resultado } } comunes_control_5XFAD_normalizado<-cbind(comunes_control_5XFAD[,1], comunes_control_5XFAD_normalizado_numeros) comunes_control_3TG_normalizado<-cbind(comunes_control_3TG[,1], comunes_control_3TG_normalizado_numeros) #Calcular normalidad en ambos y ver cuantos la cumplen #resultado del número de proteinas que no siguen normalifad c <- vector() for (i in 1:nrow(comunes_control_3TG_normalizado_numeros)) { fila <- as.numeric(comunes_control_3TG_normalizado_numeros[i, ]) resultado <- shapiro.test(fila) c[i] <- resultado$p.value } num_valores_menor_0_05 <- sum(c < 0.05) print(num_valores_menor_0_05) d <- vector() for (i in 1:nrow(comunes_control_5XFAD_normalizado_numeros)) { fila <- as.numeric(comunes_control_5XFAD_normalizado_numeros[i, ]) resultado <- shapiro.test(fila) d[i] <- resultado$p.value } num_valores_menor_0_05 <- sum(d < 0.05)library(readxl) library(data.table) #library(ggpubr) library(readr) library(stats) library(formattable) library(dplyr) library(car) library(ggplot2) library(ggrepel) library(xlsx) options(scipen = 999) df_3TG <- read_excel("proteomica/ejercicio/3-TG/230414F-LFQ-Phospho_OnlyPTM-(Filtradas).xlsx") accesion_3TG<-df_3TG[,6] abundancias_3TG<-df_3TG[,141:159] abundancias_3TG[is.na(abundancias_3TG)] <- 0 colnam<-colnames(abundancias_3TG) colnam <- gsub(".*F(\\d+).*", "\\1", colnam) colnam <- paste("F", gsub("\\D+", "", colnam), sep = "") colnames(abundancias_3TG) <- colnam #crear el df y transponerla y modificar el nombre de las columnas y ponerlo en notacion cientifica df_3TG<-cbind(accesion_3TG, abundancias_3TG) df_3TG_transposed <- t(df_3TG) options(scipen = 999) df_3TG_transposed<- apply(df_3TG_transposed, 2, function(x) format(x, scientific = FALSE)) colnames(df_3TG_transposed) <- as.character(df_3TG_transposed[1, ]) df_3TG_transposed <- df_3TG_transposed[-1, ] df_3TG_transposed<-data.frame(df_3TG_transposed) options(scipen = 999) sample_metadata_3TG <- read_delim("proteomica/ejercicio/3-TG/sample-metadata-3TG.csv", delim = "\t", escape_double = FALSE, trim_ws = TRUE) prot_control_3TG <- sample_metadata_3TG %>% filter(experiment == "WT") %>% pull("sample-id") tabla_control_3TG <- df_3TG%>% select(1, all_of(prot_control_3TG)) entera_5XFAD <- read_excel("proteomica/ejercicio/5XFAD/230223F-LFQ-Phospho_OnlyPTM_Incl-Isoforms_FILTRADAS.xlsx", ) #seleccionar la columna con el código de accesp y las columnas con la abundancia #luego quiero quitarle toda la info al título para simplificarla ya que he prepaarado unos metadatos df_5XFAD<-entera_5XFAD accesion_5XFAD<-df_5XFAD[,6] abundancias_5XFAD<-df_5XFAD[,121:135] abundancias_5XFAD[is.na(abundancias_5XFAD)] colnam<-colnames(abundancias_5XFAD) colnam <- gsub(".*F(\\d+).*", "\\1", colnam) colnam <- paste("F", gsub("\\D+", "", colnam), sep = "") colnames(abundancias_5XFAD) <- colnam #crear el df y transponerla y modificar el nombre de las columnas y ponerlo en notacion cientifica df_5XFAD<-cbind(accesion_5XFAD, abundancias_5XFAD) df_5XFAD_transposed <- t(df_5XFAD) options(scipen = 999) df_transposed_5XFAD <- apply(df_5XFAD_transposed, 2, function(x) format(x, scientific = FALSE)) colnames(df_5XFAD_transposed) <- as.character(df_5XFAD_transposed[1, ]) df_5XFAD_transposed <- df_5XFAD_transposed[-1, ] sample_metadata_5XFAD <- read_delim("proteomica/ejercicio/5XFAD/sample-metadata-5XFAD.csv", delim = "\t", escape_double = FALSE, trim_ws = TRUE) prot_control_5XFAD <- sample_metadata_5XFAD %>% filter(experiment == "WT") %>% pull("sample-id") tabla_control_5XFAD <- df_5XFAD%>% select(1, all_of(prot_control_5XFAD)) # Obtener las columnas de interés columna_3TG <- tabla_control_3TG$Accession columna_5XFAD <- tabla_control_5XFAD$Accession # Encontrar los elementos comunes elementos_comunes <- intersect(columna_3TG, columna_5XFAD) # Crear un nuevo dataframe con los elementos comunes comunes_df <- data.frame(comunes = elementos_comunes) # Mostrar el dataframe de elementos comunes print(comunes_df) columna_3TG<-data_frame(columna_3TG) columna_5XFAD<-data_frame(columna_5XFAD) filas_unicas_3TG <- columna_3TG[!(columna_3TG$columna_3TG %in% columna_5XFAD$columna_5XFAD), , drop = FALSE] # Filas únicas en columna_5XFAD que no están en columna_3TG filas_unicas_5XFAD <- columna_5XFAD[!(columna_5XFAD$columna_5XFAD %in% columna_3TG$columna_3TG), , drop = FALSE] nuevo_dataframe <- tabla_control_3TG[tabla_control_3TG$Accession %in% comunes_df$comunes, ] comunes_control_3TG<-nuevo_dataframe comunes_control_5XFAD<-tabla_control_5XFAD[tabla_control_5XFAD$Accession %in% comunes_df$comunes, ] comunes_control_3TG[is.na(comunes_control_3TG)]<- 0 comunes_control_5XFAD[is.na(comunes_control_5XFAD)]<-0 new_index <- 1:nrow(comunes_control_3TG) rownames(comunes_control_3TG) <- new_index rownames(comunes_control_5XFAD) <- new_index #calcular la media de los 5XFAD y hacer una tabla de la media repetida tantas veces como columnas tenga el dataframe sumas <- rowSums(comunes_control_5XFAD[,-1]) suma_5XFAD <- data.frame(Suma = sumas) a<-ncol(comunes_control_5XFAD) a<-a-1 media_5XFAD<-(suma_5XFAD/a) # Inicializar un dataframe vacío para almacenar los resultados comunes_control_3TG_normalizado_numeros <- data.frame(matrix(ncol = ncol(comunes_control_3TG) - 1, nrow = nrow(comunes_control_3TG))) # Copiar los nombres de las columnas del dataframe original colnames(comunes_control_3TG_normalizado_numeros) <- colnames(comunes_control_3TG)[-1] # Realizar la división fila a fila y columna a columna for (i in 1:nrow(comunes_control_3TG)) { fila <- comunes_control_3TG[i, -1] for (j in 1:(ncol(comunes_control_3TG) - 1)) { resultado <- fila[j] / media_5XFAD[i, 1] comunes_control_3TG_normalizado_numeros[i, j] <- resultado } } # Inicializar un dataframe vacío para almacenar los resultados comunes_control_5XFAD_normalizado_numeros <- data.frame(matrix(ncol = ncol(comunes_control_5XFAD) - 1, nrow = nrow(comunes_control_5XFAD))) # Copiar los nombres de las columnas del dataframe original colnames(comunes_control_5XFAD_normalizado_numeros) <- colnames(comunes_control_5XFAD)[-1] # Realizar la división fila a fila y columna a columna for (i in 1:nrow(comunes_control_5XFAD)) { fila <- comunes_control_5XFAD[i, -1] for (j in 1:(ncol(comunes_control_5XFAD) - 1)) { resultado <- fila[j] / media_5XFAD[i, 1] comunes_control_5XFAD_normalizado_numeros[i, j] <- resultado } } comunes_control_5XFAD_normalizado<-cbind(comunes_control_5XFAD[,1], comunes_control_5XFAD_normalizado_numeros) comunes_control_3TG_normalizado<-cbind(comunes_control_3TG[,1], comunes_control_3TG_normalizado_numeros) #Calcular normalidad en ambos y ver cuantos la cumplen #resultado del número de proteinas que no siguen normalifad c <- vector() for (i in 1:nrow(comunes_control_3TG_normalizado_numeros)) { fila <- as.numeric(comunes_control_3TG_normalizado_numeros[i, ]) resultado <- shapiro.test(fila) c[i] <- resultado$p.value } num_valores_menor_0_05 <- sum(c < 0.05) print(num_valores_menor_0_05) d <- vector() for (i in 1:nrow(comunes_control_5XFAD_normalizado_numeros)) { fila <- as.numeric(comunes_control_5XFAD_normalizado_numeros[i, ]) resultado <- shapiro.test(fila) d[i] <- resultado$p.value } num_valores_menor_0_05 <- sum(d < 0.05) print(num_valores_menor_0_05) #T-student #resultado 246 proteinas con diferencias p_valor_controles <- c() for (i in 1:nrow(comunes_control_3TG_normalizado_numeros)) { valores_3TG<- as.numeric(comunes_control_3TG_normalizado_numeros[i, ]) valores_5XFAD <- as.numeric(comunes_control_5XFAD_normalizado_numeros[i, ]) resultado_t_test <- t.test(valores_3TG, valores_5XFAD) p_valor_controles<-c(p_valor_controles, resultado_t_test$p.value) } resultado_final_test<-data.frame(comunes_control_3TG[,1], p_value = p_valor_controles) num_valores_menor_0_05 <- sum(resultado_final_test[,2] < 0.05) print(num_valores_menor_0_05) #Calcular media y desviaciones típicas sumas <- rowSums(comunes_control_5XFAD_normalizado_numeros[,-1]) suma_5XFAD_n <- data.frame(Suma = sumas) a<-ncol(comunes_control_5XFAD) a<-a-1 media_5XFAD_n<-(suma_5XFAD_n/a) sumas <- rowSums(comunes_control_3TG_normalizado_numeros[,-1]) suma_3TG_n <- data.frame(Suma = sumas) b<-ncol(comunes_control_3TG) b<-b-1 media_3TG_n<-(suma_3TG_n/b) cociente<-media_3TG_n/media_5XFAD_n log2cociente<-apply(cociente, 1, log2) log2cociente<-data_frame(log2cociente) p_valor_controles<-data_frame(p_valor_controles) log10pvalor<-apply(p_valor_controles, 1, log10) log10pvalor<-data_frame(log10pvalor) log10pvalor<-apply(log10pvalor, 1, function(x) -x) log10pvalor<-data_frame(log10pvalor) vulcanot<-data_frame(comunes_control_5XFAD[,1], log2cociente, log10pvalor) print(num_valores_menor_0_05) #T-student #resultado 246 proteinas con diferencias p_valor_controles <- c() for (i in 1:nrow(comunes_control_3TG_normalizado_numeros)) { valores_3TG<- as.numeric(comunes_control_3TG_normalizado_numeros[i, ]) valores_5XFAD <- as.numeric(comunes_control_5XFAD_normalizado_numeros[i, ]) resultado_t_test <- t.test(valores_3TG, valores_5XFAD) p_valor_controles<-c(p_valor_controles, resultado_t_test$p.value) } resultado_final_test<-data.frame(comunes_control_3TG[,1], p_value = p_valor_controles) num_valores_menor_0_05 <- sum(resultado_final_test[,2] < 0.05) print(num_valores_menor_0_05) #Calcular media y desviaciones típicas sumas <- rowSums(comunes_control_5XFAD_normalizado_numeros[,-1]) suma_5XFAD_n <- data.frame(Suma = sumas) a<-ncol(comunes_control_5XFAD) a<-a-1 media_5XFAD_n<-(suma_5XFAD_n/a) sumas <- rowSums(comunes_control_3TG_normalizado_numeros[,-1]) suma_3TG_n <- data.frame(Suma = sumas) b<-ncol(comunes_control_3TG) b<-b-1 media_3TG_n<-(suma_3TG_n/b) cociente<-media_3TG_n/media_5XFAD_n log2cociente<-apply(cociente, 1, log2) log2cociente<-data_frame(log2cociente) p_valor_controles<-data_frame(p_valor_controles) log10pvalor<-apply(p_valor_controles, 1, log10) log10pvalor<-data_frame(log10pvalor) log10pvalor<-apply(log10pvalor, 1, function(x) -x) log10pvalor<-data_frame(log10pvalor) vulcanot<-data_frame(comunes_control_5XFAD[,1], log2cociente, log10pvalor)