readScreen: Read and assemble a drug screen dataset

Description Usage Arguments Value Examples

View source: R/readScreen.R

Description

This function creates a data frame that contains the screening result from a whole drug screen experiment. Drugs and samples are annotated based on the drug annotation and sample annotation files.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
readScreen(
  rawDir,
  plateAnnotationFile,
  wellAnnotationFile,
  rowRange,
  colRange,
  sep,
  negWell = c(),
  posWell = c(),
  normalization = FALSE,
  method = "negatives",
  discardLayer = 0,
  commaAsDecimal = FALSE,
  allowNA = FALSE,
  bySample = FALSE
)

Arguments

rawDir

a character string specifying the location of the raw data folder.

plateAnnotationFile

a character string specifying the location of the plate annotation file.

wellAnnotationFile

a character string specifying the location of the well annotation file.

rowRange

either an integer vector with length of two or an integer value. If it's an vector, it should specify the range of the lines that contain the actual values. If it's an integer values, only the starting line is indicated and the end line is the end of the file.

colRange

either an integer vector with length of two or an integer value. If it's an vector, it should specify the range of the columns (separated by delimiters) that contain the actual values. If it's an integer, only the starting column is indicated and the end column is the last column in the file.

sep

a character string specifying the delimiters for extracting values in the text file. A regular expression can be used. The default value is using either tab or semicolon as delimiter.

negWell

a character vector or a character string of well IDs or drug names (if the 'name' column is present in well annotation), which specifies the negative control wells

posWell

a character vector or a character string of well IDs or drug names (if the 'name' column is present in well annotation), which specifies the positive control wells

normalization

a logical value to indicate whether to calculate percent inhibition based on control wells on the plate. Default is FALSE.

method

a character string, either 'negatives' or 'both', specifying the method for calculating percent inhibition values. If 'negatives' is used, each measurement on the plate will be divided by the median of the values of negative control wells on the same plate. If 'both' is used, a 'normalized percent inhibition (NPI)' is applied in a per-plate basis. For an inhibition assay, this method divides the difference between each measurement on a plate and the median measurement of the positive controls on that plate by the difference between the median measurement of negative controls and positive controls on that well. The default value is 'negatives'.

discardLayer

an integer values. To avoid the impact of incubation effect on the negative controls, a certain number of the exterior wells on the plate can be ignored when summarising the measurement of controls. 0 means do not discard any control wells. A value above zero indicates the N layers of wells on the edge should be discarded.

commaAsDecimal

a logical value, whether commas is used as decimal in the input data. Default if FALSE.

allowNA

a logical value, whether to allow NA (missing or empty) values in the input data.

bySample

a logic value, indicates whether to normalize the viability by sample rather than by plate. This is for situations where multiple samples are on the same plate.

Value

A data frame with each row represent a well on a plate and the following columns:

wellID

well identifier

rowID

row identifier

colID

column identifier

value

raw signal intensity from a plate reader

fileName

input files names (without extension names) for the plates

name

drug name, if this column is present in the well annotation file

concentration

drug concentration, if this column is present in the well annotation file

wellType

the type of wells, can be either neg (negative controls), pos (positive controls) or sample (drug wells)

normVal

normalized viability based on control wells on the plate, if the normalization step is performed by setting normalization = TRUE

Depends on the user-specified plate and well annotations, other columns, such as sampleID, patientID, batch and so on, in the annotation files can also be present in the output table.

Examples

1
2
3
4
5
6
7
8
9
rawFolder <- system.file('testData/rawData', package = 'DrugScreenExplorer')
plateFile <- system.file('testData/plateAnno/plateAnno.tsv', package = 'DrugScreenExplorer')
wellFile <- system.file('testData/wellAnno/wellAnno.tsv', package = 'DrugScreenExplorer')
screenData <- readScreen(rawDir = rawFolder, plateAnnotationFile = plateFile,
                        wellAnnotationFile = wellFile,
                        rowRange = c(3,18), colRange = 2,
                        sep = '[;\t]', commaAsDecimal = FALSE,
                        negWell <- c('DMSO','PBS'), posWell = c())
# see vignette for more instructions

lujunyan1118/DrugScreenExplorer_dev documentation built on Dec. 21, 2021, 12:42 p.m.