Usage
read_qview(
path,
strip_prefix = FALSE,
verbose = TRUE,
call = rlang::caller_env()
)Arguments
- path
Character. Path to the
.Q-Viewfile.- strip_prefix
Logical. If
TRUE, reverse Q-View's internal naming convention viastrip_qview_prefix()so identifiers match the original well-assignment template. DefaultFALSE.- verbose
Logical. Print a short summary after parsing. Default
TRUE.- call
The execution environment of the calling function. Used for error reporting; experts only.
Value
A list with class "qview" containing:
metadataNamed list:
project,plate,image,imager,product,user,report_created,qview_version,template,container_version,file_path,parsed_at.manifestTibble with one row per declared file entry (
name,size_bytes,parent).segmentsTibble of H2 segment byte ranges (
segment,start,end,size).analytesTibble:
spot_number,analyte,unit, pluslod,lloq,uloq,assay_control_low,assay_control_highwhen reported.well_groupsTibble:
well_group,sample_id,is_standard,is_negative,is_sample,is_control,well_type.pixel_intensitiesLong-format tibble of replicate readings:
well_group,sample_id,well,replicate,analyte,unit,pixel_intensity,dilution.summary_statisticsLong-format tibble of per-group averages, std-dev, and CV statistics:
well_group,sample_id,statistic,analyte,value,unit.concentrationsLong-format concentration tibble or
NULLif the regression model is"Qualitative".curve_fitTibble with
analyte,regression_model, orNULLif not reported.report_csvCharacter vector of the raw CSV report lines, or
NULLif no report was generated.plate_layoutTibble with one row per well:
well,plate_row,plate_col,well_group,sample_id,well_type,dilution.
Details
Parses a .Q-View binary container (a chemiluminescent multiplex
ELISA project file holding an embedded H2 database plus binary LOB
segments) and extracts the assay data: project metadata, analyte
panel with units, well-group sample assignments, per-well replicate
pixel intensities, summary statistics, and (when present) the
embedded CSV report.
The file format is reverse-engineered from public binary inspection: it begins with a plain-text manifest, followed by three concatenated H2 database segments. The fully-formatted report Q-View renders for the user is stored as a CLOB inside the main H2 segment. This parser scans the binary for that CLOB, reassembles it across H2 page boundaries (2048-byte pages), and parses it as CSV.
Parsing is done in pure R: no Java runtime, no H2 database driver, no system dependencies beyond a working R installation.
See also
strip_qview_prefix(), read_qview_template(),
print.qview(), plot.qview().
Other qview-reader:
read_qview_template()
Examples
if (FALSE) { # \dontrun{
qv <- read_qview("plate.Q-View")
qv
qv$analytes
qv$pixel_intensities
plot(qv, type = "plate_map")
} # }