Skip to content

johaab/Deep_Knockoffs

Repository files navigation

Surrogate data generation using Deep Knockoffs for nonparametric testing of fMRI time courses

Abstract

One path toward the understanding of brain operation goes by a sufficient comprehension of its structure and activity. Functional magnetic resonance imaging (fMRI) has become the major neuroimaging method used for brain mapping, thanks to its excellent spatial resolution and its non-invasive nature. In this report, the novel application of Knockoff Filter for fMRI data was investigated, which would provide an alternative to the phase randomisation technique widely used on such data. The Knockoff methodology provides the considerable advantage of controlling false discovery rate while performing feature selection. We first concentrated our efforts on analysing the fMRI time course surrogates produced using Deep Knockoffs, and then employed those surrogates to construct one-sample nonparametric tests at both the individual and group levels. Our results show that this innovative approach while being promising requires more efforts to achieve meaningful outcomes in the context of brain mapping.

Data

Data were provided by the Center for Biomedical Imaging (CIBM).

Context

This project was led as part of the Master in Computational Biology and Bioinformatics at the Swiss Federal Institute of Technology in Zurich (ETHZ).

Software dependencies

  • python==3.8.5
  • numpy==1.19.2
  • scipy==1.5.2
  • torch==1.7.0
  • cvxopt==1.2.5
  • cvxpy==1.1.7
  • pandas==1.1.3
  • matplotlib==3.3.2
  • seaborn==0.11.0
  • statsmodels==0.12.1
  • sklearn
  • jupyter
  • Cython

Installation guide

pip3 install -r requirements.txt
pip3 install fanok
cd deepknockoffs/
pip3 install DeepKnockoffs/
pip3 install torch-two-sample-master/

File structure

Project
|
|-- data
|   |-- input
|		|-- Glasser360_2mm_codebook.mat
|		|-- hrf.mat
|		|-- TaskParadigms
|		|-- X_tfMRI_EMOTION_LR_Glasser360.mat
|		|-- X_tfMRI_GAMBLING_LR_Glasser360.mat
|		|-- X_tfMRI_LANGUAGE_LR_Glasser360.mat
|		|-- X_tfMRI_MOTOR_LR_Glasser360.mat
|		|-- X_tfMRI_RELATIONAL_LR_Glasser360.mat
|		|-- X_tfMRI_SOCIAL_LR_Glasser360.mat
|		|-- X_tfMRI_WM_LR_Glasser360.mat
|   |-- output
|       |-- beta
|       |-- img
|       |-- knockoffs
|		|-- pearsonr
|
|-- deepknockoffs/
|    |-- torch-two-sample-master/
|
|-- implementation
|    |-- __init__.py
|    |-- glm.py
|    |-- knockoff_class.py
|    |-- load.py
|    |-- non_parametric.py
|    |-- params.py
|    |-- utils.py 
|
|-- PlotGraph/
|
|-- group_analysis.py
|-- plot_correlation.py
|-- plot_test_individual.py
|
|-- .gitignore
|-- __init__.py
|-- README.md

Authors

Student: Jonathan Haab

Supervisor: Dr. Maria Giulia Preti

Built on the work of Alec Flowers, Alexander Glavackij and Janet van der Graaf (code available here) and the original Deep Knockoffs implementation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published