pepPCA | R Documentation |
prnPCA
visualizes the principal component analysis (PCA) for peptide
data.
prnPCA
visualizes the principal component analysis (PCA) for protein
data.
pepPCA(
col_select = NULL,
col_group = NULL,
col_color = NULL,
col_fill = NULL,
col_shape = NULL,
col_size = NULL,
col_alpha = NULL,
color_brewer = NULL,
fill_brewer = NULL,
size_manual = NULL,
shape_manual = NULL,
alpha_manual = NULL,
choice = c("prcomp"),
scale_log2r = TRUE,
complete_cases = FALSE,
impute_na = FALSE,
center_features = TRUE,
scale_features = TRUE,
show_ids = TRUE,
show_ellipses = FALSE,
dimension = 2,
folds = 1,
df = NULL,
filepath = NULL,
filename = NULL,
theme = NULL,
type = c("obs", "feats"),
...
)
prnPCA(
col_select = NULL,
col_group = NULL,
col_color = NULL,
col_fill = NULL,
col_shape = NULL,
col_size = NULL,
col_alpha = NULL,
color_brewer = NULL,
fill_brewer = NULL,
size_manual = NULL,
shape_manual = NULL,
alpha_manual = NULL,
choice = c("prcomp"),
scale_log2r = TRUE,
complete_cases = FALSE,
impute_na = FALSE,
center_features = TRUE,
scale_features = TRUE,
show_ids = TRUE,
show_ellipses = FALSE,
dimension = 2,
folds = 1,
df = NULL,
filepath = NULL,
filename = NULL,
theme = NULL,
type = c("obs", "feats"),
...
)
col_select |
Character string to a column key in |
col_group |
Character string to a column key in |
col_color |
Character string to a column key in |
col_fill |
Character string to a column key in |
col_shape |
Character string to a column key in |
col_size |
Character string to a column key in |
col_alpha |
Character string to a column key in |
color_brewer |
Character string to the name of a color brewer for use in
ggplot2::scale_color_brewer,
i.e., |
fill_brewer |
Character string to the name of a color brewer for use in
ggplot2::scale_fill_brewer,
i.e., |
size_manual |
Numeric vector to the scale of sizes for use in
ggplot2::scale_size_manual,
i.e., |
shape_manual |
Numeric vector to the scale of shape IDs for use in
ggplot2::scale_shape_manual,
i.e., |
alpha_manual |
Numeric vector to the scale of transparency of objects for
use in
ggplot2::scale_alpha_manual
, i.e., |
choice |
Character string; the PCA method in |
scale_log2r |
Logical; if TRUE, adjusts |
complete_cases |
Logical; always TRUE for PCA. |
impute_na |
Logical; if TRUE, data with the imputation of missing values will be used. The default is FALSE. |
center_features |
Logical; if TRUE, adjusts log2FC to center zero by
features (proteins or peptides). The default is TRUE. Note the difference to
data alignment with |
scale_features |
Logical; if TRUE, adjusts log2FC to the same scale of
variance by features (protein or peptide entries). The default is TRUE. Note
the difference to data scaling with |
show_ids |
Logical; if TRUE, shows the sample IDs in |
show_ellipses |
Logical; if TRUE, shows the ellipses by sample groups
according to |
dimension |
Numeric; The desired dimension for pairwise visualization. The default is 2. |
folds |
Not currently used. Integer; the degree of folding data into subsets. The default is one without data folding. |
df |
The name of a primary data file. By default, it will be determined
automatically after matching the types of data and analysis with an
|
filepath |
A file path to output results. By default, it will be
determined automatically by the name of the calling function and the value
of |
filename |
A representative file name to outputs. By default, the
name(s) will be determined automatically. For text files, a typical file
extension is |
theme |
A ggplot2 theme, i.e., theme_bw(), or a custom theme. At the NULL default, a system theme will be applied. |
type |
Character string indicating the type of PCA by either
observations or features. At the |
... |
|
The utility is a wrapper of prcomp
against log2FC
.
The results are then visualized by either observations or
features. See also
https://proteoq.netlify.app/post/wrapping-pca-into-proteoq/ for data centering
by either observations or features.
PCA plots.
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")
# ===================================
# PCA
# ===================================
## !!!require the brief working example in `?load_expts`
## global option
scale_log2r <- TRUE
# peptides, all samples
pepPCA(
col_select = Select,
filter_peps_by = exprs(pep_n_psm >= 3),
show_ids = FALSE,
filename = "peps_rowfil.png",
)
# peptides, samples under column `BI`
pepPCA(
col_select = BI,
col_shape = Shape,
col_color = Alpha,
filter_peps_by = exprs(pep_n_psm >= 10),
show_ids = FALSE,
filename = "peps_rowfil_colsel.png",
)
# proteins
prnPCA(
col_color = Color,
col_shape = Shape,
show_ids = FALSE,
filter_peps_by = exprs(prot_n_pep >= 5),
filename = "prns_rowfil.png",
)
# subset by mean deviation values
# deviations to means may not be symmetric;
prnPCA(
col_select = Select,
filter_peps_by = exprs(prot_mean_z >= -.25, prot_mean_z <= .3),
show_ids = FALSE,
filename = "subset_by_mean_dev.png",
)
# proteins, custom palette
prnPCA(
col_shape = Shape,
color_brewer = Set1,
show_ids = FALSE,
filename = "my_palette.png",
)
# proteins, by features
prnPCA(
type = feats,
scale_log2r = TRUE,
filename = "by_feats.png",
)
## additional row filtration by pVals (proteins, impute_na = FALSE)
# if not yet, run prerequisitive significance tests at `impute_na = FALSE`
pepSig(
impute_na = FALSE,
W2_bat = ~ Term["(W2.BI.TMT2-W2.BI.TMT1)",
"(W2.JHU.TMT2-W2.JHU.TMT1)",
"(W2.PNNL.TMT2-W2.PNNL.TMT1)"],
W2_loc = ~ Term_2["W2.BI-W2.JHU",
"W2.BI-W2.PNNL",
"W2.JHU-W2.PNNL"],
W16_vs_W2 = ~ Term_3["W16-W2"],
)
prnSig(impute_na = FALSE)
# (`W16_vs_W2.pVal (W16-W2)` now a column key)
prnPCA(
col_color = Color,
col_shape = Shape,
show_ids = FALSE,
filter_peps_by = exprs(prot_n_pep >= 5),
filter_by = exprs(`W16_vs_W2.pVal (W16-W2)` <= 1e-6),
filename = pvalcutoff.png,
)
# analogous peptides
prnPCA(
col_color = Color,
col_shape = Shape,
show_ids = FALSE,
filter_peps_by = exprs(prot_n_pep >= 5),
filter_by = exprs(`W16_vs_W2.pVal (W16-W2)` <= 1e-6),
filename = pvalcutoff.png,
)
## additional row filtration by pVals (proteins, impute_na = TRUE)
# if not yet, run prerequisitive NA imputation
pepImp(m = 2, maxit = 2)
prnImp(m = 5, maxit = 5)
# if not yet, run prerequisitive significance tests at `impute_na = TRUE`
pepSig(
impute_na = TRUE,
W2_bat = ~ Term["(W2.BI.TMT2-W2.BI.TMT1)",
"(W2.JHU.TMT2-W2.JHU.TMT1)",
"(W2.PNNL.TMT2-W2.PNNL.TMT1)"],
W2_loc = ~ Term_2["W2.BI-W2.JHU",
"W2.BI-W2.PNNL",
"W2.JHU-W2.PNNL"],
W16_vs_W2 = ~ Term_3["W16-W2"],
)
prnSig(impute_na = TRUE)
prnPCA(
impute_na = TRUE,
col_color = Color,
col_shape = Shape,
show_ids = FALSE,
filter_peps_by = exprs(prot_n_pep >= 5),
filter_by = exprs(`W16_vs_W2.pVal (W16-W2)` <= 1e-6),
filename = filpvals_impna.png,
)
# analogous peptides
pepPCA(
impute_na = TRUE,
col_color = Color,
col_shape = Shape,
show_ids = FALSE,
filter_peps_by = exprs(prot_n_pep >= 5),
filter_by = exprs(`W16_vs_W2.pVal (W16-W2)` <= 1e-6),
filename = filpvals_impna.png,
)
## a higher dimension
pepPCA(
show_ids = FALSE,
rank. = 5,
dimension = 3,
filename = d3.pdf,
)
prnPCA(
show_ids = TRUE,
rank. = 4,
dimension = 3,
filename = d3.png,
)
prnPCA(
type = feats,
rank. = 4,
dimension = 3,
filename = feat_d3.png,
)
# show ellipses
# (column `expt_smry.xlsx::Color` codes `labs`.)
prnPCA(
show_ids = FALSE,
show_ellipses = TRUE,
col_group = Color,
rank. = 4,
dimension = 3,
filename = d3_labs.png,
)
# (column `expt_smry.xlsx::Shape` codes `WHIMs`.)
prnPCA(
show_ids = FALSE,
show_ellipses = TRUE,
col_group = Shape,
rank. = 4,
dimension = 3,
filename = d3_whims.png,
)
## custom theme
library(ggplot2)
my_theme <- theme_bw() + theme(
axis.text.x = element_text(angle=0, vjust=0.5, size=20),
axis.text.y = element_text(angle=0, vjust=0.5, size=20),
axis.title.x = element_text(colour="black", size=20),
axis.title.y = element_text(colour="black", size=20),
plot.title = element_text(face="bold", colour="black", size=20, hjust=0.5, vjust=0.5),
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
legend.key = element_rect(colour = NA, fill = 'transparent'),
legend.background = element_rect(colour = NA, fill = "transparent"),
legend.title = element_blank(),
legend.text = element_text(colour="black", size=14),
legend.text.align = 0,
legend.box = NULL
)
pepPCA(
impute_na = TRUE,
col_color = Color,
col_shape = Shape,
show_ids = FALSE,
filter_peps_by = exprs(prot_n_pep >= 5),
filter_by = exprs(`W16_vs_W2.pVal (W16-W2)` <= 1e-6),
theme = my_theme,
filename = my_theme.png,
)
## direct uses of ggplot2
library(ggplot2)
res <- prnPCA(filename = foo.png)
# names(res)
p_fil <- ggplot(res$pca, aes(PC1, PC2)) +
geom_point(aes(colour = Color, shape = Shape, alpha = Alpha), size = 4, stroke = 0.02) +
scale_alpha_manual(values = c(.5, .9)) +
stat_ellipse(aes(fill = Shape), geom = "polygon", alpha = .4) +
guides(fill = FALSE) +
labs(title = "",
x = paste0("PC1 (", res$prop_var[1], ")"),
y = paste0("PC2 (", res$prop_var[2], ")")) +
coord_fixed()
ggsave(file.path(dat_dir, "Protein/PCA/my_ggplot2_fil.png"))
## Not run:
# Ambiguous matches of `scale` to `scale_log2r` or `scale_features`
prnPCA(scale = TRUE)
# need to match correct column key(s) in `expt_smry.xlsx`
prnPCA(
col_color = "column_key_not_existed",
col_shape = "another_missing_column_key"
)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.