Compare commits

..

49 Commits

Author SHA1 Message Date
marcelcosta 560540cf1a Commit in cytometry. 2023-10-10 12:35:43 +02:00
marcelcosta bd52e8c452 Corrección nombre de fecha de extracción. Solución de bug. 2023-02-02 16:54:09 +01:00
marcelcosta 43b807cc63 Corrección de la función de backup. 2022-07-04 11:09:20 +02:00
marcelcosta cb38ea347d Añadir notificación de sincronización y backup de nitrógeno. 2022-07-04 11:08:45 +02:00
marcelcosta 6671939939 Cambiar sistema de pedir contraseña. 2022-07-04 10:58:27 +02:00
marcelcosta a6f0c97d47 Añadir la opción de pasar la ruta de citometría en texto. 2022-04-20 15:34:54 +02:00
marcelcosta 56484a5903 Volver a meter unas línias borradas por error. 2022-04-20 12:13:27 +02:00
marcelcosta b5323436ec Boleanas en la app. 2022-04-20 09:49:37 +02:00
marcelcosta a57fb3aac8 Gates booleanas se hacen en R y no en Flowjo (que enlentece mucho el análisis). 2022-04-06 16:54:51 +02:00
marcelcosta dbb8e1ed0d Merge branch 'dev' 2022-04-06 12:42:53 +02:00
marcelcosta e6c2a32ddb Corregir exportar png IC 2022-04-06 12:42:31 +02:00
marcelcosta 51acdd0ece Merge branch 'dev' 2022-04-06 12:35:16 +02:00
marcelcosta dcbf4f8b9d Canvi en l'ordre de les dependències. 2022-04-06 12:32:41 +02:00
marcelcosta 001f64cc76 Merge branch 'dev' 2022-04-06 11:18:24 +02:00
marcelcosta e95caafe28 Cambio a pie chart para Visor IC. 2022-04-05 16:57:26 +02:00
marcelcosta f45ebfd106 Merge branch 'dev' 2022-04-05 10:09:30 +02:00
marcelcosta cb6c739d14 Para actualizar la tabla Poblaciones de citometría, permitir que falten poblaciones (de cara a agrupar diferentes paneles). 2022-04-05 10:08:26 +02:00
marcelcosta 20bf1d2c20 He añadido al visor de muestras el plot de IC. 2022-04-04 17:30:55 +02:00
marcelcosta a5581182c2 Añadir al visor de muestras el plot de poblaciones. 2022-04-04 17:15:12 +02:00
marcelcosta ab1684651e Completado procesado de datos de Checkpoint Inhibitors. 2022-04-04 17:14:42 +02:00
marcelcosta 67ba4921ca Añadir sección de citometría para tinciones de Poblaciones. 2022-04-04 15:40:54 +02:00
marcelcosta db6c07595c Cambiar etiquetas. 2022-04-04 11:37:56 +02:00
marcelcosta 35e4d31495 Iniciar sección citometría. Botón para el directorio. 2022-04-04 11:35:23 +02:00
marcelcosta 38aa06c4ee Añadir etiquetas para el código. 2022-04-04 11:34:43 +02:00
marcelcosta 38e902cef0 Merge branch 'dev' 2022-04-04 10:53:51 +02:00
marcelcosta 3492b7f7ef Corregir año en la fecha de tabla clinics 2022-04-01 12:26:42 +02:00
marcelcosta 44901be490 Corregir año en la fecha de tabla clinics 2022-04-01 12:26:04 +02:00
marcelcosta 3c8a69b21c Merge branch 'main' into dev 2022-04-01 12:21:02 +02:00
Costa 9b8f24ddd8 Corregir formato en las fechas de la plantilla CLINICS. 2022-03-31 14:18:46 +02:00
Costa ea45d8c845 merge with nitro 2022-03-31 13:40:47 +02:00
Costa 134133498b Corregir carga librerías para merge 2022-03-29 12:24:11 +02:00
Costa c9d09c44a2 Cambio de "Sincronizar" a "Actualizar" nitrógeno. 2022-03-28 14:52:42 +02:00
Costa b12ae3fd5f Introducción de un botón para actualizar nitrógeno. 2022-03-28 14:52:04 +02:00
Costa 2909f49eec Añadido plot para expresión de genes. 2022-03-28 12:49:29 +02:00
Costa b14fddf8fe Visor scRNAseq. 2022-03-22 16:29:04 +01:00
Costa 5bbd25c64d Empezar visor scRNAseq. 2022-03-22 14:26:33 +01:00
Costa 5ea3b493f4 Añadir la sincronización de tablas para CC. 2022-03-22 14:25:17 +01:00
Costa ffdf64d736 Añadir cancer de cólon. 2022-03-17 17:15:54 +01:00
Costa af5eee3a33 Relleno del visor - fase I 2022-03-17 16:21:24 +01:00
Costa 6cdde0282a Creación de una división por paneles. 2022-03-15 11:38:41 +01:00
Costa f4c6fae34a Cambio en el formato de definir las rutas. 2022-03-04 17:46:56 +01:00
Costa a8ca15592e Corrección de la función de importar NHC de excel. 2022-03-04 17:46:37 +01:00
Costa 022a222ddf Soporte para base de datos OVID. 2022-03-04 14:56:19 +01:00
Costa 5762efa5e4 Consistencia en sqlGenOVID. 2022-03-03 19:09:29 +01:00
Costa df0e5d4985 Añadir espacio 2022-03-02 14:10:39 +01:00
Costa b968de1fb1 Añadir aplicación shiny 2022-03-02 14:01:05 +01:00
Costa 52f5ad865d Poder cambiar la ruta de la función sqlInitialize. 2022-03-02 14:00:12 +01:00
Costa 72f89330e6 Machacar plantilla. 2022-03-01 14:43:47 +01:00
Costa 109acff436 Generar tabla vacía cuando no haya CNAG y RNA. 2022-03-01 14:43:25 +01:00
3 changed files with 1462 additions and 12 deletions
+1431
View File
File diff suppressed because it is too large Load Diff
+4 -1
View File
@@ -1 +1,4 @@
file<-"C:/Users/47926492N/OneDrive - IDIBELL - Institut d'Investigació Biomèdica de Bellvitge/RATG-PIULATS/OVARIO.accdb" # file<-"C:/Users/47926492N/OneDrive - IDIBELL - Institut d'Investigació Biomèdica de Bellvitge/RATG-PIULATS/MELANOMA UVEAL CIT.accdb"
# file<-"C:/Users/47926492N/OneDrive - IDIBELL - Institut d'Investigació Biomèdica de Bellvitge/RATG-PIULATS/OVARIO.accdb"
UMfile<-file<-"C:/Users/47926492N/Documents/Test/MELANOMA UVEAL CIT.accdb"
OVfile<-file<-"C:/Users/47926492N/Documents/Test/OVARIO.accdb"
+27 -11
View File
@@ -13,13 +13,14 @@ sqlLastDrop<-function(conn, tablename, droplast=1,dbtype=NULL){
sqlSave(conn, table, tablename = tablename, safer = F)} sqlSave(conn, table, tablename = tablename, safer = F)}
} }
sqlInitialize<-function(){
sqlInitialize<-function(ruta="ruta_database.R"){
library(tidyverse) library(tidyverse)
library(RODBC) library(RODBC)
library(openxlsx) library(openxlsx)
## Conexión a la base de datos ## Conexión a la base de datos
source("ruta_database.R", encoding = "UTF-8") source(ruta, encoding = "UTF-8")
} }
sqlBackUp<-function(dbfile=file,conn=dta,bu.dir=NULL){ sqlBackUp<-function(dbfile=file,conn=dta,bu.dir=NULL){
@@ -61,23 +62,29 @@ sqlShowSamples<-function(conn=dta, nhcs=nhc.test, verb=F, dbtype=NULL){
} }
sqlGenOVID<-function(conn=dta, nhcs=nhc.test, verb=T, sinc=F, dbtype=NULL){ sqlGenOVID<-function(conn=dta, nhcs=nhc.test, verb=T, sinc=F, dbtype=NULL){
if(sqlTables(dta) %>% filter(TABLE_NAME == "UMID") %>% nrow > 0){dbtype<-"UM"} if(sqlTables(conn) %>% filter(TABLE_NAME == "UMID") %>% nrow > 0){dbtype<-"UM"}
if(sqlTables(dta) %>% filter(TABLE_NAME == "OVID") %>% nrow > 0){dbtype<-"OV"} if(sqlTables(conn) %>% filter(TABLE_NAME == "OVID") %>% nrow > 0){dbtype<-"OV"}
if (dbtype == "OV"){ if (dbtype == "OV"){
db<-c("dbcode"="OVID") db<-c("dbcode"="OVID", "dbpref"="OVID")
} }
if (dbtype == "UM"){ if (dbtype == "UM"){
db<-c("dbcode"="UMID") db<-c("dbcode"="UMID","dbpref"="UMID")
}
if (dbtype == "CC"){
db<-c("dbcode"="PATID", "dbpref"="CCID")
} }
dbid<-sqlFetch(conn,db["dbcode"]) dbid<-sqlFetch(conn,db["dbcode"])
new.nhc<-nhcs[!nhcs %in% dbid$NHC] %>% unique() new.nhc<-nhcs[!nhcs %in% dbid$NHC] %>% unique()
if(length(new.nhc) > 0){ if(length(new.nhc) > 0){
if (nrow(dbid) == 0){next.num<-1}else{
next.num<-gsub(db["dbcode"],"",dbid[,db["dbcode"]]) %>% as.numeric %>% max(na.rm=T)+1 next.num<-gsub(db["dbcode"],"",dbid[,db["dbcode"]]) %>% as.numeric %>% max(na.rm=T)+1
}
print(next.num)
last.num<-next.num+(length(new.nhc)-1) last.num<-next.num+(length(new.nhc)-1)
newtab<-data.frame("NHC"=new.nhc, "ID"=sprintf("%s%04d",db["dbcode"],next.num:last.num)) %>% rename(!!db["dbcode"]:="ID") newtab<-data.frame("NHC"=new.nhc, "ID"=sprintf("%s%04d",db["dbpref"],next.num:last.num)) %>% rename(!!db["dbcode"]:="ID")
if(dbtype=="OV"){ if(dbtype=="OV"){
dbid<-rbind(dbid,newtab) dbid<-rbind(dbid,newtab)
} }
@@ -86,6 +93,10 @@ sqlGenOVID<-function(conn=dta, nhcs=nhc.test, verb=T, sinc=F, dbtype=NULL){
# dbid$Id<-as.numeric(rownames(dbid)) # dbid$Id<-as.numeric(rownames(dbid))
dbid$NHC<-as.numeric(dbid$NHC) dbid$NHC<-as.numeric(dbid$NHC)
} }
if (dbtype=="CC"){
dbid<-merge(dbid, newtab, all=T) %>% select(NHC,PATID) %>% arrange(PATID)
dbid$NHC<-as.numeric(dbid$NHC)
}
rownames(dbid)<-as.character(1:nrow(dbid)) rownames(dbid)<-as.character(1:nrow(dbid))
dbid<-filter(dbid, NHC %in% new.nhc) %>% mutate(NHC=as.character(NHC)) dbid<-filter(dbid, NHC %in% new.nhc) %>% mutate(NHC=as.character(NHC))
@@ -167,13 +178,13 @@ sqlWriteTemp<-function(conn=dta, nhcs=nhc.test, file="queryOV.xlsx", samples.mod
if (today==TRUE){ if (today==TRUE){
cnag.exp$FECHA_ENVIO<-format(Sys.Date(), "%d/%m/%y") cnag.exp$FECHA_ENVIO<-format(Sys.Date(), "%d/%m/%y")
} }
}else{cnag.exp<-NULL} }else{cnag.exp<-sqlFetch(dta, "CNAG") %>% slice(0)}
if (any(sapply(nhc.table$Samples, function(x) "rna" %in% strsplit(x,",")[[1]]) == T)){ if (any(sapply(nhc.table$Samples, function(x) "rna" %in% strsplit(x,",")[[1]]) == T)){
nhcs.rna<-nhc.table[sapply(nhc.table$Samples, function(x) "rna" %in% strsplit(x,",")[[1]]),"NHC"] nhcs.rna<-nhc.table[sapply(nhc.table$Samples, function(x) "rna" %in% strsplit(x,",")[[1]]),"NHC"]
umid.rna<-sqlFetch(conn, "UMID") %>% filter(NHC %in% nhcs.rna) %>% pull(UMID) umid.rna<-sqlFetch(conn, "UMID") %>% filter(NHC %in% nhcs.rna) %>% pull(UMID)
sample.rna<-samples.exp %>% filter(UMID %in% umid.rna) %>% pull(CODIGO) sample.rna<-samples.exp %>% filter(UMID %in% umid.rna) %>% pull(CODIGO)
rna.exp<-merge(data.frame("UMID"=umid.rna, "CODIGO"=sample.rna), sqlFetch(dta, "RNADNA") %>% slice(0), all=T) rna.exp<-merge(data.frame("UMID"=umid.rna, "CODIGO"=sample.rna), sqlFetch(dta, "RNADNA") %>% slice(0), all=T)
}else{rna.exp<-NULL} }else{rna.exp<- sqlFetch(dta, "RNADNA") %>% slice(0)}
if (clinics.mod){ if (clinics.mod){
## Importar los datos clínicos de pacientes existentes y generar nueva entrada par los nuevos ## Importar los datos clínicos de pacientes existentes y generar nueva entrada par los nuevos
upd.clinics<-sqlFetch(conn, "CLINICOS") upd.clinics<-sqlFetch(conn, "CLINICOS")
@@ -184,7 +195,12 @@ sqlWriteTemp<-function(conn=dta, nhcs=nhc.test, file="queryOV.xlsx", samples.mod
} }
## Exportar tablas a la plantilla de entrada para su rellenado ## Exportar tablas a la plantilla de entrada para su rellenado
wb <- loadWorkbook(file) wb <- createWorkbook(file)
addWorksheet(wb, "NHC")
addWorksheet(wb, "samples")
addWorksheet(wb, "CLINICS")
addWorksheet(wb, "CNAG")
addWorksheet(wb, "RNADNA")
writeData(wb, "NHC", merge(nhc.table, upd.umid, sort = F)) writeData(wb, "NHC", merge(nhc.table, upd.umid, sort = F))
if (samples.mod){writeData(wb,"samples",samples.exp)} if (samples.mod){writeData(wb,"samples",samples.exp)}
if (clinics.mod){writeData(wb,"CLINICS",upd.clinics)} if (clinics.mod){writeData(wb,"CLINICS",upd.clinics)}