Last updated: 2022-10-06

Checks: 6 1

Knit directory: Matrigel_recovery_test_220913/

This reproducible R Markdown analysis was created with workflowr (version 1.7.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


The R Markdown is untracked by Git. To know which version of the R Markdown file created these results, you’ll want to first commit it to the Git repo. If you’re still working on the analysis, you can ignore this warning. When you’re finished, you can run wflow_publish to commit the R Markdown file and build the HTML.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20220928) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version 3dd8eca. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/

Untracked files:
    Untracked:  Matrigel_recovery_test_previous/
    Untracked:  analysis/Matrigel_recovery_dev_220913.Rmd
    Untracked:  data/220903_Plate_layout.xlsx
    Untracked:  data/CP_feature_extraction/
    Untracked:  data/Images/
    Untracked:  data/Overview_post_to_extraction.PNG
    Untracked:  data/Overview_prior_to_extraction.PNG
    Untracked:  data/Sanitycheck/

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


There are no past versions. Publish this analysis with wflow_publish() to start tracking its development.


Aim

The aim of this test is to assess Matrigel recovery with increased wash and transfer ## Researcher ML ## Previous test

Readout

Hoechst, ImageIt and Bright Field of full well at 4X on Cytation 10 Primary readout is about Spheroid counts Secondary readout is a deeper dive into whether spheroid size or Matrigel percentage made a difference in recovery

Required R packages

data.table, DT, platetools, reshape2, tidyverse, patchwork

# load the required packages
library(data.table)
library(DT)
library(platetools)
library(reshape2)
library(readxl)
library(tidyverse)
library(patchwork)
library(here)
library(htmltools)


# check if here() correctly identified the directory
here::here()
[1] "/home/mli/ML_Mac-Seq/Matrigel_recovery_dev/Matrigel_recovery_test_220913"
# set the file prefix

prefix <- "ML_Mac-Seq_Matrigel_recovery"

Screen details

Screen date (yyyy-mm-dd)

2022-09-13


Plate overview Z proj 3 channels prior to extraction


Plate overview Z proj 3 channels post to extraction



Known technical issues

Previous test yielded around 75% recovery rate.



Data cleaning

Formatting and Preprocessing

The raw data was read into R Studio.


Data processing

Matrigel Recovery

Percentage Recovered Datatable


Comments: By counting the spheroid objects prior and after extraction procedure in each well, I will be able to estimate the recovery rate.

The nice thing about our recovery method is that spheroids largely stay intact.

The challenging is during the image processing step, 1)some wells have too many spheroids and others have big clumps of them, 2) each spheroid no longer have the nice smooth “look”, and they sit on top of each other. They make the object segmentation very challenging. 3) Post recovery some spheroids did fall apart inflating the object counts 4) Even with PBS added back to the well, huge bubbles still occur.


Percentage Recovered by count


Comments: Recovery yield calculated by object count should be taken with a pinch of salt. The reason being small spheroid + super confluent wells are challenging to segement properly (source plate prior to recover) Cells falling apart due to mechanical disturbance will be now counted as objects, inflating the object numbers (source plate post to recover ) So the object count in the Prior is designed to be an underestimate, and Post is designed to be an overestimate.


Percentage Recovered by Area Occupied Ratio


Comments:

One way to get around is to use the area occupied measurement. The idea is to measure the area occupied in the prior and post recovery wells, use the prior to normalise the delta in area occupied.


Check if big spheroids are not recovered


Comments:




 

Analysed by Mark Li

Victorian Centre for Functional Genomics

 


sessionInfo()
R version 4.2.0 (2022-04-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS:   /usr/lib64/libblas.so.3.4.2
LAPACK: /usr/lib64/liblapack.so.3.4.2

locale:
 [1] LC_CTYPE=en_AU.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_AU.UTF-8        LC_COLLATE=en_AU.UTF-8    
 [5] LC_MONETARY=en_AU.UTF-8    LC_MESSAGES=en_AU.UTF-8   
 [7] LC_PAPER=en_AU.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] htmltools_0.5.3   here_1.0.1        patchwork_1.1.2   forcats_0.5.2    
 [5] stringr_1.4.1     dplyr_1.0.10      purrr_0.3.4       readr_2.1.2      
 [9] tidyr_1.2.0       tibble_3.1.8      ggplot2_3.3.6     tidyverse_1.3.2  
[13] readxl_1.4.1      reshape2_1.4.4    platetools_0.1.5  DT_0.24          
[17] data.table_1.14.2 workflowr_1.7.0  

loaded via a namespace (and not attached):
 [1] fs_1.5.2            lubridate_1.8.0     bit64_4.0.5        
 [4] RColorBrewer_1.1-3  httr_1.4.4          rprojroot_2.0.3    
 [7] tools_4.2.0         backports_1.4.1     bslib_0.4.0        
[10] utf8_1.2.2          R6_2.5.1            DBI_1.1.3          
[13] colorspace_2.0-3    withr_2.5.0         tidyselect_1.1.2   
[16] processx_3.7.0      bit_4.0.4           compiler_4.2.0     
[19] git2r_0.30.1        cli_3.3.0           rvest_1.0.3        
[22] formatR_1.12        xml2_1.3.3          labeling_0.4.2     
[25] sass_0.4.2          scales_1.2.1        callr_3.7.2        
[28] digest_0.6.29       rmarkdown_2.16      pkgconfig_2.0.3    
[31] highr_0.9           dbplyr_2.2.1        fastmap_1.1.0      
[34] htmlwidgets_1.5.4   rlang_1.0.5         rstudioapi_0.14    
[37] farver_2.1.1        ggh4x_0.2.2         jquerylib_0.1.4    
[40] generics_0.1.3      jsonlite_1.8.0      crosstalk_1.2.0    
[43] vroom_1.5.7         googlesheets4_1.0.1 magrittr_2.0.3     
[46] Rcpp_1.0.9          munsell_0.5.0       fansi_1.0.3        
[49] lifecycle_1.0.1     stringi_1.7.8       whisker_0.4        
[52] yaml_2.3.5          snakecase_0.11.0    plyr_1.8.7         
[55] grid_4.2.0          parallel_4.2.0      promises_1.2.0.1   
[58] crayon_1.5.1        haven_2.5.1         hms_1.1.2          
[61] knitr_1.40          ps_1.7.1            pillar_1.8.1       
[64] reprex_2.0.2        glue_1.6.2          evaluate_0.16      
[67] getPass_0.2-2       modelr_0.1.9        vctrs_0.4.1        
[70] tzdb_0.3.0          httpuv_1.6.5        cellranger_1.1.0   
[73] gtable_0.3.1        assertthat_0.2.1    cachem_1.0.6       
[76] xfun_0.32           janitor_2.1.0       mime_0.12          
[79] broom_1.0.1         later_1.3.0         googledrive_2.0.0  
[82] gargle_1.2.0        ellipsis_0.3.2