Last updated: 2025-06-09

Checks: 7 0

Knit directory: HairCort-Evaluation-Nist2020/

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


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

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(20241016) 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 1ba701c. 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:    .DS_Store
    Ignored:    .RData
    Ignored:    .Rhistory
    Ignored:    analysis/.DS_Store
    Ignored:    analysis/.Rhistory
    Ignored:    data/.DS_Store
    Ignored:    data/Test3/.DS_Store
    Ignored:    data/Test4/.DS_Store

Untracked files:
    Untracked:  analysis/Parallelism.Rmd
    Untracked:  data/Test4/myassays_table_test4_021925_acc_dilution.csv
    Untracked:  myassays_table_test4_021925_acc_dilution.csv
    Untracked:  test4_parallelism.csv

Unstaged changes:
    Modified:   analysis/ELISA_Analysis_RawVals_test4.Rmd
    Modified:   data/Test4/myassays_table_test4_021925.csv

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.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/ELISA_QC_test4.Rmd) and HTML (docs/ELISA_QC_test4.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
html 22327df Paloma 2025-04-28 elisa5 design
html 8108c43 Paloma 2025-04-25 improved figures
Rmd 0ed450f Paloma 2025-04-25 updated input (myassays.com) including dilution
html 0ed450f Paloma 2025-04-25 updated input (myassays.com) including dilution
html dd200fc Paloma 2025-04-23 corrected figures
Rmd 7240d2e Paloma 2025-04-22 organized files
html 7240d2e Paloma 2025-04-22 organized files
Rmd 16ce91c Paloma 2025-04-10 recalc_evaluations
html 16ce91c Paloma 2025-04-10 recalc_evaluations
html bbb70a9 Paloma 2025-04-09 comparing methods
Rmd ccad031 Paloma 2025-04-09 new_calc
html ccad031 Paloma 2025-04-09 new_calc
html ca6c804 Paloma 2025-04-03 new calc final vals
Rmd 528855b Paloma 2025-04-03 new_calc
html 528855b Paloma 2025-04-03 new_calc

Here I show how files are loaded, merged, and cleaned, including the exclusion of unnecessary columns and handling of missing values.

  • Intra-Assay CV: 11.28 %

  • Intra-Assay CV after removing low quality data: 4.76 %

  • Good quality data points: 19

Set parameters

# flag samples with high CV (15%) or binding above 80% and under 20%
CV_threshold <- 15.0
uppBinLim <- 80.0
lowBinLim <- 20.0

Data Cleaning and QC

Load, inspect and merge 3 files:

  • layout: 7 columns (Wells, Sample, weight_mg, buffer_nl, spike, volume of the spike, dilution factor), 96 rows
  • results: from myassays.com (not including standards), 82 rows

Merged dataset:

Wells Sample Category Weight_mg Buffer_nl Spike SpikeVol_ul Dilution_spike Vol_in_well.tube_ul Extraction_ratio Dilution_sample Raw.OD Binding.Perc Conc_pg.ml Ave_Conc_pg.ml CV.Perc SD SEM
36 D3 TA1 A 50 250 0 0 1 50 1.351351 1 0.185 NA 4508.0 NA NA NA NA
46 E3 TA2 A 50 250 0 0 1 50 1.351351 2 0.274 22.5 2616.0 2932.0 15.20 446.0 315.0
56 F3 TA2 A 50 250 0 0 1 50 1.351351 2 0.236 NA 3247.0 NA NA NA NA
66 G3 TA3 A 50 250 0 0 1 50 1.351351 4 0.439 44.1 1186.0 1139.0 5.85 66.6 47.1
6 A4 TA4 A 50 250 0 0 1 50 1.351351 8 0.554 54.9 724.6 753.4 5.41 40.7 28.8
7 A5 TB1 B 50 250 1 25 1 275 1.333333 1 0.160 12.2 5415.0 5334.0 2.16 115.0 81.6
38 D5 TB2 B 50 250 1 25 2 250 1.333333 2 0.272 NA 2645.0 NA NA NA NA
48 E5 TB3 B 50 250 1 25 4 250 1.333333 4 0.457 45.8 1097.0 1067.0 3.97 42.4 30.0

Duplicates with high CV

Flag samples with high coefficient of variation (duplicate measurements that are too different from each other)

High CV in a total of 10 duplicates. These are:
   Sample
1      B0
2      BE
3     TA7
4     TC6
5     TB7
6     TA6
7    TP1B
8     TC7
9     TC5
10    TA2

Samples outside the curve

Samples that have a binding percentage over 80 or 20 do not provide accurate results, and we consider them to be outside the curve.

Total samples outside the curve: 20 (some are blanks or NSB)

Total samples failed

Wells Sample Category Weight_mg Buffer_nl Spike SpikeVol_ul Dilution_spike Vol_in_well.tube_ul Extraction_ratio Dilution_sample Raw.OD Binding.Perc Conc_pg.ml Ave_Conc_pg.ml CV.Perc SD SEM CV_categ Binding.Perc_categ Failed_samples
64 G11 TP3A P 12 220 1 25 1 50 1.351351 1 0.258 23.0 2859 2843 0.795 22.6 16 NA NA NA
74 H11 TP3A P 12 220 1 25 1 50 1.351351 1 0.260 NA 2827 NA NA NA NA NA NA NA
4 A12 TP3B P 12 60 1 25 1 50 1.333333 1 0.196 15.6 4180 4282 3.370 144.0 102 NA UNDER 20% binding UNDER 20% binding
15 B12 TP3B P 12 60 1 25 1 50 1.333333 1 0.189 NA 4384 NA NA NA NA NA NA NA
25 C12 TP3C P 12 60 1 25 1 50 1.333333 1 0.181 13.6 4636 4866 6.680 325.0 230 NA UNDER 20% binding UNDER 20% binding
35 D12 TP3C P 12 60 1 25 1 50 1.333333 1 0.168 NA 5096 NA NA NA NA NA NA NA
Number of failed samples is 22
Number of good quality data points is 19

Location

Good quality data is stored in Data_QC_filtered.csv file
Data set with low quality samples flagged: Data_QC_flagged.csv

Overall quality of the assay

Intra-Assay CV including all samples is 12.05 %
Intra-Assay CV including only good quality data is 4.97 %, for a total of 19 samples

sessionInfo()
R version 4.5.0 (2025-04-11)
Platform: aarch64-apple-darwin20
Running under: macOS Sequoia 15.5

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.1

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: America/Detroit
tzcode source: internal

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

other attached packages:
[1] dplyr_1.1.4 knitr_1.50 

loaded via a namespace (and not attached):
 [1] vctrs_0.6.5       cli_3.6.4         rlang_1.1.6       xfun_0.52        
 [5] stringi_1.8.7     generics_0.1.3    promises_1.3.2    jsonlite_2.0.0   
 [9] workflowr_1.7.1   glue_1.8.0        rprojroot_2.0.4   git2r_0.36.2     
[13] htmltools_0.5.8.1 httpuv_1.6.16     sass_0.4.10       rmarkdown_2.29   
[17] evaluate_1.0.3    jquerylib_0.1.4   tibble_3.2.1      fastmap_1.2.0    
[21] yaml_2.3.10       lifecycle_1.0.4   whisker_0.4.1     stringr_1.5.1    
[25] compiler_4.5.0    fs_1.6.6          Rcpp_1.0.14       pkgconfig_2.0.3  
[29] rstudioapi_0.17.1 later_1.4.2       digest_0.6.37     R6_2.6.1         
[33] tidyselect_1.2.1  pillar_1.10.2     magrittr_2.0.3    bslib_0.9.0      
[37] tools_4.5.0       cachem_1.1.0