Title: | Non-parametric analysis of response curves for thermal proteome profiling experiments |
---|---|
Description: | Perform non-parametric analysis of response curves as described by Childs, Bach, Franken et al. (2019): Non-parametric analysis of thermal proteome profiles reveals novel drug-binding proteins. |
Authors: | Dorothee Childs, Nils Kurzawa |
Maintainer: | Nils Kurzawa <[email protected]> |
License: | GPL-3 |
Version: | 1.19.0 |
Built: | 2024-12-22 05:52:51 UTC |
Source: | https://github.com/bioc/NPARC |
Fit sigmoid model
fitSingleSigmoid(x, y, start = c(Pl = 0, a = 550, b = 10))
fitSingleSigmoid(x, y, start = c(Pl = 0, a = 550, b = 10))
x |
numeric vector of the independent variables (typically temperature) |
y |
numeric vector of the dependent variables (typically relative abundance measurements) |
start |
numeric vector of start parameters for the melting curve equation |
Fits the following function to the data:
model summary of type "nls"
data(stauro_TPP_data_tidy) stk4 <- dplyr::filter(stauro_TPP_data_tidy, grepl("STK4", uniqueID)) fitSingleSigmoid(stk4$temperature, stk4$relAbundance)
data(stauro_TPP_data_tidy) stk4 <- dplyr::filter(stauro_TPP_data_tidy, grepl("STK4", uniqueID)) fitSingleSigmoid(stk4$temperature, stk4$relAbundance)
Control parameters for model fitting
getParams(start = c(Pl = 0, a = 550, b = 10), maxAttempts = 100)
getParams(start = c(Pl = 0, a = 550, b = 10), maxAttempts = 100)
start |
Numeric vector of start parameters for the melting curve equation |
maxAttempts |
Number of resampling steps in case of unsuccessful model fits |
list of two elements: 1) "start" listing the starting parameters for melting curve fitting, 2) "maxAttempts" listing the maximal number of attempts the fit should be allowed
data(stauro_TPP_data_tidy) df <- dplyr::filter(stauro_TPP_data_tidy, grepl("MAPK|ATP|CDK|GTP|CRK", uniqueID)) testResults <- runNPARC(x = df$temperature, y = df$relAbundance, id = df$uniqueID, groupsAlt = df$compoundConcentration, dfType = "empirical", control = getParams(maxAttempts = 50))
data(stauro_TPP_data_tidy) df <- dplyr::filter(stauro_TPP_data_tidy, grepl("MAPK|ATP|CDK|GTP|CRK", uniqueID)) testResults <- runNPARC(x = df$temperature, y = df$relAbundance, id = df$uniqueID, groupsAlt = df$compoundConcentration, dfType = "empirical", control = getParams(maxAttempts = 50))
NPARC
packageNon-parametric analysis of response curves
See the preprint on Childs, Bach, Franken et al. (2019): Non-parametric analysis of thermal proteome profiles reveals novel drug-binding proteins
Fit melting curve and return model metrics as well as predictions for the null and alternative models.
NPARCfit(x, y, id, control = getParams(), groupsNull = NULL, groupsAlt, BPPARAM = BiocParallel::SerialParam(progressbar = TRUE), returnModels = FALSE)
NPARCfit(x, y, id, control = getParams(), groupsNull = NULL, groupsAlt, BPPARAM = BiocParallel::SerialParam(progressbar = TRUE), returnModels = FALSE)
x |
numeric vector of the independent variables (typically temperature) |
y |
numeric vector of the dependent variables (typically relative abundance measurements) |
id |
character vector with the protein ID to which each each data point belongs. |
control |
list of parameters used to control specific parts of the analyse |
groupsNull |
one or more vectors with grouping variables for the null models. See details. |
groupsAlt |
one or more vectors with grouping variables for the alternative models. See details. |
BPPARAM |
BiocParallel parameter object to invoke curve fitting in parallel. Default: BiocParallel::SerialParam() |
returnModels |
boolean value. If true, the fitted models are returned together with the test results |
groupsNull
or groupsAlt
can either be a single vector each, or data.frames of the same length as x
and y
with one column per factor
data frame with fitted model parameters and additional columns listing e.g. residuals sum of squares
data(stauro_TPP_data_tidy) df <- dplyr::filter(stauro_TPP_data_tidy, grepl("CDK|GTP|CRK", uniqueID)) testResults <- NPARCfit(x = df$temperature, y = df$relAbundance, id = df$uniqueID, groupsAlt = df$compoundConcentration)
data(stauro_TPP_data_tidy) df <- dplyr::filter(stauro_TPP_data_tidy, grepl("CDK|GTP|CRK", uniqueID)) testResults <- NPARCfit(x = df$temperature, y = df$relAbundance, id = df$uniqueID, groupsAlt = df$compoundConcentration)
Perform F-test
NPARCtest(modelMetrics, dfType = c("empirical", "theoretical"))
NPARCtest(modelMetrics, dfType = c("empirical", "theoretical"))
modelMetrics |
data.frame with results of the model fit in long format. |
dfType |
character value indicating the method for degrees of freedom computation for the F-test. Theoretical yields the text-book solution. Empirical yields estimates derived from the distribution moments of the RSS. |
data frame with fitted model parameters and additional columns listing e.g. residuals sum of squares of null and alterantive model and raw and adjusted p values retrieved from testing
data(stauro_TPP_data_tidy) df <- dplyr::filter(stauro_TPP_data_tidy, grepl("CDK|GTP|CRK", uniqueID)) fits <- NPARCfit(x = df$temperature, y = df$relAbundance, id = df$uniqueID, groupsNull = NULL, groupsAlt = df$compoundConcentration, returnModels = FALSE) modelMetrics <- fits$metrics testRes <- NPARCtest(modelMetrics, dfType = "theoretical")
data(stauro_TPP_data_tidy) df <- dplyr::filter(stauro_TPP_data_tidy, grepl("CDK|GTP|CRK", uniqueID)) fits <- NPARCfit(x = df$temperature, y = df$relAbundance, id = df$uniqueID, groupsNull = NULL, groupsAlt = df$compoundConcentration, returnModels = FALSE) modelMetrics <- fits$metrics testRes <- NPARCtest(modelMetrics, dfType = "theoretical")
Wrapper function for melting curve fitting and hypothesis testing.
runNPARC(x, y, id, groupsNull = NULL, groupsAlt, BPPARAM = BiocParallel::SerialParam(progressbar = TRUE), dfType = c("theoretical", "empirical"), control = getParams())
runNPARC(x, y, id, groupsNull = NULL, groupsAlt, BPPARAM = BiocParallel::SerialParam(progressbar = TRUE), dfType = c("theoretical", "empirical"), control = getParams())
x |
numeric vector of the independent variables (typically temperature) |
y |
numeric vector of the dependent variables (typically relative abundance measurements) |
id |
character vector with the protein ID to which each each data point belongs. |
groupsNull |
one or more vectors with grouping variables for the null models. See details. |
groupsAlt |
one or more vectors with grouping variables for the alternative models. See details. |
BPPARAM |
BiocParallel parameter object to invoke curve fitting in parallel. Default: BiocParallel::SerialParam() |
dfType |
character value indicating the method for degrees of freedom computation for the F-test. Theoretical yields the text-book solution. Empirical yields estimates derived from the distribution moments of the RSS. |
control |
list of parameters used to control specific parts of the analyse |
groupsNull
or groupsAlt
can either be a single vector each, or data.frames of the same length as x
and y
with one column per factor
data frame with fitted model parameters and additional columns listing e.g. residuals sum of squares of null and alterantive model
data(stauro_TPP_data_tidy) df <- dplyr::filter(stauro_TPP_data_tidy, grepl("CDK|GTP|CRK", uniqueID)) testResults <- runNPARC(x = df$temperature, y = df$relAbundance, id = df$uniqueID, groupsAlt = df$compoundConcentration, dfType = "empirical")
data(stauro_TPP_data_tidy) df <- dplyr::filter(stauro_TPP_data_tidy, grepl("CDK|GTP|CRK", uniqueID)) testResults <- runNPARC(x = df$temperature, y = df$relAbundance, id = df$uniqueID, groupsAlt = df$compoundConcentration, dfType = "empirical")
Data from a thermal proteome profiling (TPP) experiment investigating the ATP-competitive pan-kinase inhibitor staurosporine on K562 cells. The data has been downloaded the data from the supplement of the respective publication and converted into tidy format.
data(stauro_TPP_data_tidy)
data(stauro_TPP_data_tidy)
An object of class "data.frame"
Savitski et al. (2014): Tracking cancer drugs in living cells by thermal profiling of the proteome. Science 346, 1255784.