• using R version 4.6.0 alpha (2026-03-30 r89743)
  • using platform: x86_64-apple-darwin20
  • R was compiled by     Apple clang version 14.0.0 (clang-1400.0.29.202)     GNU Fortran (GCC) 14.2.0
  • running under: macOS Ventura 13.3.1
  • using session charset: UTF-8 * current time: 2026-04-06 17:54:37 UTC
  • checking for file ‘SerolyzeR/DESCRIPTION’ ... OK
  • checking extension type ... Package
  • this is package ‘SerolyzeR’ version ‘1.4.1’
  • package encoding: UTF-8
  • checking package namespace information ... OK
  • checking package dependencies ... INFO Package suggested but not available for checking: ‘qs2’
  • checking if this is a source package ... OK
  • checking if there is a namespace ... OK
  • checking for executable files ... OK
  • checking for hidden files and directories ... OK
  • checking for portable file names ... OK
  • checking for sufficient/correct file permissions ... OK
  • checking whether package ‘SerolyzeR’ can be installed ... [9s/13s] OK See the install log for details.
  • checking installed package size ... OK
  • checking package directory ... OK
  • checking ‘build’ directory ... OK
  • checking DESCRIPTION meta-information ... OK
  • checking top-level files ... OK
  • checking for left-over files ... OK
  • checking index information ... OK
  • checking package subdirectories ... OK
  • checking code files for non-ASCII characters ... OK
  • checking R files for syntax errors ... OK
  • checking whether the package can be loaded ... [2s/3s] OK
  • checking whether the package can be loaded with stated dependencies ... [1s/2s] OK
  • checking whether the package can be unloaded cleanly ... [1s/2s] OK
  • checking whether the namespace can be loaded with stated dependencies ... [1s/2s] OK
  • checking whether the namespace can be unloaded cleanly ... [2s/2s] OK
  • checking loading without being on the library search path ... [2s/3s] OK
  • checking dependencies in R code ... OK
  • checking S3 generic/method consistency ... OK
  • checking replacement functions ... OK
  • checking foreign function calls ... OK
  • checking R code for possible problems ... [7s/9s] OK
  • checking Rd files ... [1s/1s] OK
  • checking Rd metadata ... OK
  • checking Rd cross-references ... OK
  • checking for missing documentation entries ... OK
  • checking for code/documentation mismatches ... OK
  • checking Rd \usage sections ... OK
  • checking Rd contents ... OK
  • checking for unstated dependencies in examples ... OK
  • checking installed files from ‘inst/doc’ ... OK
  • checking files in ‘vignettes’ ... OK
  • checking examples ... [4s/6s] ERROR Running examples in ‘SerolyzeR-Ex.R’ failed The error most likely occurred in: > ### Name: generate_levey_jennings_report > ### Title: Generate a Levey-Jennings Report for Multiple Plates. > ### Aliases: generate_levey_jennings_report > > ### ** Examples > > output_dir <- tempdir(check = TRUE) > > dir_with_luminex_files <- system.file("extdata", "multiplate_lite", + package = "SerolyzeR", mustWork = TRUE + ) > list_of_plates <- process_dir(dir_with_luminex_files, + return_plates = TRUE, format = "xPONENT", output_dir = output_dir + ) Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_lite/CovidOISExPONTENT.csv using format xPONENT Failed to extract from BatchMetadata: BatchStartTime not found in BatchMetadata. Failed to extract from raw header: BatchStartTime not found in raw header. Fallback datetime successfully extracted from ProgramMetadata. Could not parse datetime string using default datetime format. Trying other possibilies. Successfully parsed datetime string using order: mdY IM p  [32m New plate object has been created with name: CovidOISExPONTENT!  [39m Processing plate 'CovidOISExPONTENT' Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_lite/CovidOISExPONTENT2.csv using format xPONENT Failed to extract from BatchMetadata: BatchStartTime not found in BatchMetadata. Failed to extract from raw header: BatchStartTime not found in raw header. Fallback datetime successfully extracted from ProgramMetadata. Could not parse datetime string using default datetime format. Trying other possibilies. Successfully parsed datetime string using order: mdY IM p  [32m New plate object has been created with name: CovidOISExPONTENT2!  [39m Processing plate 'CovidOISExPONTENT2' Extracting the raw MFI to the output dataframe Extracting the raw MFI to the output dataframe Merged output saved to: /Volumes/Temp/tmp/RtmpSVRkCm/merged_MFI_20260406_135553.csv Fitting the models and predicting RAU for each analyte Fitting the models and predicting RAU for each analyte Merged output saved to: /Volumes/Temp/tmp/RtmpSVRkCm/merged_RAU_20260406_135553.csv Computing nMFI values for each analyte Computing nMFI values for each analyte Merged output saved to: /Volumes/Temp/tmp/RtmpSVRkCm/merged_nMFI_20260406_135553.csv > note <- "This is a Levey-Jennings report.\n**Author**: Jane Doe \n**Tester**: John Doe" > > generate_levey_jennings_report( + list_of_plates = list_of_plates, + report_title = "QC Report", + dilutions = c("1/100", "1/200"), + output_dir = tempdir(), + additional_notes = note + ) Generating report... For large reports with more than 30 plates, this will take a few minutes. Error in `library()`: ! there is no package called 'qs2' Backtrace:     ▆  1. └─base::library(qs2) Quitting from levey_jennings_report_template.Rmd:167-251 [setup_parallel_execution] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <error/rlang_error> Error in `library()`: ! there is no package called 'qs2' --- Backtrace:     ▆  1. └─base::library(qs2) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Execution halted
  • checking for unstated dependencies in ‘tests’ ... OK
  • checking tests ... [70s/113s] ERROR   Running ‘testthat.R’ [70s/112s] Running the tests in ‘tests/testthat.R’ failed. Complete output:   > # This file is part of the standard setup for testthat.   > # It is recommended that you do not modify it.   > #   > # Where should you do additional test configuration?   > # Learn more about the roles of various files in:   > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview   > # * https://testthat.r-lib.org/articles/special-files.html   >   > require(testthat)   Loading required package: testthat   > require(SerolyzeR)   Loading required package: SerolyzeR   >   > test_check("SerolyzeR")   Saving _problems/test-generate_report-63.R   Saving _problems/test-generate_report-64.R   Saving _problems/test-generate_report-65.R   Creating the output directory: '/Volumes/Temp/tmp/Rtmpigj8qT/output'   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_reallife_reduced/IGG_CO_1_xponent.csv   using format xPONENT    [32m   New plate object has been created with name: IGG_CO_1_xponent!    [39m   Processing plate 'IGG_CO_1_xponent'   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_reallife_reduced/IGG_CO_2_xponent.csv   using format xPONENT    [32m   New plate object has been created with name: IGG_CO_2_xponent!    [39m   Processing plate 'IGG_CO_2_xponent'   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_reallife_reduced/IGG_CO_3_xponent.csv   using format xPONENT    [32m   New plate object has been created with name: IGG_CO_3_xponent!    [39m   Processing plate 'IGG_CO_3_xponent'   Extracting the raw MFI to the output dataframe   Extracting the raw MFI to the output dataframe   Extracting the raw MFI to the output dataframe   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_MFI_20260406_135647.csv   Fitting the models and predicting RAU for each analyte   Fitting the models and predicting RAU for each analyte   Fitting the models and predicting RAU for each analyte   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_RAU_20260406_135647.csv   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_nMFI_20260406_135647.csv   ( [31mWARNING [39m)   Using less than five samples to fit the logistic model. For now, using the basic nplr method to fit the logistic model - should be modified in the futureInstance of the Model class fitted for analyte ' Spike_6P_IPP ':    - fitted with 2 parameters    - using 2 samples    - using log residuals (mfi): TRUE    - using log dilution: TRUE    - top asymptote: 100    - bottom asymptote: 50    - goodness of fit: 1    - weighted goodness of fit: 1   [1] -0.1 1.1   [1] "Parsing file/Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/external/Chul_IgG3_1.csv"   [1] "Parsing successful"   [1] "Parsing file/Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/external/Chul_TotalIgG_2.csv"   [1] "Parsing successful"   [1] "Parsing file/Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/external/New_Batch_14_20140513_082522.csv"   [1] "Parsing successful"   [1] "Parsing file/Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/external/New_Batch_6_20160309_174224.csv"   [1] "Parsing successful"   [1] "Parsing file/Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/external/pone.0187901.s001.csv"   [1] "Parsing successful"   Reading Luminex data from: non-existent-data.csv   using format xPONENT   Reading Luminex data from: non-existent-data.csv   using format xPONENT   Reading Luminex data from: non-existent-data.csv   using format xPONENT   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/CovidOISExPONTENT_CO.csv   using format xPONENT    [32m   New plate object has been created with name: CovidOISExPONTENT_CO!    [39m   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/CovidOISExPONTENT_CO.csv   using format xPONENT    [32m   New plate object has been created with name: CovidOISExPONTENT_CO!    [39m   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/CovidOISExPONTENT_CO.csv   using format xPONENT    [32m   New plate object has been created with name: CovidOISExPONTENT_CO!    [39m   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_reallife_reduced/IGG_CO_1_xponent.csv   using format xPONENT    [32m   New plate object has been created with name: IGG_CO_1_xponent!    [39m   Processing plate 'IGG_CO_1_xponent'   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_reallife_reduced/IGG_CO_2_xponent.csv   using format xPONENT    [32m   New plate object has been created with name: IGG_CO_2_xponent!    [39m   Processing plate 'IGG_CO_2_xponent'   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_reallife_reduced/IGG_CO_3_xponent.csv   using format xPONENT    [32m   New plate object has been created with name: IGG_CO_3_xponent!    [39m   Processing plate 'IGG_CO_3_xponent'   Extracting the raw MFI to the output dataframe   Extracting the raw MFI to the output dataframe   Extracting the raw MFI to the output dataframe   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_MFI_20260406_135713.csv   Fitting the models and predicting RAU for each analyte   Fitting the models and predicting RAU for each analyte   Fitting the models and predicting RAU for each analyte   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_RAU_20260406_135713.csv   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_nMFI_20260406_135713.csv   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_lite/CovidOISExPONTENT.csv   using format xPONENT    [32m   New plate object has been created with name: CovidOISExPONTENT!    [39m   Processing plate 'CovidOISExPONTENT'   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_lite/CovidOISExPONTENT2.csv   using format xPONENT    [32m   New plate object has been created with name: CovidOISExPONTENT2!    [39m   Processing plate 'CovidOISExPONTENT2'   Extracting the raw MFI to the output dataframe   Extracting the raw MFI to the output dataframe   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_MFI_20260406_135720.csv   Fitting the models and predicting RAU for each analyte   Fitting the models and predicting RAU for each analyte   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_RAU_20260406_135720.csv   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_nMFI_20260406_135720.csv   Saving _problems/test-process-dir-136.R   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_reallife_reduced/IGG_CO_1_xponent.csv   using format xPONENT    [32m   New plate object has been created with name: IGG_CO_1_xponent!    [39m   Processing plate 'IGG_CO_1_xponent'   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_reallife_reduced/IGG_CO_2_xponent.csv   using format xPONENT    [32m   New plate object has been created with name: IGG_CO_2_xponent!    [39m   Processing plate 'IGG_CO_2_xponent'   Reading Luminex data from: /Volumes/Builds/packages/big-sur-x86_64/results/4.6/SerolyzeR.Rcheck/SerolyzeR/extdata/multiplate_reallife_reduced/IGG_CO_3_xponent.csv   using format xPONENT    [32m   New plate object has been created with name: IGG_CO_3_xponent!    [39m   Processing plate 'IGG_CO_3_xponent'   Extracting the raw MFI to the output dataframe   Extracting the raw MFI to the output dataframe   Extracting the raw MFI to the output dataframe   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_MFI_20260406_135739.csv   Fitting the models and predicting RAU for each analyte   Fitting the models and predicting RAU for each analyte   Fitting the models and predicting RAU for each analyte   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_RAU_20260406_135739.csv   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Merged output saved to: /Volumes/Temp/tmp/Rtmpigj8qT/merged_nMFI_20260406_135739.csv   Fitting the models and predicting RAU for each analyte   Saving the computed RAU values to a CSV file located in: '/Volumes/Temp/tmp/Rtmpigj8qT/output.csv'   Fitting the models and predicting RAU for each analyte   Saving the computed RAU values to a CSV file located in: '/Volumes/Temp/tmp/Rtmpigj8qT/output.csv'   Extracting the raw MFI to the output dataframe   Saving the computed MFI values to a CSV file located in: '/Volumes/Temp/tmp/Rtmpigj8qT/output.csv'   Fitting the models and predicting RAU for each analyte   Computing nMFI values for each analyte   Saving the computed nMFI values to a CSV file located in: '/Volumes/Temp/tmp/Rtmpigj8qT/output.csv'   Computing nMFI values for each analyte   Saving the computed nMFI values to a CSV file located in: '/Volumes/Temp/tmp/Rtmpigj8qT/output.csv'   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Computing nMFI values for each analyte   Saving the computed nMFI values to a CSV file located in: '/Volumes/Temp/tmp/Rtmpigj8qT/output.csv'   Computing nMFI values for each analyte   Saving the computed nMFI values to a CSV file located in: '/Volumes/Temp/tmp/Rtmpigj8qT/output.csv'   [ FAIL 4 | WARN 45 | SKIP 0 | PASS 437 ]      ══ Failed tests ════════════════════════════════════════════════════════════════   ── Failure ('test-generate_report.R:63:3'): Test generate_levey_jennings_report function ──   Expected `generate_levey_jennings_report(...)` not to throw any errors.   Actually got a <rlang_error> with message:     there is no package called 'qs2'   ── Failure ('test-generate_report.R:64:3'): Test generate_levey_jennings_report function ──   Expected `generate_levey_jennings_report(...)` not to throw any errors.   Actually got a <rlang_error> with message:     there is no package called 'qs2'   ── Failure ('test-generate_report.R:65:3'): Test generate_levey_jennings_report function ──   Expected `generate_levey_jennings_report(...)` not to throw any errors.   Actually got a <rlang_error> with message:     there is no package called 'qs2'   ── Failure ('test-process-dir.R:131:3'): Test processing a directory with a single plate ──   Expected `capture.output(...)` not to throw any errors.   Actually got a <rlang_error> with message:     there is no package called 'qs2'      [ FAIL 4 | WARN 45 | SKIP 0 | PASS 437 ]   Error:   ! Test failures.   Execution halted
  • checking for unstated dependencies in vignettes ... OK
  • checking package vignettes ... OK
  • checking re-building of vignette outputs ... [22s/32s] OK
  • checking PDF version of manual ... [11s/15s] OK
  • DONE Status: 2 ERRORs
  • using check arguments '--no-clean-on-error '