Last updated: 2017-11-02
Code version: 5e0bfad
Load image QC table - for now it has only number of nuclei detected in each sample now. This table does not include all of the single cell samples, and the ones that are not included are the samples classifed as no DNA content in DAPI images.
The summary table contains three columns:
plate
: labeled by the mix of individual cell lines
well
: labels assigned by the JULI imaging system. These will be converted to correspond to C1 plate labels (rows and columns).
nnuclei
: number of nuclei detected in a single cell sample
nuclei_table <- readRDS("/project2/gilad/joycehsiao/fucci-seq/output/image-qc.rds")
with(nuclei_table, table(nnuclei))
nnuclei
0 1 2 3 4 5 6 7 8 12 20
4 1029 112 44 15 13 1 2 2 1 1
Inspect samples with 12 nuclei.
nuclei_table[which(nuclei_table$nnuclei == 12),]
nnuclei well plate
0004812 12 00048 19160_18870
Inspect samples with 20 nuclei.
nuclei_table[which(nuclei_table$nnuclei == 20),]
nnuclei well plate
000636 20 00063 18870_19160
This section is for record keeping. All images for samples with more than 1 nucleus detected have been converted to PNG format and stored in /project2/gilad/fucci-seq/images_inspect.
First select samples for inspection. The code below selects from plate 18511_18855
the samples that have two nuclei detected.
cases <- nuclei_table[which(nuclei_table$nnuclei == 2 & nuclei_table$plate == "18511_18855"),]
Extract the wells labels and convert to a character variable.
wells <- as.character(cases$well)
wells <- c("00012","00032","00044","00047","00051","00052","00067","00076","00085","00088","00096")
print(wells)
[1] "00012" "00032" "00044" "00047" "00051" "00052" "00067" "00076"
[9] "00085" "00088" "00096"
The code below will save images in png format at /project2/gilad/fucci-seq/images_inspect
.
#' @param wells vector of wells ID (use the format specified above).
#' @param plate plate ID
print_png <- function(plate, wells) {
for (index in 1:length(wells)) {
id <- wells[index]
dir_images_data_pl <- paste0("/project2/gilad/fucci-seq/images_curated/",plate,"/")
dir_output <- "/project2/gilad/fucci-seq/images_inspect/"
bright <- readImage(paste0(dir_images_data_pl, "BRIGHT/", id, ".TIFF"))
dapi <- readImage(paste0(dir_images_data_pl, "DAPI/", id, ".TIFF"))
gfp <- readImage(paste0(dir_images_data_pl, "GFP/", id, ".TIFF"))
rfp <- readImage(paste0(dir_images_data_pl, "RFP/", id, ".TIFF"))
writeImage(bright, paste0(dir_output, plate,".",id,".bright.png"))
writeImage(dapi, paste0(dir_output, plate,".",id,".dapi.png"))
writeImage(gfp, paste0(dir_output, plate,".",id,".gfp.png"))
writeImage(rfp, paste0(dir_output, plate,".",id,".rfp.png"))
# combo <- combine(dapi, bright, gfp, rfp)
# writeImage(combo, paste0(dir_output, plate,".",id,".combo.png"))
}
}
plates <- c("18511_18855","18855_19101","18855_19160","18870_18511",
"18870_18855","18870_19101","18870_19160","19098_18511",
"19098_18870","19098_19160","19101_18511","19101_19098",
"19160_18870","18855_19098","19101_19160","19160_18511")
for (index in 1:length(plates)) {
plate <- plates[index]
cases <- nuclei_table[which(nuclei_table$nnuclei > 1 & nuclei_table$plate == plate),]
wells <- as.character(cases$well)
print_png(plate, wells)
}
sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Scientific Linux 7.2 (Nitrogen)
Matrix products: default
BLAS/LAPACK: /usr/lib64/R/lib/libRblas.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.4.1 backports_1.1.1 magrittr_1.5 rprojroot_1.2
[5] tools_3.4.1 htmltools_0.3.6 yaml_2.1.14 Rcpp_0.12.13
[9] stringi_1.1.5 rmarkdown_1.6 knitr_1.17 git2r_0.19.0
[13] stringr_1.2.0 digest_0.6.12 evaluate_0.10.1
This R Markdown site was created with workflowr