Skip to content
/ SING Public

SING method implementation and code to reproduce results in corresponding paper

Notifications You must be signed in to change notification settings

irinagain/SING

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SING

SING method implementation and code to reproduce results in corresponding paper

Risk, B. and Gaynanova, I. "Simultaneous Non-Gaussian Component Analysis (SING) for Data Integration in Neuroimaging" arXiv link

Main functions

jngcaFunctions.R - all the R functions needed for method's implementation and corresponding analyses

mCCAjointICA.R - supporting R functions implementing Joint ICA, mCCA + jICA, and SING-averaged variant via orthogonal Procrustes with scaling

CfunctionsCurvilinear.cpp - additional C++ functions for implementation of curvilinear algorithm used for SING optimization; equivalent R functions can be found in jngcaFunctions.R

makecifti.R - R function to make cifti files, modified version from Mandy Mejia, see her original version with instructions here

Supporting data

ComponentsForSim_setting2.Rda - Shared and individual components used to simulate large-scale data for Simulation Setting 2. Also used as input to generate sparse components for Simulation Setting 3.

community_affiliation_mmplus.csv - File to support visualization of resting state correlations, our version is modified from this paper. A similar version can be also found here.

Simulations scripts

Simulation Setting 1

s1_rank_simulations_small.R - Simulation setting 1, rank estimation. (WARNING: this should only be run on a cluster as it takes significant time due to a total of 400 evaluations, and 1000 permutations for rank selection)

s2_estimation_simulations_small.R - Simulation setting 1, component and mixing matrices estimation performance. Can be run in parallel with s1.

s3_results_analysis_small.R - Simulation setting 1, uses the saved results from s1 and s2 to generate figures in the paper

Simulation Setting 2

s4_generate_data_sim_setting2.R - Simulation setting 2, uses the components in supplied .Rda file as true components to generate simulated data.

s5_estimation_sim_setting2.R - Simulation setting 2, apply joint ICA, mCCA + jICA and SING variants, also apply rank estimation approach.

s6_results_sim_setting2.R - Simulation setting 2, use the results from s5 to calculate component and mixing matrix estimation errors, create figures in the paper.

Simulation Setting 3

s7_generate_data_sim_setting3.R - Simulation setting 3, uses the components in supplied .Rda file with additional truncation as true sparse components to generate simulated data.

s8_estimation_sim_setting3.R - Simulation setting 3, apply joint ICA, mCCA + jICA and SING variants, also apply rank estimation approach.

s9_results_sim_setting3.R - Simulation setting 3, use the results from s8 to calculate component and mixing matrix estimation errors, create figures in the paper.

About

SING method implementation and code to reproduce results in corresponding paper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published