standPrn | R Documentation |
standPrn
standardizes protein results from Pep2Prn
with
additional choices in data alignment. The utility further supports iterative
normalization against data under selected sample columns, data rows or both.
standPrn(
method_align = c("MC", "MGKernel"),
range_log2r = c(10, 90),
range_int = c(5, 95),
n_comp = NULL,
seed = NULL,
col_select = NULL,
cut_points = Inf,
cache = TRUE,
...
)
method_align |
Character string indicating the method in aligning
|
range_log2r |
Numeric vector at length two. The argument specifies the
range of the |
range_int |
Numeric vector at length two. The argument specifies the
range of the |
n_comp |
Integer; the number of Gaussian components to be used with
|
seed |
Integer; a seed for reproducible fitting at |
col_select |
Character string to a column key in |
cut_points |
A named, numeric vector defines the cut points (knots) for
the median-centering of |
cache |
Not currently used. |
... |
|
In the primary output file, "Protein.txt
", values under columns
log2_R...
are logarithmic ratios at base 2 in relative to the
reference(s)
within each multiplex TMT set, or to the row means within
each plex if no reference(s)
are present. Values under columns
N_log2_R...
are aligned log2_R...
according to
method_align
without scaling normalization. Values under columns
Z_log2_R...
are N_log2_R...
with additional scaling
normalization. Values under columns I...
are reporter-ion or LFQ
intensity before normalization. Values under columns N_I...
are
normalized I...
. Values under columns sd_log2_R...
are the
standard deviation of the log2FC
of proteins from ascribing peptides.
The primary output is in .../Protein/Protein.txt
.
Metadata
load_expts
for metadata preparation and a reduced working example in data normalization
Data normalization
normPSM
for extended examples in PSM data normalization
PSM2Pep
for extended examples in PSM to peptide summarization
mergePep
for extended examples in peptide data merging
standPep
for extended examples in peptide data normalization
Pep2Prn
for extended examples in peptide to protein summarization
standPrn
for extended examples in protein data normalization.
purgePSM
and purgePep
for extended examples in data purging
pepHist
and prnHist
for extended examples in histogram visualization.
extract_raws
and extract_psm_raws
for extracting MS file names
Variable arguments of 'filter_...'
contain_str
, contain_chars_in
, not_contain_str
,
not_contain_chars_in
, start_with_str
,
end_with_str
, start_with_chars_in
and
ends_with_chars_in
for data subsetting by character strings
Missing values
pepImp
and prnImp
for missing value imputation
Informatics
pepSig
and prnSig
for significance tests
pepVol
and prnVol
for volcano plot visualization
prnGSPA
for gene set enrichment analysis by protein significance pVals
gspaMap
for mapping GSPA to volcano plot visualization
prnGSPAHM
for heat map and network visualization of GSPA results
prnGSVA
for gene set variance analysis
prnGSEA
for data preparation for online GSEA.
pepMDS
and prnMDS
for MDS visualization
pepPCA
and prnPCA
for PCA visualization
pepLDA
and prnLDA
for LDA visualization
pepHM
and prnHM
for heat map visualization
pepCorr_logFC
, prnCorr_logFC
, pepCorr_logInt
and
prnCorr_logInt
for correlation plots
anal_prnTrend
and plot_prnTrend
for trend analysis and visualization
anal_pepNMF
, anal_prnNMF
, plot_pepNMFCon
,
plot_prnNMFCon
, plot_pepNMFCoef
, plot_prnNMFCoef
and
plot_metaNMF
for NMF analysis and visualization
Custom databases
Uni2Entrez
for lookups between UniProt accessions and Entrez IDs
Ref2Entrez
for lookups among RefSeq accessions, gene names and Entrez IDs
prepGO
for gene
ontology
prepMSig
for molecular
signatures
prepString
and anal_prnString
for STRING-DB
Column keys in PSM, peptide and protein outputs
system.file("extdata", "psm_keys.txt", package = "proteoQ")
system.file("extdata", "peptide_keys.txt", package = "proteoQ")
system.file("extdata", "protein_keys.txt", package = "proteoQ")
# ===================================
# Protein normalization
# ===================================
## !!!require the brief working example in `?load_expts`
# ===================================
# (1) `MGKernel`
# ===================================
# !!! Initial `Protein.txt` results from `Pep2Prn()` are in median centering.
# !!! The first `MGKernel` normalization will always be applied to all samples.
# !!! If changing `n_comp`, succeeding `MGKernel` normalization(s) will be
# applied to all samples (a fresh-start principle, see also section 4)
# fresh start of `Protein.txt` (for demonstration)
unlink(file.path(dat_dir, "Protein"), recursive = TRUE, force = TRUE)
Pep2Prn(use_unique_pep = TRUE)
# data in initial `Protein.txt` from `Pep2Prn()` are aligned by MC
# (for samplicity only plot against samples indicated under `expt_smry.xlsx::BI_1`)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mc.png)
# (1.1) the first `MGKernel` after `Pep2Prn()`
# (default double trimming by log2FC and intensity percentiles also apply)
standPrn(
method_align = MGKernel,
n_comp = 3,
seed = 749662,
maxit = 200,
epsilon = 1e-05,
)
# histograms for all data rows
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mG.png)
# human subset
# (a little off in relative to all data rows)
prnHist(scale_log2r = TRUE, col_select = BI_1, filter_by = exprs(species == "human"), filename = mG_human.png)
# mouse subset
# (a lot off in relative to all data rows)
prnHist(scale_log2r = TRUE, col_select = BI_1, filter_by = exprs(species == "mouse"), filename = mG_mouse.png)
# (1.2) additive step to (1.1): against `expt_smry.xlsx::W2` samples and based on their human subset
standPrn(
method_align = MGKernel,
n_comp = 3,
seed = 749662,
maxit = 200,
epsilon = 1e-05,
col_select = W2,
slice_peps_by = exprs(species == "human"),
)
# human subset
# (W2 samples are now aligned)
prnHist(scale_log2r = TRUE, col_select = BI_1, filter_by = exprs(species == "human"), filename = mG_bi1_human_slicehuw2.png)
# (1.3) additive to (1.2): against `expt_smry.xlsx::W16` samples and based on their human subset
standPrn(
method_align = MGKernel,
n_comp = 3,
seed = 749662,
maxit = 200,
epsilon = 1e-05,
col_select = W16,
slice_peps_by = exprs(species == "human"),
)
# human subset
# (W16 samples are now also aligned)
prnHist(scale_log2r = TRUE, col_select = BI_1, filter_by = exprs(species == "human"), filename = mG_human_slicehuw16.png)
# side effects: to recaptulate the misalignment between human data and human + mouse data
# (this is because density curves are based on the latest `standPrn` at `method_align = MGKernel`)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mG_recap.png)
# ===================================
# (2) Mixed-bed
# ===================================
# start over
unlink(file.path(dat_dir, "Protein"), recursive = TRUE, force = TRUE)
Pep2Prn(use_unique_pep = TRUE)
# data in initial `Protein.txt` from `Pep2Prn()` are aligned by MC
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mc.png)
# (2.1) the first `MGKernel` alignment against all samples using all data rows
standPrn(
method_align = MGKernel,
n_comp = 3,
seed = 883,
maxit = 200,
epsilon = 1e-05,
)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mG.png)
# (2.2) followed by MC against selected samples using all data rows
# (arguments `n_comp`, `seed`, `maxit`, `epsilon` have no effects at `method_align = MC`)
standPrn(
method_align = MC,
n_comp = 3,
seed = 883,
maxit = 200,
epsilon = 1e-05,
col_select = Select_sub,
)
# the net result is mixed-bed alignment of MGKernel and MC
# (with samples indicated by `Select_sub` aligned by MC and the remaining by MGKernel)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mix.png)
# ===================================
# (3) Mixed-bed against data subset
# ===================================
# start over
unlink(file.path(dat_dir, "Protein"), recursive = TRUE, force = TRUE)
Pep2Prn(use_unique_pep = TRUE)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mc.png)
# (3.1) MC alignment for all samples, but only selected data rows used for normalization
standPrn(
method_align = MC,
slice_peps_by = exprs(prot_n_psm >= 10),
)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mc_selrows.png)
# (3.2) first `MGKernel` for all samples using selected data rows
standPrn(
method_align = MGKernel,
n_comp = 3,
seed = 400,
maxit = 200,
epsilon = 1e-05,
# will be forced to all samples since this is the first `MGKernel`
# col_select = Select_sub,
slice_peps_by = exprs(prot_n_psm >= 10),
)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mG_selrows.png)
# (3.3) back to MC for selected samples using selected data rows
# (mixed-bed again, but based on data subset by `prot_n_psm >= 10`)
standPrn(
method_align = MC,
col_select = Select_sub,
slice_peps_by = exprs(prot_n_psm >= 10),
)
# side-effects comparing `MC` and `MGKernel`
# (density curves are from the preceding `MGKernel` in (3.2))
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mix_selcols_selrows.png)
# ===================================
# (4) Modified `n_comp`
# ===================================
# start over
unlink(file.path(dat_dir, "Protein"), recursive = TRUE, force = TRUE)
Pep2Prn(use_unique_pep = TRUE)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mc.png)
# (4.1) first `MGKernel` at `n_comp = 3` for all samples
standPrn(
method_align = MGKernel,
n_comp = 3,
seed = 400,
maxit = 200,
epsilon = 1e-05,
)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mG3.png)
# (4.2) a fresh start since changing `n_comp`
# (e.g. `col_select = Select_sub` ignored; instead apply `MGKernel` to all samples)
standPrn(
method_align = MGKernel,
n_comp = 2,
seed = 400,
maxit = 200,
epsilon = 1e-05,
# ignored
col_select = Select_sub,
)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mG2.png)
# ===================================
# (5) housekeeping normalizers:
# suggest `method_align = MC`
# ===================================
# start over
unlink(file.path(dat_dir, "Protein"), recursive = TRUE, force = TRUE)
Pep2Prn(use_unique_pep = TRUE)
# initial `Protein.txt` from `Pep2Prn()` is aligned by MC
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mc.png)
# (GAPDH more abundant in W16 according to MC alignment)
prnHist(scale_log2r = TRUE, col_select = BI_1, filter_ = exprs(gene == "GAPDH"), filename = mcGAPDH.png)
# heat map
# (outputs under `Protein/Heatmap` folder; for help, ?pepHM)
prnHM(
col_select = BI_1,
xmin = -2,
xmax = 2,
xmargin = 0.1,
annot_cols = c("Group", "Color", "Alpha", "Shape"),
annot_colnames = c("Group", "Lab", "Batch", "WHIM"),
cluster_rows = FALSE,
annot_rows = c("gene"),
show_rownames = TRUE,
show_colnames = TRUE,
fontsize_row = 10,
cellwidth = 12,
cellheight = 12,
width = 18,
height = 12,
filter_by = exprs(gene %in% c("GAPDH")),
filename = "mcGAPDH.png",
)
# renormalize against GAPDH
# (not `MGkernel` with few data points)
standPrn(
method_align = MC,
slice_hskp = exprs(gene %in% c("GAPDH")),
)
# (now log2FC profiles aligned by GAPDH)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = wrong_hskp.png)
# not to keep the above example with no data under `JHU_TMT1` and `PNNL_TMT1`
# (surely need different normalizer(s))
unlink(file.path(dat_dir, "Protein"), recursive = TRUE, force = TRUE)
## Not run:
# change to `MGKernel`
standPrn(
method_align = MGKernel,
n_comp = 3,
seed = 400,
maxit = 200,
epsilon = 1e-05,
)
prnHist(scale_log2r = TRUE, col_select = BI_1, filename = mG.png)
# then renormalize against data from GAPDH
# (error: too few entries for fitting with multiple Gaussians)
standPrn(
method_align = MGKernel,
n_comp = 3,
seed = 400,
maxit = 200,
epsilon = 1e-05,
col_select = W2,
slice_hskp = exprs(gene %in% c("GAPDH")),
)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.