-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME.Rmd
163 lines (124 loc) · 6.05 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
---
output:
rmarkdown::github_document
bibliography: "inst/REFERENCES.bib"
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```
# R/`scPCA`
[](https://travis-ci.org/PhilBoileau/scPCA.svg?branch=master)
[](https://ci.appveyor.com/project/PhilBoileau/scPCA/)
[](https://codecov.io/gh/PhilBoileau/scPCA?branch=master)
[](https://www.repostatus.org/#active)
[](https://bioconductor.org/checkResults/release/bioc-LATEST/scPCA)
[](https://bioconductor.org/packages/release/bioc/html/scPCA.html)
[](https://joss.theoj.org/papers/7f0f1271ede7aba120d71c9b5a14c865)
[](http://opensource.org/licenses/MIT)
> Sparse Contrastive Principal Component Analysis for Computational Biology
__Authors:__ [Philippe Boileau](https://pboileau.ca/),
[Nima Hejazi](https://nimahejazi.org),
[Sandrine Dudoit](https://statistics.berkeley.edu/~sandrine/)
---
## What's `scPCA`?
The exploration and analysis of modern high-dimensional biological data
regularly involves the use of dimension reduction techniques in order to tease
out meaningful and interpretable information from complex experimental data,
often subject to batch effects and other noise. In tandem with the
development of sequencing technology (e.g., RNA-seq, scRNA-seq), many variants
of PCA have been developed in attempts to remedy deficiencies in
interpretability and stability that plague vanilla PCA.
Such developments have included both various forms of sparse PCA (SPCA)
[@zou2006sparse; @erichson2018sparse], which increase the stability and
interpretability of principal component loadings in high dimensions, and, more
recently, contrastive PCA (cPCA) [@abid2018exploring], which captures relevant
information in the target (experimental) data set by eliminating technical noise
through comparison to a so-called background data set. While SPCA and cPCA have
both individually proven useful in resolving distinct shortcomings of PCA,
neither is capable of simultaneously tackling the issues of interpretability,
stability and relevance simultaneously. The `scPCA` package implements
_sparse contrastive PCA_ [@boileau2020] to accomplish these tasks in the context
of high-dimensional biological data. In addition to implementing this newly developed
technique, the `scPCA` package implements cPCA and generalizations thereof.
---
## Installation
For standard use, install from
[Bioconductor](https://bioconductor.org/packages/scPCA) using
[`BiocManager`](https://CRAN.R-project.org/package=BiocManager):
```{r bioc-installation, eval = FALSE}
if (!requireNamespace("BiocManager", quietly=TRUE)) {
install.packages("BiocManager")
}
BiocManager::install("scPCA")
```
To contribute, install the bleeding-edge _development version_ from GitHub via
[`remotes`](https://CRAN.R-project.org/package=remotes):
```{r gh-master-installation, eval = FALSE}
remotes::install_github("PhilBoileau/scPCA")
```
Current and prior [Bioconductor](https://bioconductor.org) releases are
available under branches with numbers prefixed by "RELEASE_". For example, to
install the version of this package available via Bioconductor 3.10, use
```{r gh-develop-installation, eval = FALSE}
remotes::install_github("PhilBoileau/scPCA@RELEASE_3_10")
```
---
## Example
For details on how to best use the `scPCA` R package, please consult the most
recent [package
vignette](https://bioconductor.org/packages/release/bioc/vignettes/scPCA/inst/doc/scpca_intro.html)
available through the [Bioconductor
project](https://bioconductor.org/packages/scPCA).
---
## Issues
If you encounter any bugs or have any specific feature requests, please [file an
issue](https://github.com/PhilBoileau/scPCA/issues).
---
## Contributions
Contributions are welcome. Interested contributors should consult our
[contribution
guidelines](https://github.com/PhilBoileau/scPCA/blob/master/CONTRIBUTING.md)
prior to submitting a pull request.
---
## Citation
Please cite the first paper below after using the `scPCA` R software package.
Please also make sure to cite the article describing the statistical methodology
when using scPCA or cross-validated cPCA as part of an analysis.
```
@article{boileau2020scPCAjoss,
doi = {10.21105/joss.02079},
url = {https://doi.org/10.21105/joss.02079},
year = {2020},
publisher = {The Open Journal},
volume = {5},
number = {46},
pages = {2079},
author = {Philippe Boileau and Nima Hejazi and Sandrine Dudoit},
title = {scPCA: A toolbox for sparse contrastive principal component analysis in R},
journal = {Journal of Open Source Software}
}
@article{boileau2020scPCA,
author = {Boileau, Philippe and Hejazi, Nima S and Dudoit, Sandrine},
title = "{Exploring High-Dimensional Biological Data with Sparse Contrastive Principal Component Analysis}",
journal = {Bioinformatics},
year = {2020},
month = {03},
issn = {1367-4803},
doi = {10.1093/bioinformatics/btaa176},
url = {https://doi.org/10.1093/bioinformatics/btaa176},
note = {btaa176},
eprint = {https://academic.oup.com/bioinformatics/article-pdf/doi/10.1093/bioinformatics/btaa176/32914142/btaa176.pdf},
}
```
---
## License
© 2019-2023 [Philippe Boileau](https://pboileau.ca/)
The contents of this repository are distributed under the MIT license. See file
`LICENSE` for details.
---
## References