Añadir sección de citometría para tinciones de Poblaciones.
This commit is contained in:
+71
-12
@@ -5,6 +5,10 @@ library(reshape2)
|
||||
library(Matrix)
|
||||
library(CitFuns)
|
||||
library(BDCIT)
|
||||
library(openCyto)
|
||||
library(flowCore)
|
||||
library(flowWorkspace)
|
||||
library(CytoML)
|
||||
|
||||
print(getwd())
|
||||
source("../sqlFunctions.R", encoding = "UTF-8")
|
||||
@@ -76,19 +80,16 @@ ui <- fluidPage(
|
||||
## Citometría ----
|
||||
tabPanel("Citometría",
|
||||
sidebarPanel(
|
||||
# shinyDirButton(id="cito_dir",label="Cito Dir", title="Citometría")
|
||||
|
||||
# fileInput(inputId = "cito_dir", label = "Cito Dir", multiple = F)
|
||||
selectInput("phenotype", "Tipo de análisis", selected="Pop", choices=c("Pop", "IC")),
|
||||
),
|
||||
mainPanel(
|
||||
actionButton("goButtonDir","load session to analyze"),
|
||||
textOutput("session")
|
||||
# tabsetPanel(
|
||||
# tabPanel("Table", tableOutput("sc_table")),
|
||||
# tabPanel("Plots",
|
||||
# plotOutput("sc_plot", height = "1000px"),
|
||||
# plotOutput("sc_expr"), height = "600px")
|
||||
# )
|
||||
actionButton("goButtonDir","Selecciona directorio fenotipo"),
|
||||
textOutput("session"),
|
||||
hr(),
|
||||
actionButton("fcsconvert", "Convertir a fcs"),
|
||||
hr(),
|
||||
actionButton("pngexport", "Exportar informes"),
|
||||
actionButton("popexport", "Actualizar BBDD")
|
||||
)
|
||||
),
|
||||
|
||||
@@ -820,7 +821,7 @@ server <- function(input, output) {
|
||||
|
||||
observe({
|
||||
if(input$goButtonDir > 0){
|
||||
cito_dir<<-choose.dir() %>% gsub("\\","/",. ,fixed=T)
|
||||
cito_dir<<-choose.dir() %>% gsub("\\","/",. ,fixed=T) %>% paste0("/")
|
||||
|
||||
output$session <- renderText(
|
||||
cito_dir
|
||||
@@ -828,6 +829,64 @@ server <- function(input, output) {
|
||||
}
|
||||
})
|
||||
|
||||
observeEvent(input$fcsconvert,{
|
||||
route<-cito_dir
|
||||
|
||||
files<-list.files(route, ".LMD")
|
||||
for (lmd in files){
|
||||
fcs<-read.FCS(paste0(route,lmd), dataset = 2)
|
||||
# fcs@parameters$desc<-c("FS-A","SS-A", paste("FL",1:10,"-A", sep = ""), "TIME")
|
||||
# fcs@parameters$desc<-c("FS-H","FS-A","FS-W","SS-H","SS-A","TIME", paste("FL",1:10,"-A", sep = ""))
|
||||
keyword(fcs)['$FIL']<-paste0(gsub(".LMD","",lmd), ".fcs")
|
||||
write.FCS(fcs, paste0(route, gsub(".LMD","",lmd), ".fcs"))
|
||||
}
|
||||
})
|
||||
|
||||
observeEvent(input$pngexport,{
|
||||
route<-cito_dir
|
||||
|
||||
ws<-open_flowjo_xml(paste0(route,"Populations.wsp"))
|
||||
gs<-flowjo_to_gatingset(ws, name="All Samples")
|
||||
|
||||
sampleNames(gs)<-sapply(sampleNames(gs), function(x) strsplit(x, "Pop ")[[1]][2]) %>%
|
||||
gsub("[[:space:]][0-9]*.fcs_.[0-9]*","", . , perl = T)
|
||||
|
||||
for (samp in sampleNames(gs)){
|
||||
print(samp)
|
||||
p<-autoplot(gs[[samp]], bins=64)
|
||||
ggsave(paste0(route, samp,".png"),p,width = 10, height = 10)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
observeEvent(input$popexport,{
|
||||
route<-cito_dir
|
||||
|
||||
ws<-open_flowjo_xml(paste0(route,"Populations.wsp"))
|
||||
gs<-flowjo_to_gatingset(ws, name="All Samples")
|
||||
|
||||
sampleNames(gs)<-sapply(sampleNames(gs), function(x) strsplit(x, "Pop ")[[1]][2]) %>%
|
||||
gsub("[[:space:]][0-9]*.fcs_.[0-9]*","", . , perl = T)
|
||||
|
||||
nodes<-sapply(strsplit(gs_get_pop_paths(gs), "/"), tail, 1)
|
||||
nodes<-nodes[grepl("_",nodes)]
|
||||
pop<-gs_pop_get_stats(gs, nodes=nodes,type="percent") %>% as.data.frame %>% mutate(percent=percent*100)
|
||||
|
||||
pop[,"pop"]<-gsub("_","",pop$pop)
|
||||
pop$pop<-gsub(" ","_",pop$pop)
|
||||
pop$pop<-gsub("+","pos",pop$pop, fixed=T)
|
||||
pop$pop<-gsub("-","neg",pop$pop, fixed=T)
|
||||
pop<-rename(pop, "samples"="sample")
|
||||
pop$percent<-round(pop$percent, digits=2)
|
||||
pop_sp<-pop %>% spread(pop, percent)
|
||||
|
||||
vartypes<-rep("Number", pop_sp %>% select(-samples) %>% colnames %>% length)
|
||||
names(vartypes)<-pop_sp %>% select(-samples) %>% colnames
|
||||
|
||||
sqlSave(dta, pop_sp, tablename="POPULATIONS", append = T, varTypes = vartypes, rownames = F)
|
||||
print("Tabla POPULATIONS sincronizada.")
|
||||
|
||||
})
|
||||
|
||||
## scRNAseq ----
|
||||
|
||||
|
||||
Reference in New Issue
Block a user