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.
The aim of this test is to assess Matrigel recovery with increased wash and transfer ## Researcher ML ## Previous test
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
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"
2022-09-13
Previous test yielded around 75% recovery rate.
The raw data was read into R Studio.
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.
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.
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.
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