Skip to content

Repository files navigation

BlotIt - Optimal alignment of western blot and qPCR experiments

The present package bases on blotIt2 by Daniel Kaschek. The aim of this toolbox is to align biological replicate data to a common scale, making the quantitative data of different experiments comparable.

System preperation

blotIt requires the R packages utils, MASS, data.table, ggplot2, rootSolve, data.table and trust. Additionally, the package devtools is needed to install blotIt from github. If not already done, the required packages can be installed by executing

install.packages(c("utils", "MASS", "data.table", "ggplot2", "rootSolve", "trust", "devtools", "data.table"))

blotIt is then installed via devtools:

devtools::install_github("JetiLab/blotIt")

Usage

Data import

First, the package is imported

library(blotIt)

It is assumed that measurements are present in human-readable wide formatted .csv files. An example data set can be found at

exampleDataPath<- system.file(
"extdata", "simDataWide.csv",
package="blotIt"
)

The file has the structure

timeconditionexperimentpAKTpERK...
00Uml Epo180.36138.14
50Uml Epo192.40130.79
..................
100Uml Epo222.3244.22
300Uml Epo233.13
..................

The first three columns contain description data: time points, measurement conditions and experiments. All following columns contain the measurements of different targets, with the first row containing the names and the following rows comprising the measurement values corresponding to the time, condition and experiment stated in the first columns.

The information, which columns contain descriptions, has to be passed to readWide():

importedData<- readWide(
file=exampleDataPath, # path to the example filedescription= seq(1, 3), # Indices of columns containing the informationsep=",",
dec="."
)

The result is then a long table of the form

timeconditionexperimentnamevalue
pAKT100Uml Epo1pAKT80.360534
pAKT250Uml Epo1pAKT92.402752
pAKT3100Uml Epo1pAKT62.321235
pAKT4200Uml Epo1pAKT85.094192
pAKT5300Uml Epo1pAKT65.610456
..................

The wide data table is melted into a long format, where the column name contains the different targets (i.e. the names of the columns not defined as description in readWide) and the column value comprises the respective values.

Data in this long format can then be passed to alignReplicates() for scaling.

Scale data

Scaling biological replicates to one common scale has the advantage that the values, although on arbitrary scale, are comparable. The scaling approach implemented in blotIt is based on optimization:

out<- alignReplicates(
data=importedData,
model="yi / sj",
errorModel="value * sigmaR",
biological=yi~name+time+condition,
scaling=sj~name+experiment,
error=sigmaR~name+1,
normalize=TRUE,
averageTechRep=FALSE,
verbose=FALSE,
normalizeInput=TRUE
)

The resulting out file consists of a list containing the aligned and scaled data as well as some additional datasets.

Plotting

The data can be plotted via

P<- plotIt(
inputList=out,
plotPoints="aligned",
plotLine="aligned",
scales="free",
alignZeros=TRUE,
plotCaption=FALSE
)

In plotPoints and plotLine the respective dataset chosen for plotting is defined. Many more options are available, see ?plotIt for more details.

About

Method for aligning biological replicate data

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages