Giter Site home page Giter Site logo

scc_reproducibility's Introduction

scConfluence reproducibility

scConfluence is a novel method for the integration of unpaired multiomics data combining uncoupled autoencoders and Inverse Optimal Transport to learn low-dimensional cell embeddings. These embeddings can then be used for visualization and clustering, useful for discovering subpopulations of cells, and for imputation of features across modalities. This is the code used to perform the experiments and generate the figures in our manuscript. If you are looking for the Python package, click here!

Installation

install the scconfluence package from Pypi:

pip install scconfluence

Usage

Downloading the data

All the data used in the paper has been formatted and can be downloaded from here. All *.h5mu.gz files should then be placed in the data folder of this repository.

Obtaining each method's outputs

To obtain the outputs of scConfluence, run the following command:

python run_integration.py --dataname <dataname>

<dataname> is the name of the dataset which must be one of the following:

  • cell_lines_ for k=0,1,2,3 where k is the number of the simulation scenario for the unbalanced celllines experiment
  • pbmc10X
  • OP_Multiome
  • bmcite
  • OP_Cite
  • smFISH
  • 3omics
  • Patch

To obtain the outputs of the baseline methods, add the --baseline flag.

python run_integration.py --dataname <dataname> --baseline

Similarly, to obtain the imputation results on the smFISH dataset, run the following command:

python run_imputation.py --dataname <dataname> (--baseline)

Generating the figures

Before running any notebook, download the pickles from there and place them inside a folder entitled exp_results in the root of this directory. These files contain saved results (latent embeddings and their evaluations) of each method run with the provided configurations as the training of all methods is very long. Then run the notebooks to obtain the plots from the paper. As of now, only cell lines and benchmark plots are available. The rest will be added shortly.

Our preprint

https://www.biorxiv.org/content/10.1101/2024.02.26.582051v1

@article {Samaran2024unpaired,
  author = {Jules Samaran and Gabriel Peyre and Laura Cantini},
  title = {scConfluence : single-cell diagonal integration with regularized Inverse Optimal Transport on weakly connected features},
  year = {2024},
  doi = {10.1101/2024.02.26.582051},
  publisher = {Cold Spring Harbor Laboratory},
  journal = {bioRxiv}
}

scc_reproducibility's People

Contributors

jules-samaran avatar

Stargazers

Fengjiao_Gong avatar

Watchers

 avatar

scc_reproducibility's Issues

How to reproduce the figures

Hi! Recently I'm trying to reproduce the results of the paper, especially the baselines. But it seems that the output of run_imputation.py and run_integration.py is consists of a few folders named by algorithms (eg. run-scGLUE) which contains some csv files, and three pickle files: full_results.pickle, mean_results.pickle, median_results.pickle. However, to reproduce the final images, I need to run fig_bench.ipynb and fig_cline.ipynb, which need bench_rez.pickle and cline_rez.pickle as input. The structure and content of output results are simular to neither benchrez and clinerez, and not able to run the notebook. What's the correct procedure to reproduce the figures? Could you please give a more detailed instruction? Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.