Last data update: 2014.03.03

R: Function to apply t-test separately for all peptides of each...
applyttestPepR Documentation

Function to apply t-test separately for all peptides of each protein

Description

Generate fold changes and p-values for each protein (col 1) determined by a number of peptides (col 2).

Usage

applyttestPep(peptides, Group, doLogs = TRUE, numerator = levels(as.factor(Group))[1])

Arguments

peptides

Data frame with two descriptive columns: proteins, peptides, then data in the remaining ncol - 2 columns.

Group

Factor describing data membership. Must have two levels, and length = ncol(mat) - 2.

doLogs

TRUE/FALSE, log-transform data prior to analysis

numerator

The group level used as the numerator in the fold change.

Value

Data frame with rows Protein, fold change and p-value.

See Also

applyttest

Examples


# make random matrix with first 10 proteins differentially expressed
mat = exp(6+matrix(rnorm(6000), ncol=6))
Protein = sort(paste("P", sample(1:300, 1000, replace=TRUE)))
Peptide = paste("Pep", 1:1000)
for (j in 1:10) mat[Protein == unique(Protein)[j], 4:6] = 3*mat[Protein == unique(Protein)[j], 1:3]

res = applyttestPep(data.frame(Protein, Peptide, mat), rep(c("A", "B"), each=3), numerator="B")
# first 10 proteins should have fold change 3
plot(log(res$FC), -log(res$pval), col=rainbow(2)[1+ as.numeric(1:1000 > 10)])

# add some missing values
mat[5:20,4] = NA
res = applyttestPep(data.frame(Protein, Peptide, mat), rep(c("A", "B"), each=3), numerator="B")
# first 10 proteins should have fold change 3
plot(log(res$FC), -log(res$pval), col=rainbow(2)[1+ as.numeric(1:1000 > 10)])

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(SwathXtend)
Loading required package: e1071
Loading required package: openxlsx
Loading required package: VennDiagram
Loading required package: grid
Loading required package: futile.logger
Loading required package: lattice
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/SwathXtend/applyttestPep.Rd_%03d_medium.png", width=480, height=480)
> ### Name: applyttestPep
> ### Title: Function to apply t-test separately for all peptides of each
> ###   protein
> ### Aliases: applyttestPep
> ### Keywords: ~kwd1 ~kwd2
> 
> ### ** Examples
> 
> 
> # make random matrix with first 10 proteins differentially expressed
> mat = exp(6+matrix(rnorm(6000), ncol=6))
> Protein = sort(paste("P", sample(1:300, 1000, replace=TRUE)))
> Peptide = paste("Pep", 1:1000)
> for (j in 1:10) mat[Protein == unique(Protein)[j], 4:6] = 3*mat[Protein == unique(Protein)[j], 1:3]
> 
> res = applyttestPep(data.frame(Protein, Peptide, mat), rep(c("A", "B"), each=3), numerator="B")
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
> # first 10 proteins should have fold change 3
> plot(log(res$FC), -log(res$pval), col=rainbow(2)[1+ as.numeric(1:1000 > 10)])
> 
> # add some missing values
> mat[5:20,4] = NA
> res = applyttestPep(data.frame(Protein, Peptide, mat), rep(c("A", "B"), each=3), numerator="B")
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
Error in t.test.default(log(v)) : not enough 'x' observations
> # first 10 proteins should have fold change 3
> plot(log(res$FC), -log(res$pval), col=rainbow(2)[1+ as.numeric(1:1000 > 10)])
> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>