Last updated: 2022-09-16

Checks: 6 1

Knit directory: 220913_test/

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(20220915) 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 29cb9c4. 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:


Untracked files:
    Untracked:  analysis/Pintool_dev_220901.Rmd
    Untracked:  analysis/Pintool_dev_220913.Rmd
    Untracked:  data/220913 Pintool Accuracy test/
    Untracked:  data/supporting files/

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 the impact of retraction speed of Pintool to its stamping accuracy

Researcher

ML

Readout

Absorbance of tartrazine at 410 on Cytation 5 plate reader

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/Pintool_dev/220913_test"
# set the file prefix

prefix <- "ML_Mac-Seq_Pintool_dev"

Screen details

Screen date (yyyy-mm-dd)

2022-09-13

Tartrazine concentration

Tartrazine stock at 12.5 ug/ul Source plate made @ tartrazine 10 ug/ul with 1X PBS

Standard curve

Standard curve of tartrazine absorbance (Abs) was constructed by triplicate serial dilution


Plate layout




Known technical issues

Plate reader Abs signal saturation occurs between 0.08 to 0.16 ug/ul tartrazine.

Fresh Standard curve plate was prepared.

2 retraction speed (30mm/sec vs 200mm/sec) setting were compared in 2 sets of plates, each set has its own blank PBS plate (target plate)



Data cleaning

Formatting and Preprocessing

The raw data was read into R Studio.


Data processing

Pintool Delivery Quality

Pintool Consistency Heatmaps


Comments: I would like to look at the standard curve plate, and target plate after each transfer

Abs Raw values


Abs Z score per plate


Abs Delta over each previous transfer

[1] "30 mm.per.sec"  "STD"            "200 mm.per.sec"
[1] "The loop has ended !"
[1] "The loop has ended !"


Consistency Check by Outlier Detection


Comments: I want to have an overview of pins that are significantly correlated (positively and negatively) using the delta of Abs values after each pintool transfer. Ideally, all the pins working in perfect harmony should all the strongly positively correlated in the abs delta.

Pintool Accuracy

Standard Curve


Comments: Now that I know the consistency is not ideal, I want to know just how accurate the pintool is in delivery the labelled 100nl volume. In theory, a 100nl of my stock 10ug/ul tartrazine trasnferred into 50ul PBS should give a final 0.02 ug/ul (i.e. 1ug dye increament). Using the standard curve constructed, I can get a portion of it where Abs readings and dye concentrations approximated a linear relationship (unfortunately the next dye concentration 0.16 ug/ul had an Abs value beyond detection limit). In this roughly linear section, tartrazine concentration covered is ranging 0.002 ug/ul to 0.08 ug/ul, covering the final concentration for at least 4 transfers in this test. I can use this to estimate the dye (hence real volume) transferred by each pin at each transfer, see how far off is that compared to 100nl



Call:
lm(formula = Conc ~ Abs, data = Standard.curve)

Coefficients:
(Intercept)          Abs  
  -0.003143     0.020187  


Comments: Roughly using a linear approximation: Concentration = (0.021xAbs - 0.003) ug/ul.The volume change by trasnferring a couple rounds of 100nl into 50ul well is less than 1%. So we can have the relationship of Volume = (0.1xAbs - 0.015)x1000 nl

Convert Abs Delta to Volume

Comments: I cannot seem to find a huge difference between vol stamped with a near 7 fold difference in retraction speed (suggested in the PE manual, Pgae 4 “Increasing the speed of withdrawal from the source liquid by 7-fold will increase the volume delivered by as much as 3-fold in a linear relationship.”). And the consistency between stamp still remains variable.



 

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] nlme_3.1-159        fs_1.5.2            lubridate_1.8.0    
 [4] bit64_4.0.5         RColorBrewer_1.1-3  httr_1.4.4         
 [7] rprojroot_2.0.3     tools_4.2.0         backports_1.4.1    
[10] bslib_0.4.0         utf8_1.2.2          R6_2.5.1           
[13] DBI_1.1.3           colorspace_2.0-3    withr_2.5.0        
[16] tidyselect_1.1.2    processx_3.7.0      bit_4.0.4          
[19] compiler_4.2.0      git2r_0.30.1        cli_3.3.0          
[22] rvest_1.0.3         formatR_1.12        xml2_1.3.3         
[25] labeling_0.4.2      sass_0.4.2          scales_1.2.1       
[28] callr_3.7.2         digest_0.6.29       rmarkdown_2.16     
[31] pkgconfig_2.0.3     highr_0.9           dbplyr_2.2.1       
[34] fastmap_1.1.0       htmlwidgets_1.5.4   rlang_1.0.5        
[37] rstudioapi_0.14     farver_2.1.1        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          plyr_1.8.7          grid_4.2.0         
[55] parallel_4.2.0      promises_1.2.0.1    crayon_1.5.1       
[58] lattice_0.20-45     splines_4.2.0       haven_2.5.1        
[61] hms_1.1.2           knitr_1.40          ps_1.7.1           
[64] pillar_1.8.1        reprex_2.0.2        glue_1.6.2         
[67] evaluate_0.16       getPass_0.2-2       modelr_0.1.9       
[70] vctrs_0.4.1         tzdb_0.3.0          httpuv_1.6.5       
[73] cellranger_1.1.0    gtable_0.3.1        assertthat_0.2.1   
[76] cachem_1.0.6        xfun_0.32           mime_0.12          
[79] broom_1.0.1         later_1.3.0         googledrive_2.0.0  
[82] gargle_1.2.0        corrplot_0.92       ellipsis_0.3.2