Metadata-Version: 2.1
Name: sodirac
Version: 0.1.0
Summary: Domain Invariant Representation through Adversarial Calibration (DIRAC), a graph neural network to integrate spatial multi-omic data into a unified domain 
Home-page: https://github.com/EsdenRun/DIRAC
Author: XU CHANG
Author-email: xuchang0214@163.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: absl-py==2.1.0
Requires-Dist: access==1.1.9
Requires-Dist: adjustText==1.1.1
Requires-Dist: affine==2.4.0
Requires-Dist: aiohttp==3.9.5
Requires-Dist: aiosignal==1.3.1
Requires-Dist: alabaster==0.7.16
Requires-Dist: anndata==0.10.6
Requires-Dist: annoy==1.17.3
Requires-Dist: anyio==4.3.0
Requires-Dist: argon2-cffi==23.1.0
Requires-Dist: argon2-cffi-bindings==21.2.0
Requires-Dist: array_api_compat==1.6
Requires-Dist: arrow==1.3.0
Requires-Dist: asttokens==2.4.1
Requires-Dist: astunparse==1.6.3
Requires-Dist: async-lru==2.0.4
Requires-Dist: async-timeout==4.0.3
Requires-Dist: attrs==23.2.0
Requires-Dist: Babel==2.14.0
Requires-Dist: bamnostic==1.1.10
Requires-Dist: beautifulsoup4==4.12.3
Requires-Dist: bleach==6.1.0
Requires-Dist: blosc2==2.5.1
Requires-Dist: bokeh==2.3.1
Requires-Dist: boto3==1.34.63
Requires-Dist: botocore==1.34.63
Requires-Dist: branca==0.7.1
Requires-Dist: cachetools==5.3.2
Requires-Dist: certifi==2023.11.17
Requires-Dist: cfgv==3.4.0
Requires-Dist: charset-normalizer==3.3.2
Requires-Dist: chex==0.1.86
Requires-Dist: click==8.1.7
Requires-Dist: click-plugins==1.1.1
Requires-Dist: cligj==0.7.2
Requires-Dist: cloudpickle==3.0.0
Requires-Dist: colorcet==3.0.1
Requires-Dist: comm==0.2.1
Requires-Dist: commonmark==0.9.1
Requires-Dist: contextlib2==21.6.0
Requires-Dist: contourpy==1.2.0
Requires-Dist: csbdeep==0.7.4
Requires-Dist: cvxopt==1.3.2
Requires-Dist: cycler==0.12.1
Requires-Dist: cykhash==2.0.1
Requires-Dist: Cython==3.0.8
Requires-Dist: debugpy==1.8.1
Requires-Dist: decorator==5.1.1
Requires-Dist: decoupler==1.6.0
Requires-Dist: defusedxml==0.7.1
Requires-Dist: deprecation==2.1.0
Requires-Dist: descartes==1.1.0
Requires-Dist: dill==0.3.7
Requires-Dist: distlib==0.3.8
Requires-Dist: docrep==0.3.2
Requires-Dist: docutils==0.21.2
Requires-Dist: dunamai==1.19.1
Requires-Dist: dynamo-release==1.4.0
Requires-Dist: easydict==1.13
Requires-Dist: episcanpy==0.4.0
Requires-Dist: equinox==0.11.3
Requires-Dist: esda==2.5.1
Requires-Dist: et-xmlfile==1.1.0
Requires-Dist: etils==1.5.2
Requires-Dist: exceptiongroup==1.2.0
Requires-Dist: executing==2.0.1
Requires-Dist: fastjsonschema==2.19.1
Requires-Dist: fastremap==1.14.1
Requires-Dist: fbgbp==0.2.1
Requires-Dist: fbpca==1.0
Requires-Dist: filelock==3.13.1
Requires-Dist: fiona==1.9.5
Requires-Dist: flatbuffers==24.3.25
Requires-Dist: flax==0.8.3
Requires-Dist: flit==3.9.0
Requires-Dist: flit_core==3.9.0
Requires-Dist: folium==0.15.1
Requires-Dist: fonttools==4.47.0
Requires-Dist: fqdn==1.5.1
Requires-Dist: frozenlist==1.4.1
Requires-Dist: fsspec==2023.12.2
Requires-Dist: gast==0.5.4
Requires-Dist: geopandas==0.14.3
Requires-Dist: geosketch==1.2
Requires-Dist: get-annotations==0.1.2
Requires-Dist: get_version==3.5.5
Requires-Dist: giddy==2.3.5
Requires-Dist: google-auth==2.28.0
Requires-Dist: google-auth-oauthlib==1.2.0
Requires-Dist: google-pasta==0.2.0
Requires-Dist: grpcio==1.60.1
Requires-Dist: h11==0.14.0
Requires-Dist: h5py==3.11.0
Requires-Dist: hmmlearn==0.3.0
Requires-Dist: httpcore==1.0.5
Requires-Dist: httpx==0.27.0
Requires-Dist: huggingface-hub==0.21.4
Requires-Dist: identify==2.5.34
Requires-Dist: idna==3.6
Requires-Dist: igraph==0.10.4
Requires-Dist: imagecodecs==2024.6.1
Requires-Dist: imageio==2.33.1
Requires-Dist: imagesize==1.4.1
Requires-Dist: importlib-metadata==7.0.1
Requires-Dist: importlib-resources==6.1.1
Requires-Dist: inequality==1.0.0
Requires-Dist: intervaltree==2.1.0
Requires-Dist: ipykernel==6.29.4
Requires-Dist: ipython==8.18.1
Requires-Dist: ipywidgets==8.1.2
Requires-Dist: isoduration==20.11.0
Requires-Dist: jax==0.4.25
Requires-Dist: jaxlib==0.4.25
Requires-Dist: jaxopt==0.8.3
Requires-Dist: jaxtyping==0.2.28
Requires-Dist: jedi==0.19.1
Requires-Dist: jmespath==1.0.1
Requires-Dist: joblib==1.3.2
Requires-Dist: json5==0.9.25
Requires-Dist: jsonpointer==2.4
Requires-Dist: jsonschema==4.21.1
Requires-Dist: jsonschema-specifications==2023.12.1
Requires-Dist: jupyterlab_widgets==3.0.10
Requires-Dist: kaleido==0.2.1
Requires-Dist: KDEpy==1.1.8
Requires-Dist: kiwisolver==1.4.5
Requires-Dist: kneed==0.8.5
Requires-Dist: kornia==0.7.1
Requires-Dist: lazy_loader==0.3
Requires-Dist: legacy-api-wrap==1.4
Requires-Dist: leidenalg==0.9.1
Requires-Dist: libclang==16.0.6
Requires-Dist: libpysal==4.8.1
Requires-Dist: lightning==2.1.4
Requires-Dist: lightning-utilities==0.11.2
Requires-Dist: lineax==0.0.4
Requires-Dist: llvmlite==0.41.1
Requires-Dist: logging-release==0.0.4
Requires-Dist: loguru==0.7.2
Requires-Dist: loompy==3.0.7
Requires-Dist: louvain==0.8.0
Requires-Dist: MACS3==3.0.0
Requires-Dist: mapclassify==2.6.1
Requires-Dist: Markdown==3.5.2
Requires-Dist: markdown-it-py==3.0.0
Requires-Dist: matplotlib==3.7.0
Requires-Dist: matplotlib-inline==0.1.6
Requires-Dist: mdurl==0.1.2
Requires-Dist: memory-profiler==0.61.0
Requires-Dist: mgwr==2.2.1
Requires-Dist: mistune==3.0.2
Requires-Dist: mizani==0.9.3
Requires-Dist: ml-collections==0.1.1
Requires-Dist: ml-dtypes==0.4.0
Requires-Dist: momepy==0.6.0
Requires-Dist: mpmath==1.3.0
Requires-Dist: msgpack==1.0.7
Requires-Dist: mudata==0.2.3
Requires-Dist: multidict==6.0.5
Requires-Dist: multipledispatch==1.0.0
Requires-Dist: multiprocess==0.70.15
Requires-Dist: muon==0.1.5
Requires-Dist: namex==0.0.8
Requires-Dist: natsort==8.4.0
Requires-Dist: nbclient==0.7.4
Requires-Dist: nbconvert==7.16.0
Requires-Dist: nbformat==5.9.2
Requires-Dist: ndindex==1.8
Requires-Dist: nest-asyncio==1.6.0
Requires-Dist: networkx==3.2.1
Requires-Dist: nodeenv==1.8.0
Requires-Dist: notebook==7.1.3
Requires-Dist: notebook_shim==0.2.4
Requires-Dist: nudged==0.3.1
Requires-Dist: numba==0.58.1
Requires-Dist: numdifftools==0.9.41
Requires-Dist: numexpr==2.9.0
Requires-Dist: numpngw==0.1.3
Requires-Dist: numpy==1.26.4
Requires-Dist: numpy-groupies==0.10.2
Requires-Dist: numpyro==0.14.0
Requires-Dist: nvidia-ml-py3==7.352.0
Requires-Dist: nvtx==0.2.10
Requires-Dist: oauthlib==3.2.2
Requires-Dist: objax==1.8.0
Requires-Dist: opencv-python==4.9.0.80
Requires-Dist: opencv-python-headless==4.10.0.82
Requires-Dist: openpyxl==3.1.2
Requires-Dist: opt-einsum==3.3.0
Requires-Dist: optax==0.2.2
Requires-Dist: optree==0.12.1
Requires-Dist: orbax-checkpoint==0.5.10
Requires-Dist: ott-jax==0.4.5
Requires-Dist: overrides==7.7.0
Requires-Dist: packaging==23.2
Requires-Dist: pandana==0.7
Requires-Dist: pandas<2.0.0,>=1.5.0
Requires-Dist: pandocfilters==1.5.1
Requires-Dist: param==2.0.2
Requires-Dist: parameterized==0.9.0
Requires-Dist: parso==0.8.3
Requires-Dist: pathlib2==2.3.7.post1
Requires-Dist: patsy==0.5.6
Requires-Dist: pcurvepy2==0.1.5
Requires-Dist: pexpect==4.9.0
Requires-Dist: pillow==10.2.0
Requires-Dist: platformdirs==4.1.0
Requires-Dist: plotly==5.18.0
Requires-Dist: plotnine==0.12.4
Requires-Dist: pointpats==2.4.0
Requires-Dist: polars==0.19.19
Requires-Dist: pooch==1.8.0
Requires-Dist: POT==0.9.3
Requires-Dist: pre-commit==3.6.1
Requires-Dist: prometheus_client==0.20.0
Requires-Dist: prompt-toolkit==3.0.43
Requires-Dist: protobuf==4.25.1
Requires-Dist: psutil==5.9.4
Requires-Dist: ptyprocess==0.7.0
Requires-Dist: PuLP==2.8.0
Requires-Dist: pure-eval==0.2.2
Requires-Dist: py-cpuinfo==9.0.0
Requires-Dist: pyarrow==15.0.0
Requires-Dist: pyasn1==0.5.1
Requires-Dist: pyasn1-modules==0.3.0
Requires-Dist: pyct==0.5.0
Requires-Dist: pyfaidx==0.7.2.2
Requires-Dist: Pygments==2.17.2
Requires-Dist: pymde==0.1.18
Requires-Dist: pynndescent==0.5.11
Requires-Dist: pyparsing==3.1.1
Requires-Dist: pyproj==3.6.1
Requires-Dist: pyro-api==0.1.2
Requires-Dist: pyro-ppl==1.8.6
Requires-Dist: pysal==24.1
Requires-Dist: pysam==0.22.0
Requires-Dist: pySankey==0.0.1
Requires-Dist: pyslingshot==0.1.5
Requires-Dist: python-dateutil==2.8.2
Requires-Dist: python-igraph==0.10.4
Requires-Dist: python-json-logger==2.0.7
Requires-Dist: python-louvain==0.15
Requires-Dist: pytorch-lightning==2.2.4
Requires-Dist: pytorch-pretrained-bert==0.6.2
Requires-Dist: pyvista==0.42.3
Requires-Dist: PyYAML==6.0.1
Requires-Dist: pyzmq==25.1.2
Requires-Dist: quantecon==0.7.1
Requires-Dist: rapids_singlecell==0.10.2
Requires-Dist: rasterio==1.3.9
Requires-Dist: rasterstats==0.19.0
Requires-Dist: recommonmark==0.7.1
Requires-Dist: referencing==0.33.0
Requires-Dist: regex==2023.12.25
Requires-Dist: requests==2.31.0
Requires-Dist: requests-oauthlib==1.3.1
Requires-Dist: rfc3339-validator==0.1.4
Requires-Dist: rfc3986-validator==0.1.1
Requires-Dist: rich==13.7.1
Requires-Dist: roifile==2024.5.24
Requires-Dist: rpds-py==0.18.0
Requires-Dist: rpy2==3.5.11
Requires-Dist: rsa==4.9
Requires-Dist: Rtree==1.2.0
Requires-Dist: rustworkx==0.13.2
Requires-Dist: s3transfer==0.10.1
Requires-Dist: safetensors==0.4.2
Requires-Dist: scanorama==1.7
Requires-Dist: scanpy==1.10.0
Requires-Dist: scgen==2.1.0
Requires-Dist: scikit-image==0.22.0
Requires-Dist: scikit-learn==1.2.1
Requires-Dist: scikit-misc==0.3.1
Requires-Dist: scikit-network==0.28.3
Requires-Dist: scipy==1.10.1
Requires-Dist: scooby==0.9.2
Requires-Dist: seaborn==0.13.2
Requires-Dist: segregation==2.5
Requires-Dist: Send2Trash==1.8.3
Requires-Dist: session-info==1.0.0
Requires-Dist: setuptools-scm==8.0.4
Requires-Dist: shapely==2.0.2
Requires-Dist: simplegeneric==0.8.1
Requires-Dist: simplejson==3.19.2
Requires-Dist: six==1.16.0
Requires-Dist: snapatac2==2.5.3
Requires-Dist: sniffio==1.3.1
Requires-Dist: snowballstemmer==2.2.0
Requires-Dist: snuggs==1.4.7
Requires-Dist: sortedcontainers==2.4.0
Requires-Dist: soupsieve==2.5
Requires-Dist: spaghetti==1.7.4
Requires-Dist: spglm==1.1.0
Requires-Dist: Sphinx==7.3.7
Requires-Dist: sphinxcontrib-applehelp==1.0.8
Requires-Dist: sphinxcontrib-devhelp==1.0.6
Requires-Dist: sphinxcontrib-htmlhelp==2.0.5
Requires-Dist: sphinxcontrib-jsmath==1.0.1
Requires-Dist: sphinxcontrib-qthelp==1.0.7
Requires-Dist: sphinxcontrib-serializinghtml==1.1.10
Requires-Dist: spint==1.0.7
Requires-Dist: splot==1.1.5.post1
Requires-Dist: spopt==0.5.0
Requires-Dist: spreg==1.4.2
Requires-Dist: spvcm==0.3.0
Requires-Dist: stack-data==0.6.3
Requires-Dist: statsmodels==0.14.1
Requires-Dist: stdlib-list==0.10.0
Requires-Dist: sympy==1.12
Requires-Dist: tables==3.9.2
Requires-Dist: tbb==2021.11.0
Requires-Dist: tenacity==8.2.3
Requires-Dist: tensorboard==2.17.1
Requires-Dist: tensorboard-data-server==0.7.2
Requires-Dist: tensorflow==2.17.0
Requires-Dist: tensorflow-estimator==2.15.0
Requires-Dist: tensorflow-io-gcs-filesystem==0.36.0
Requires-Dist: tensorstore==0.1.58
Requires-Dist: termcolor==2.4.0
Requires-Dist: terminado==0.18.1
Requires-Dist: texttable==1.7.0
Requires-Dist: threadpoolctl==3.2.0
Requires-Dist: tifffile==2024.1.30
Requires-Dist: tinycss2==1.2.1
Requires-Dist: tobler==0.11.2
Requires-Dist: tokenizers==0.12.1
Requires-Dist: tomli==2.0.1
Requires-Dist: tomli_w==1.0.0
Requires-Dist: toolz==0.12.1
Requires-Dist: tornado==6.4
Requires-Dist: tqdm==4.64.1
Requires-Dist: traitlets==5.14.1
Requires-Dist: transformers==4.19.2
Requires-Dist: triton==2.1.0
Requires-Dist: typeguard==2.13.3
Requires-Dist: types-python-dateutil==2.9.0.20240316
Requires-Dist: typing_extensions==4.9.0
Requires-Dist: tzdata==2024.1
Requires-Dist: umap-learn==0.5.3
Requires-Dist: uri-template==1.3.0
Requires-Dist: urllib3==1.26.18
Requires-Dist: virtualenv==20.25.0
Requires-Dist: voila==0.5.6
Requires-Dist: vtk==9.3.0
Requires-Dist: wcwidth==0.2.13
Requires-Dist: webcolors==1.13
Requires-Dist: webencodings==0.5.1
Requires-Dist: websocket-client==1.8.0
Requires-Dist: websockets==12.0
Requires-Dist: Werkzeug==3.0.1
Requires-Dist: widgetsnbextension==4.0.10
Requires-Dist: wrapt==1.14.1
Requires-Dist: xyzservices==2023.10.1
Requires-Dist: yarl==1.9.4
Requires-Dist: zipp==3.17.0

