scran_pca
Principal component analysis for single-cell data
Loading...
Searching...
No Matches
scran_pca::SimplePcaOptions< EigenVector_ > Struct Template Reference

Options for simple_pca(). More...

#include <simple_pca.hpp>

Public Attributes

int number = 25
 
bool scale = false
 
bool transpose = true
 
bool realize_matrix = true
 
int num_threads = 1
 
irlba::Options< EigenVector_ > irlba_options
 

Detailed Description

template<typename EigenVector_ = Eigen::VectorXd>
struct scran_pca::SimplePcaOptions< EigenVector_ >

Options for simple_pca().

Template Parameters
EigenVector_A floating-point Eigen::Vector class.

Member Data Documentation

◆ irlba_options

template<typename EigenVector_ = Eigen::VectorXd>
irlba::Options<EigenVector_> scran_pca::SimplePcaOptions< EigenVector_ >::irlba_options

Further options to pass to irlba::compute().

◆ num_threads

template<typename EigenVector_ = Eigen::VectorXd>
int scran_pca::SimplePcaOptions< EigenVector_ >::num_threads = 1

Number of threads to use. The parallelization scheme is determined by tatami::parallelize() and irlba::parallelize(). Note that the exact values returned by simple_pca() will change slightly with different num_threads, due to (deterministic) differences in the order of floating-point summations.

◆ number

template<typename EigenVector_ = Eigen::VectorXd>
int scran_pca::SimplePcaOptions< EigenVector_ >::number = 25

Number of the top principal components (PCs) to compute. Retaining more PCs will capture more biological signal at the cost of increasing noise and compute time. If this is greater than the maximum number of PCs (i.e., the smaller dimension of the input matrix), only the maximum number of PCs will be reported in the results.

◆ realize_matrix

template<typename EigenVector_ = Eigen::VectorXd>
bool scran_pca::SimplePcaOptions< EigenVector_ >::realize_matrix = true

Whether to realize tatami::Matrix objects into an appropriate in-memory format before PCA. This is typically faster but increases memory usage.

◆ scale

template<typename EigenVector_ = Eigen::VectorXd>
bool scran_pca::SimplePcaOptions< EigenVector_ >::scale = false

Should genes be scaled to unit variance? This ensures that each gene contributes equally to the PCA, favoring consistent variation across many genes rather than large variation in a few genes. Genes with zero variance are ignored.

◆ transpose

template<typename EigenVector_ = Eigen::VectorXd>
bool scran_pca::SimplePcaOptions< EigenVector_ >::transpose = true

Should the PC matrix be transposed on output? If true, the output matrix is column-major with cells in the columns, which is compatible with downstream libscran steps.


The documentation for this struct was generated from the following file: