Skip to content

Commit bdd3ac1

Browse files
committed
update readme
1 parent 627a553 commit bdd3ac1

File tree

3 files changed

+17
-30
lines changed

3 files changed

+17
-30
lines changed

PCAone.pdf

6.55 KB
Binary file not shown.

README.org

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#+TITLE: Principal Component Analysis All in One
2-
#+subtitle: Version 0.4.9
2+
#+subtitle: Version 0.5.0
33
#+author: Zilong Li
44
55
#+options: toc:2 num:nil email:t -:nil ^:nil
@@ -21,20 +21,18 @@
2121

2222
* Introduction
2323

24-
PCAone is a fast and memory efficient PCA tool implemented in C++
25-
aiming at providing comprehensive features and algorithms for
26-
different scenarios. PCAone implements 3 fast PCA algorithms for
27-
finding the top eigenvectors of large datasets, which are [[https://en.wikipedia.org/wiki/Arnoldi_iteration][Implicitly
28-
Restarted Arnoldi Method]] (IRAM, --svd 0), [[https://www.ijcai.org/proceedings/2017/468][single pass Randomized SVD]]
29-
but with power iteration scheme (RSVD, --svd 1, Algorithm1 in paper)
30-
and *our own RSVD with window based power iteration scheme*
31-
(PCAone, --svd 2, Algorithm2 in paper). All have both in-core and
32-
out-of-core implementation. Addtionally, full SVD (--svd 3) is
33-
supported via in-core mode only. There is also an [[https://github.com/Zilong-Li/PCAoneR][R]] package
34-
here. PCAone supports multiple different input formats, such as [[https://www.cog-genomics.org/plink/1.9/formats#bed][PLINK]],
35-
[[https://www.well.ox.ac.uk/~gav/bgen_format][BGEN]], [[http://www.popgen.dk/angsd/index.php/Input#Beagle_format][Beagle]] genetic data formats and a general comma separated CSV
36-
format for other data, such as scRNAs and bulk RNAs. For genetics
37-
data, PCAone also implements [[https://github.com/Rosemeis/emu][EMU]] and [[https://github.com/Rosemeis/pcangsd][PCAngsd]] algorithm for data with
24+
PCAone is a fast and memory efficient PCA tool implemented in C++ aiming at
25+
providing comprehensive features and algorithms for different scenarios.
26+
PCAone implements 3 fast PCA algorithms for finding the top eigenvectors of
27+
large datasets, which are [[https://en.wikipedia.org/wiki/Arnoldi_iteration][Implicitly Restarted Arnoldi Method]] (IRAM, --svd 0),
28+
[[https://www.ijcai.org/proceedings/2017/468][single pass Randomized SVD]] with power iteration scheme (sSVD, --svd 1,
29+
Algorithm1 in paper) and *our proposed window based RSVD* (winSVD, --svd 2,
30+
Algorithm2 in paper). All have both in-core and out-of-core implementation.
31+
Addtionally, Full SVD (--svd 3) is supported via in-core mode only. Also,
32+
check out the [[https://github.com/Zilong-Li/PCAoneR][R]] package here. PCAone supports multiple different input
33+
formats, such as [[https://www.cog-genomics.org/plink/1.9/formats#bed][PLINK]], [[https://www.well.ox.ac.uk/~gav/bgen_format][BGEN]], [[http://www.popgen.dk/angsd/index.php/Input#Beagle_format][Beagle]] genetic data formats and a general comma
34+
separated CSV format for other data, such as scRNAs and bulk RNAs. For
35+
genetics data, PCAone also implements [[https://github.com/Rosemeis/emu][EMU]] and [[https://github.com/Rosemeis/pcangsd][PCAngsd]] algorithm for data with
3836
missingness and uncertainty. The PDF manual can be downloaded [[https://github.com/Zilong-Li/PCAone/blob/main/PCAone.pdf][here]].
3937

4038
[[file:misc/architecture.png]]
@@ -131,21 +129,12 @@ There are 3 ways to install PCAone.
131129
** Download compiled binary
132130

133131
There are compiled binaries provided for both Linux and Mac platform. Check
134-
[[https://github.com/Zilong-Li/PCAone/releases][the releases page]] to download one. For most modern CPUs and Linux systems,
135-
download the one named with =avx2=.
132+
[[https://github.com/Zilong-Li/PCAone/releases][the releases page]] to download one.
136133

137134
#+begin_src shell
138-
pkg=https://github.com/Zilong-Li/PCAone/releases/latest/download/PCAone-avx2-Linux.zip
139-
wget $pkg || curl -LO $pkg
140-
unzip -o PCAone-avx2-Linux.zip
141-
#+end_src
142-
143-
If the server is too old to support =avx2= instruction, download the alternative version.
144-
145-
#+begin_src shell
146-
pkg=https://github.com/Zilong-Li/PCAone/releases/latest/download/PCAone-x64-Linux.zip
135+
pkg=https://github.com/Zilong-Li/PCAone/releases/latest/download/PCAone-Linux.zip
147136
wget $pkg || curl -LO $pkg
148-
unzip -o PCAone-x64-Linux.zip
137+
unzip -o PCAone-Linux.zip
149138
#+end_src
150139

151140
** Via Conda
@@ -160,9 +149,7 @@ PCAone --help
160149

161150
** Build from source
162151

163-
=PCAone= can be running on a normal computer/laptop with =x86-64= instruction
164-
set architecture. =PCAone= has been tested on both =Linux= and =MacOS= system. To
165-
build PCAone from the source code, the following dependencies are required:
152+
=PCAone= has been tested on both =Linux= and =MacOS= system. To build PCAone from the source code, the following dependencies are required:
166153

167154
- GCC/Clang compiler with C++17 support
168155
- GNU make

releases/latest/PCAone-Linux.zip

7.18 KB
Binary file not shown.

0 commit comments

Comments
 (0)