# DIRAC (Domain Invariant Respresentation through Adversatial Calibration)

[![stars-badge](https://img.shields.io/github/stars/boxiangliulab/DIRAC?logo=GitHub&color=yellow)](https://github.com/boxiangliulab/DIRAC/stargazers)
[![pypi-badge](https://img.shields.io/pypi/v/scglue)](https://pypi.org/project/dirac)
[![conda-badge](https://anaconda.org/bioconda/scglue/badges/version.svg)](https://anaconda.org/bioconda/scglue)
[![docs-badge](https://readthedocs.org/projects/scglue/badge/?version=latest)](https://scglue.readthedocs.io/en/latest/?badge=latest)
[![build-badge](https://github.com/gao-lab/GLUE/actions/workflows/build.yml/badge.svg)](https://github.com/gao-lab/GLUE/actions/workflows/build.yml)
[![coverage-badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Jeff1995/e704b2f886ff6a37477311b90fdf7efa/raw/coverage.json)](https://github.com/gao-lab/GLUE/actions/workflows/build.yml)
[![license-badge](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)


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

![Model architecture](docs/Figs/Workflow.png)

For more details, please check out our [publication](https://doi.org/10.1038/s41587-022-01284-4).

## Directory structure

```
.
├── dirac                  # Main Python package
├── data                    # Data files
├── evaluation              # Method evaluation pipelines
├── experiments             # Experiments and case studies
├── tests                   # Unit tests for the Python package
├── docs                    # Documentation files
├── custom                  # Customized third-party packages
├── packrat                 # Reproducible R environment via packrat
├── env.yaml                # Reproducible Python environment via conda
├── pyproject.toml          # Python package metadata
├── LICENSE
└── README.md
```

## Installation

The `spagnns` package can be installed via conda using one of the following commands:

```sh
conda install -c conda-forge -c bioconda dirac  # CPU only
conda install -c conda-forge -c bioconda dirac pytorch-gpu  # With GPU support
```

Or, it can also be installed via pip:

```sh
pip install spagnns
```

> Installing within a
> [conda environment](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)
> is recommended.

## Usage

Please checkout the documentations and tutorials at
[dirac.readthedocs.io](https://rundirac.readthedocs.io/en/latest/).
