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/).
