| 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.