Code Monkey home page Code Monkey logo

hist2cell's Introduction

Hist2Cell

Hist2Cell is a Vision Graph-Transformer framework that accurately predicts fine-grained cell type abundances directly from histology images. It facilitates cost-efficient, high-resolution cellular mapping of tissues, significantly advancing spatial biology studies and clinical diagnostics.

Overview

For more details about this stuy, please check our paper Hist2Cell: Deciphering Fine-grained Cellular Architectures from Histology Images.

1. Install Environment

Create the environment with conda commands:

conda create -n Hist2Cell python=3.11
conda activate Hist2Cell

Install the dependencies:

git clone https://github.com/Weiqin-Zhao/Hist2Cell.git
cd Hist2Cell
pip install -r requirements.txt
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
pip install torch_geometric
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.0.0+cu118.html

2. Preparing Spatial Cell Abundance Data

All datasets are previously published and publicly accessible.

We also provide example raw data in ./example_raw_data and the pre-process tutorials in ./data_preparation_tutorial.ipynb. Users can pre-process their own datasets following the same steps for inference/training/fine-tuning.

We provide processed example data of the healthy lung dataset in ./example_data/humanlung_cell2location and ./example_data/humanlung_cell2location_2x (for super-resolved cell abundances usage).

We upload the data in compressed format via Onedrive, please download the data and unzip them using tar -xzvf command.

The processed data of breast cancer will be realsed soon.

3. Training Models

We have uploaded the checkpoint weight for healthy lung dataset in ./model_weights.

For training on your own dataset, we provide detailed training tutorials in ./tutorial_training/training_tutorial.ipynb with the example data we uploaded.

After preparing your own dataset following ./tutorial_data_preparation/data_preparation_tutorial.ipynb, users can train/finetune Hist2Cell on their own dataset for further cellular analysis.

4. Cellular Analysis and Evaluation

We uploaded the pretrained model weights on healthy human lung dataset in ./model_weights and provide detailed tutorial steps for the cellular analysis conducted in our study:

  • ./tutorial_analysis_evaluation/cell_abundance_visulization_tutorial.ipynb: visualize Hist2Cell predicted fine-grained cell abundance for biological finding validatoin, in this tutorial, we generate the figures used in Fig 2.f and Fig 3.bc in our paper;
  • ./tutorial_analysis_evaluation/key_cell_evaluation_tutorial.ipynb: evalute the prediction performance of Hist2Cell on serveral key cell types of interest, in this tutorial, we generate the figures used in Fig 2.d;
  • ./tutorial_analysis_evaluation/cell_colocalization_tutorial.ipynb: analyse the cell co-localization patterns from histology image using Hist2Cell, in this tutorial, we generate the figures used in Fig 2.f;
  • ./tutorial_analysis_evaluation/super_resovled_cell_abundance_tutorial.ipynb: produce super-resolved fine-grained cell type abundances using Hist2Cell for biological reserach, in this tutorial, we generate the figures used in Fig 6.b.

Citation

If you find our paper/code/results useful, please consider cite us using the following BibTex entry.

@article{zhao2024hist2cell,
  title={Hist2Cell: Deciphering Fine-grained Cellular Architectures from Histology Images},
  author={Zhao, Weiqin and Liang, Zhuo and Huang, Xianjie and Huang, Yuanhua and Yu, Lequan},
  journal={bioRxiv},
  pages={2024--02},
  year={2024},
  publisher={Cold Spring Harbor Laboratory}
}

hist2cell's People

Contributors

weiqin-zhao avatar

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.