This repo contains code for contrastive ICA algorithms and code for comparing cICA algorithms to other algorithms in various datasets.
SPM.py, helper_functions.py, compiler_options.py are code from the paper 'Subspace power method for symmetric tensor decomposition and generalized PCA' by Joe Kileel and João M. Pereira. cICA_functions is code from the paper 'Identifiability of overcomplete ICA' by Kexin Wang and Anna Seigal.
The code for cICA algorithms is in the file cICA_functions.py. The code for comparing cICA algorithms to other algorithms in various datasets is in the file real_world_data.ipynb. The code for pre-processing the monkey-human dataset provided by the paper 'Comparative single-cell transcriptomic analysis of primate brains highlights human-specific regulatory evolution' is in monkey_human.r and the code for applying cICA to the processed data is in monkey_human.ipynb.
Data availability: We upload the mouse protein data from the paper 'Self-organizing feature maps identify proteins critical to learning in a mouse model of down syndrome'. For other datasets, due to the large size, we provide links to download them.