Parser for data exported from a Tecan Spark plate reader using SparkControl Magellan software. Handles absorbance and/or fluorescence readings (but not spectra, such as absorbance scans). Handles standard or kinetic/timecourse data.

magellan_parse(
  data_csv,
  layout_csv,
  timeseries = FALSE,
  timestart = "0s",
  interval = 10,
  mode = "read_first",
  metadata_above = 0,
  metadata_below = 0,
  custom = FALSE,
  startcol = 2,
  endcol = 97,
  insert_wells_above = 0,
  insert_wells_below = 0
)

Arguments

data_csv

path to csv file from Tecan Spark plate reader

layout_csv

path to csv file containing plate layout information

timeseries

logical. Is the data a timeseries? Defaults to FALSE.

timestart

string indicating the timepoint specified in column1 of the export file corresponding to the first row of data. "0s" by default.

interval

numeric. time interval in minutes between readings in a kinetic loop. Default is 10.

mode

mode has two options: "read_first" and "incubate_first". Setting "read_first" mode tells the script that the plate reader method started with reading the relevant channels, followed by incubation for the interval time, meaning the first timepoint was at 0 min. Setting "incubate_first" mode tells the script the opposite was true, making the first timepoint equal to the length of the set interval, eg 10 min.

metadata_above

numeric value corresponding to the number of types of metadata requested during creation of the Excel export file in Magellan, that was placed ABOVE the data. These can include Well positions, Layout, Replicate info, etc.

metadata_below

numeric value corresponding to the number of types of metadata requested during creation of the Excel export file in Magellan, that was placed BELOW the data. These can include Well positions, Layout, Replicate info, etc.

custom

Boolean flag indicating whether script should deviate from the default of collecting data from columns 2:97. If TRUE, script looks at arguments insert_wells_above, insert_wells_below, startcol, endcol. The total number of columns needs to add up to 96 if the layout_csv file includes rows A1-H12 and they must be in the same order as the layout file because this script joins positionally, not by recorded well value (wells aren't exported by default).

startcol

numeric value corresponding to first column of data_csv corresponding to data

endcol

numeric value corresponding to last column of data_csv corresponding to data

insert_wells_above

numeric value corresponding to number of empty entries to insert before data in custom mode. This can be useful if a subplate was read instead of an entire plate, meaning the number of rows created by startcol:endcol does not add up to 96. For example, if the data starts at B1, but the plate layout starts at A1, you can set this to 12 to add 12 empty rows above the data which allows correct joining of data and layout tables.

insert_wells_below

numeric value corresponding to number of empty entries to insert after data in custom mode.

Value

a data.frame containing the parsed plate reader data

Examples

parsed_calib_plate <- magellan_parse(data_csv = "calibrations/20210104_calibration_data.csv", layout_csv = "calibrations/20210104_calibration_plate_layout.csv", timeseries = FALSE)
parsed_data <- magellan_parse(data_csv = "data/20210104_data.csv", layout_csv = "data/20210104_data_layout.csv", timeseries = TRUE, timestart = "0s", interval = 30, mode = "read_first")