Skip to main content

Domain Invariant Representation through Adversarial Calibration (DIRAC), a graph neural network to integrate spatial multi-omic data into a unified domain

Project description

DIRAC (Domain Invariant Respresentation through Adversatial Calibration)

stars-badge pypi-badge docs-badge build-badge coverage-badge license-badge

Spatially resolved integration of multi-omics with DIRAC highlights cell-specific remodeling

DIRAC is a Python package, written in PyTorch and based on Scanpy.

DIRAC is a graph neural network to integrate spatial multi-omic data into a unified domain-invariant embedding space and to automate cell-type annotation by transferring labels from reference spatial or single-cell multi-omic data.

DIRAC primarily includes two integration paradigms: vertical integration and horizontal integration, which differ in their selection of anchors. In vertical integration, multiple data modalities from the same cells are jointly analyzed, using cell correspondences in single-cell data or spot correspondences in spatial data as anchors for alignment. In horizontal integration, the same data modality from distinct groups of cells is aligned using genomic features as anchors. The best way to familiarize yourself with DIRAC is to check out our tutorial, our notebook and our documentation.

Model architecture

For more details, please check out our publication.

Directory structure

.
├── sodirac                 # Main Python package
├── data                    # Data files
├── docs                    # Documentation files
├── environment.yaml        # Reproducible Python environment via conda
├── requirements.yaml       # Python packages required for issuing DIRAC
├── LICENSE
└── README.md

How to install DIRAC

To install DIRAC, make sure you have PyTorch and PyG installed. For more details on dependencies, refer to the environment.yml file.

Step 1: Set Up Conda Environment

conda create -n dirac-env python=3.9 r-base=4.3.1 rpy2 r-mclust r-yarrr

Step 2: Install PyTorch and PyG

Activate the environment and install PyTorch and PyG. Adjust the installation commands based on your CUDA version or choose the CPU version if necessary.

  • General Installation Command
conda activate dirac-env
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118
pip install pyg_lib==0.3.1+pt21cu118 torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.1.0+cu118.html
pip install torch_geometric==2.3.1
  • Tips for selecting the correct CUDA version
    • Run the following command to verify CUDA version:
    nvcc --version
    
    • Alternatively, use:
    nvidia-smi
    
  • Modify installation commands based on CUDA
    • For CUDA 12.1
      pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu121
      pip install pyg_lib==0.3.1+pt21cu121 torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.1.0+cu121.html
      pip install torch_geometric==2.3.1
      
    • For CPU-only
      pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cpu
      pip install pyg_lib==0.3.1+pt21cpu torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.1.0+cpu.html
      pip install torch_geometric==2.3.1
      

Step 3: Install dirac from shell

    pip install sodirac

Step 4: Import DIRAC in your jupyter notebooks or/and scripts

    import sodirac as sd

Installing within a conda environment is recommended.

Usage

Please checkout the documentations and tutorials at dirac.readthedocs.io.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sodirac-0.1.2.post1.tar.gz (40.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sodirac-0.1.2.post1-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file sodirac-0.1.2.post1.tar.gz.

File metadata

  • Download URL: sodirac-0.1.2.post1.tar.gz
  • Upload date:
  • Size: 40.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sodirac-0.1.2.post1.tar.gz
Algorithm Hash digest
SHA256 290fc863eb19f5fcfefb5f95feb59670055bc10a6909a0a5c15ee4a169a2d01c
MD5 2866eb17549cf64a2fdca92af1a5db87
BLAKE2b-256 6a786f684d359547a69c48fb20e4b8bea8bfde26e69f0c3fd31b11771c55d73c

See more details on using hashes here.

File details

Details for the file sodirac-0.1.2.post1-py3-none-any.whl.

File metadata

  • Download URL: sodirac-0.1.2.post1-py3-none-any.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sodirac-0.1.2.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 93c22442fe78f051a340b867c65f7a682c4aa8a5f80083a6ace4595419cacfc6
MD5 34006db64dcd8b08b30e232970f834bb
BLAKE2b-256 18ef58edf34822e2906d26526754b520e07ca50cdbf0e7a0dbc784965f0746a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page