-
Notifications
You must be signed in to change notification settings - Fork 2
1. Quickstart Guide
Eliezyer edited this page Mar 29, 2026
·
11 revisions
To use gcPCA in Python, import the class and initialize the model:
from contrastive_methods import gcPCA
gcPCA_model = gcPCA(method='v4', normalize_flag=True)- method options: 'v1', 'v2', 'v3', 'v4' (versions ending in .1, e.g. 'v4.1', return orthogonal components).
- normalize_flag: True → Automatically normalizes data (z-scoring and L2 normalization). False → Use this if you want to apply custom normalization.
Once initialized, fit the model to your datasets using:
gcPCA_model.fit(Ra, Rb)
Input Data Format
Ra (ma × p) and Rb (mb × p):
Rows (ma, mb) → Samples from each condition.
Columns (p) → Shared features (e.g., neurons, channels, RNA counts).
Output Attributes
After fitting, the following attributes will be available:
gcPCA_model.loadings_
gcPCA_model.gcPCA_values_
gcPCA_model.Ra_scores_
gcPCA_model.Rb_scores_
gcPCA_model.objective_values_
Description of Outputs
Attribute Description
loadings_ Loadings for each gcPC. (Matrix: features × gcPCs)
gcPCA_values_ Objective values for each gcPC (vector).
Ra_scores_ Scores for dataset Ra in gcPC space (Matrix: ma × k).
Rb_scores_ Scores for dataset Rb in gcPC space (Matrix: mb × k).
objective_values_ Optimization values per gcPC (vector).
The MATLAB implementation does not require any additional dependencies. To fit the model, use:
[B, S, X] = gcPCA(Ra, Rb, gcPCAversion)
Input Arguments
Ra, Rb: The same matrices as used in Python.
gcPCAversion: Can take values from 1 to 4 (.1 versions return orthogonal gcPCs).
Outputs
B: Loadings for gcPCs.
S: Scores for Ra and Rb.
X: Additional model outputs.
📌 For further details, run:
help gcPCA
To use gcPCA in R, load the package and fit the model:
library(gcpca)
fit <- gcPCA(Ra, Rb, method = "v4", Ncalc = 3)
pred <- predict(fit, Ra = Ra, Rb = Rb)- Ra, Rb — Numeric matrices with rows as samples and columns as shared features
-
method — gcPCA version to use (
"v1","v2","v3","v4") - Ncalc — Number of components to compute
The fitted object fit stores the model parameters, and predict() returns the projected scores:
pred$Ra_scores
pred$Rb_scoresCommon outputs include:
-
pred$Ra_scores — Scores for dataset
Rain gcPC space -
pred$Rb_scores — Scores for dataset
Rbin gcPC space
coef(fit)
summary(fit)- coef(fit) — Extract gcPCA loadings
- summary(fit) — Display a summary of the fitted model
library(gcpca)
set.seed(1)
Ra <- matrix(rnorm(40 * 5), ncol = 5)
Rb <- matrix(rnorm(35 * 5), ncol = 5)
fit <- gcPCA(Ra, Rb, method = "v4", Ncalc = 3)
pred <- predict(fit, Ra = Ra, Rb = Rb)
pred$Ra_scores
pred$Rb_scoresNotes
The Python, MATLAB, and R versions implement the same core algorithm but may have slight differences in numerical precision.
2. Installation
3. Conceptual Overview
4. Mathematical Formulation
5. Code Reference
6. Input Data Guidelines
7. Interpreting Results