Skip to content

alexisboukouvalas/OscoNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f100d1c · Aug 27, 2020

History

31 Commits
Aug 27, 2020
Aug 26, 2020
Aug 26, 2020
Aug 27, 2020
Aug 26, 2020
Aug 26, 2020
Feb 10, 2018
Feb 10, 2018
Mar 2, 2018
Feb 17, 2018
Aug 27, 2020
Feb 27, 2018
Feb 17, 2018
Aug 27, 2020
Aug 27, 2020
Aug 27, 2020

Repository files navigation

OscoNet

Bootstrap-based OscoNet method: Method to infer sinusoidal oscillations in single cell data.

This software reproduces the approach presented in 'OscoNet: inferring oscillatory gene networks' by Luisa Cutillo, Alexis Boukouvalas, Elli Marinopoulou, Nancy Papalopulu & Magnus Rattray

BMC Bioinformatics volume 21, Article number: 351 (2020)

https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-020-03561-y

contact: [email protected]

The authors would like to thank Michael Croucher @mikecroucher for code optimization.

Installation

  1. Create new environment conda create --name fullosconet python=3 and to activate it with conda activate fullosconet before proceeding.
  2. Install required packages using pip install -r requirements.txt
  3. Install package pip install -e .
  4. Install numba conda install numba
  5. Verify your installation by running pytest from the project root directory FullOscoNet. Note this can take around 1-2 minutes.

Synthetic data

  1. Run python OscopeBootstrap/oscope_tf.py --test_mode for a simple demonstration of the method on synthetic data. This will run under a quick configuration to demonstrate the capabilities of the method. This should take 10-20 seconds.
  2. Remove the --test_mode flag for a 1000-sample bootstrap test on the exact synthetic run configuraiton used in the paper (1000 genes, 100 cells with 3 clusters of co-oscillating genes).

Notebooks

  1. notebooks/OscoNet introduction.ipynb: provides an introduction to the hypothesis test on a simple synthetic example.
  2. notebooks/Reproduce_figures_5_7.ipynb : pseudotime on Whitfield microarray data. To see how the spectral embedding pseudotime method can be applied.
  3. notebooks/Reproduce_Table1.ipynb: Reproduce table 1 from OscoNet paper
  4. notebooks/Reproduce_Table5.ipynb: Reproduce table 5 from OscoNet paper
  5. notebooks/Reproduce_Figure4.ipynb: Reproduce Figure 4 from OscoNet paper

Notes on using real data

OscoNet requires the data to be already normalised and rescaled between [-1,1].

We suggest you chose your favourite normalization pipeline and also you continue the preprocessing in R, using the functions 'MVfilter' and 'NormForSine' from the R package Oscope: https://www.bioconductor.org/packages/release/bioc/html/Oscope.html