Single-cell assay for transposase-accessible chromatin using sequencing (scATAC-seq) deciphers genome-wide chromatin accessibility, providing profound insights into gene regulation mechanisms. With the rapid advance of sequencing technology, scATAC-seq data typically encompasses numerous samples generated under various conditions, leading to complex and multifactorial batch effects, thus necessitating reliable batch integration tools. Although numerous batch integration tools exist for single-cell RNA sequencing (scRNA-seq) data, their effectiveness on scATAC-seq data has proven limited due to the characteristic differences between scRNA-seq and scATAC-seq data. Existing integration methods for scATAC-seq data suffer from several fundamental limitations, such as disrupting the biological heterogeneity and focusing solely on low-dimensional correction, which can lead to data distortion and hinder downstream analysis. Here we propose Fountain, a deep learning framework for scATAC-seq data integration via rigorous barycentric mapping. Fountain regularizes barycentric mapping with geometric data information to achieve biological heterogeneity-preserving integration. Through comprehensive experiments on multiple datasets involving various laboratory protocols, sample composition and species, we demonstrate the advantages of Fountain over existing methods in batch correction and biological conservation. Additionally, the trained Fountain model can integrate data from new batches alongside already integrated data without retraining, thereby facilitating the incorporation of additional data and enabling continuous online data integration. Moreover, we provide a reconstruction strategy to obtain batch-corrected ATAC profiles, which has been proven to better capture cellular heterogeneity and reveal cell type-specific implications such as expression enrichment analysis and partitioned heritability analysis.
Raw data
{
"_id": null,
"home_page": "https://github.com/BioX-NKU/Fountain",
"name": "scFountain",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "scATAC-seq, batch integration, barycentric mapping, online integration, cell type-specific implication",
"author": "BioX-NKU",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/c0/f5/6a70f9b6867c1af90a48182be169bf2f973dc25a63040a0543bdef07aa40/scfountain-0.0.7.tar.gz",
"platform": null,
"description": "Single-cell assay for transposase-accessible chromatin using sequencing (scATAC-seq) deciphers genome-wide chromatin accessibility, providing profound insights into gene regulation mechanisms. With the rapid advance of sequencing technology, scATAC-seq data typically encompasses numerous samples generated under various conditions, leading to complex and multifactorial batch effects, thus necessitating reliable batch integration tools. Although numerous batch integration tools exist for single-cell RNA sequencing (scRNA-seq) data, their effectiveness on scATAC-seq data has proven limited due to the characteristic differences between scRNA-seq and scATAC-seq data. Existing integration methods for scATAC-seq data suffer from several fundamental limitations, such as disrupting the biological heterogeneity and focusing solely on low-dimensional correction, which can lead to data distortion and hinder downstream analysis. Here we propose Fountain, a deep learning framework for scATAC-seq data integration via rigorous barycentric mapping. Fountain regularizes barycentric mapping with geometric data information to achieve biological heterogeneity-preserving integration. Through comprehensive experiments on multiple datasets involving various laboratory protocols, sample composition and species, we demonstrate the advantages of Fountain over existing methods in batch correction and biological conservation. Additionally, the trained Fountain model can integrate data from new batches alongside already integrated data without retraining, thereby facilitating the incorporation of additional data and enabling continuous online data integration. Moreover, we provide a reconstruction strategy to obtain batch-corrected ATAC profiles, which has been proven to better capture cellular heterogeneity and reveal cell type-specific implications such as expression enrichment analysis and partitioned heritability analysis. \n",
"bugtrack_url": null,
"license": "MIT Licence",
"summary": "Rigorous integration of single-cell ATAC-seq data using regularized barycentric mapping",
"version": "0.0.7",
"project_urls": {
"Homepage": "https://github.com/BioX-NKU/Fountain"
},
"split_keywords": [
"scatac-seq",
" batch integration",
" barycentric mapping",
" online integration",
" cell type-specific implication"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "88f103063234cd90f8fcc1c16829e847d388907a915b4d4c9c6a620d4b26b061",
"md5": "c25c0e2a2b06617db84d44465b5ea12e",
"sha256": "738744125a6cad4ae2298275217a9b509f2ac3868f785f7449999fd2b7548721"
},
"downloads": -1,
"filename": "scFountain-0.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c25c0e2a2b06617db84d44465b5ea12e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 13064,
"upload_time": "2024-12-16T06:14:40",
"upload_time_iso_8601": "2024-12-16T06:14:40.633851Z",
"url": "https://files.pythonhosted.org/packages/88/f1/03063234cd90f8fcc1c16829e847d388907a915b4d4c9c6a620d4b26b061/scFountain-0.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c0f56a70f9b6867c1af90a48182be169bf2f973dc25a63040a0543bdef07aa40",
"md5": "64c83abf178b34ee62e96719e6ec07f0",
"sha256": "66b637c1f36eac171a3c9a532ab68ddd825f0261cf9ba9e29ad4051226742b14"
},
"downloads": -1,
"filename": "scfountain-0.0.7.tar.gz",
"has_sig": false,
"md5_digest": "64c83abf178b34ee62e96719e6ec07f0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 11342,
"upload_time": "2024-12-16T06:14:42",
"upload_time_iso_8601": "2024-12-16T06:14:42.105439Z",
"url": "https://files.pythonhosted.org/packages/c0/f5/6a70f9b6867c1af90a48182be169bf2f973dc25a63040a0543bdef07aa40/scfountain-0.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-16 06:14:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "BioX-NKU",
"github_project": "Fountain",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "absl-py",
"specs": []
},
{
"name": "aiohttp",
"specs": [
[
"==",
"3.9.3"
]
]
},
{
"name": "aiosignal",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "alabaster",
"specs": [
[
"==",
"0.7.13"
]
]
},
{
"name": "anndata",
"specs": []
},
{
"name": "anyio",
"specs": []
},
{
"name": "argon2-cffi",
"specs": []
},
{
"name": "argon2-cffi-bindings",
"specs": []
},
{
"name": "asttokens",
"specs": []
},
{
"name": "async-timeout",
"specs": [
[
"==",
"4.0.3"
]
]
},
{
"name": "attrs",
"specs": []
},
{
"name": "Babel",
"specs": []
},
{
"name": "backcall",
"specs": []
},
{
"name": "bamnostic",
"specs": [
[
"==",
"1.1.10"
]
]
},
{
"name": "beautifulsoup4",
"specs": []
},
{
"name": "bleach",
"specs": []
},
{
"name": "Bottleneck",
"specs": []
},
{
"name": "Brotli",
"specs": []
},
{
"name": "cached-property",
"specs": []
},
{
"name": "certifi",
"specs": []
},
{
"name": "cffi",
"specs": []
},
{
"name": "charset-normalizer",
"specs": []
},
{
"name": "chex",
"specs": []
},
{
"name": "colorama",
"specs": []
},
{
"name": "comm",
"specs": []
},
{
"name": "contextlib2",
"specs": [
[
"==",
"21.6.0"
]
]
},
{
"name": "contourpy",
"specs": []
},
{
"name": "cycler",
"specs": []
},
{
"name": "decorator",
"specs": []
},
{
"name": "defusedxml",
"specs": []
},
{
"name": "Deprecated",
"specs": [
[
"==",
"1.2.14"
]
]
},
{
"name": "dm-tree",
"specs": []
},
{
"name": "docrep",
"specs": [
[
"==",
"0.3.2"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.20.1"
]
]
},
{
"name": "entrypoints",
"specs": []
},
{
"name": "episcanpy",
"specs": [
[
"==",
"0.4.0"
]
]
},
{
"name": "et-xmlfile",
"specs": [
[
"==",
"1.1.0"
]
]
},
{
"name": "etils",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "exceptiongroup",
"specs": []
},
{
"name": "executing",
"specs": []
},
{
"name": "fastjsonschema",
"specs": []
},
{
"name": "filelock",
"specs": [
[
"==",
"3.13.1"
]
]
},
{
"name": "flax",
"specs": [
[
"==",
"0.6.11"
]
]
},
{
"name": "fonttools",
"specs": [
[
"==",
"4.25.0"
]
]
},
{
"name": "frozenlist",
"specs": [
[
"==",
"1.4.1"
]
]
},
{
"name": "fsspec",
"specs": [
[
"==",
"2024.2.0"
]
]
},
{
"name": "get-annotations",
"specs": []
},
{
"name": "h5py",
"specs": []
},
{
"name": "idna",
"specs": []
},
{
"name": "igraph",
"specs": [
[
"==",
"0.11.4"
]
]
},
{
"name": "imagesize",
"specs": [
[
"==",
"1.4.1"
]
]
},
{
"name": "importlib_metadata",
"specs": []
},
{
"name": "importlib_resources",
"specs": []
},
{
"name": "intervaltree",
"specs": [
[
"==",
"3.1.0"
]
]
},
{
"name": "ipykernel",
"specs": []
},
{
"name": "ipython",
"specs": []
},
{
"name": "ipython-genutils",
"specs": [
[
"==",
"0.2.0"
]
]
},
{
"name": "ipywidgets",
"specs": []
},
{
"name": "jax",
"specs": [
[
"==",
"0.4.13"
]
]
},
{
"name": "jaxlib",
"specs": [
[
"==",
"0.4.13"
]
]
},
{
"name": "jedi",
"specs": []
},
{
"name": "Jinja2",
"specs": []
},
{
"name": "joblib",
"specs": []
},
{
"name": "json5",
"specs": []
},
{
"name": "jsonschema",
"specs": []
},
{
"name": "jsonschema-specifications",
"specs": []
},
{
"name": "jupyter",
"specs": []
},
{
"name": "jupyter-client",
"specs": []
},
{
"name": "jupyter-console",
"specs": []
},
{
"name": "jupyter-server",
"specs": []
},
{
"name": "jupyter_core",
"specs": []
},
{
"name": "jupyterlab",
"specs": []
},
{
"name": "jupyterlab_pygments",
"specs": []
},
{
"name": "jupyterlab_server",
"specs": []
},
{
"name": "jupyterlab_widgets",
"specs": []
},
{
"name": "kiwisolver",
"specs": []
},
{
"name": "kneed",
"specs": [
[
"==",
"0.8.5"
]
]
},
{
"name": "legacy-api-wrap",
"specs": [
[
"==",
"1.4"
]
]
},
{
"name": "leidenalg",
"specs": [
[
"==",
"0.10.2"
]
]
},
{
"name": "lightning-utilities",
"specs": [
[
"==",
"0.10.1"
]
]
},
{
"name": "llvmlite",
"specs": []
},
{
"name": "louvain",
"specs": [
[
"==",
"0.7.1"
]
]
},
{
"name": "markdown-it-py",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "MarkupSafe",
"specs": []
},
{
"name": "matplotlib",
"specs": []
},
{
"name": "matplotlib-inline",
"specs": []
},
{
"name": "mdurl",
"specs": [
[
"==",
"0.1.2"
]
]
},
{
"name": "mistune",
"specs": []
},
{
"name": "ml-collections",
"specs": [
[
"==",
"0.1.1"
]
]
},
{
"name": "ml-dtypes",
"specs": [
[
"==",
"0.2.0"
]
]
},
{
"name": "mpmath",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "msgpack",
"specs": [
[
"==",
"1.0.8"
]
]
},
{
"name": "mudata",
"specs": [
[
"==",
"0.2.3"
]
]
},
{
"name": "multidict",
"specs": [
[
"==",
"6.0.5"
]
]
},
{
"name": "multipledispatch",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "munkres",
"specs": [
[
"==",
"1.1.4"
]
]
},
{
"name": "natsort",
"specs": []
},
{
"name": "nbclassic",
"specs": []
},
{
"name": "nbclient",
"specs": []
},
{
"name": "nbconvert",
"specs": []
},
{
"name": "nbformat",
"specs": []
},
{
"name": "nbsphinx",
"specs": [
[
"==",
"0.9.3"
]
]
},
{
"name": "nest_asyncio",
"specs": []
},
{
"name": "networkx",
"specs": []
},
{
"name": "notebook",
"specs": []
},
{
"name": "notebook_shim",
"specs": []
},
{
"name": "numba",
"specs": []
},
{
"name": "numexpr",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "numpyro",
"specs": [
[
"==",
"0.12.1"
]
]
},
{
"name": "nvidia-cublas-cu12",
"specs": [
[
"==",
"12.1.3.1"
]
]
},
{
"name": "nvidia-cuda-cupti-cu12",
"specs": [
[
"==",
"12.1.105"
]
]
},
{
"name": "nvidia-cuda-nvrtc-cu12",
"specs": [
[
"==",
"12.1.105"
]
]
},
{
"name": "nvidia-cuda-runtime-cu12",
"specs": [
[
"==",
"12.1.105"
]
]
},
{
"name": "nvidia-cudnn-cu12",
"specs": [
[
"==",
"8.9.2.26"
]
]
},
{
"name": "nvidia-cufft-cu12",
"specs": [
[
"==",
"11.0.2.54"
]
]
},
{
"name": "nvidia-curand-cu12",
"specs": [
[
"==",
"10.3.2.106"
]
]
},
{
"name": "nvidia-cusolver-cu12",
"specs": [
[
"==",
"11.4.5.107"
]
]
},
{
"name": "nvidia-cusparse-cu12",
"specs": [
[
"==",
"12.1.0.106"
]
]
},
{
"name": "nvidia-nccl-cu12",
"specs": [
[
"==",
"2.19.3"
]
]
},
{
"name": "nvidia-nvjitlink-cu12",
"specs": [
[
"==",
"12.4.99"
]
]
},
{
"name": "nvidia-nvtx-cu12",
"specs": [
[
"==",
"12.1.105"
]
]
},
{
"name": "openpyxl",
"specs": [
[
"==",
"3.1.2"
]
]
},
{
"name": "opt-einsum",
"specs": []
},
{
"name": "optax",
"specs": []
},
{
"name": "orbax-checkpoint",
"specs": [
[
"==",
"0.2.3"
]
]
},
{
"name": "packaging",
"specs": []
},
{
"name": "pandas",
"specs": [
[
"==",
"1.5.3"
]
]
},
{
"name": "pandocfilters",
"specs": []
},
{
"name": "parso",
"specs": []
},
{
"name": "patsy",
"specs": []
},
{
"name": "pexpect",
"specs": []
},
{
"name": "pickleshare",
"specs": []
},
{
"name": "pillow",
"specs": []
},
{
"name": "pkgutil_resolve_name",
"specs": []
},
{
"name": "platformdirs",
"specs": []
},
{
"name": "ply",
"specs": [
[
"==",
"3.11"
]
]
},
{
"name": "POT",
"specs": [
[
"==",
"0.9.3"
]
]
},
{
"name": "prometheus_client",
"specs": []
},
{
"name": "prompt-toolkit",
"specs": []
},
{
"name": "ptyprocess",
"specs": []
},
{
"name": "pure-eval",
"specs": []
},
{
"name": "pycparser",
"specs": []
},
{
"name": "pydot",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "Pygments",
"specs": []
},
{
"name": "pynndescent",
"specs": []
},
{
"name": "pyparsing",
"specs": []
},
{
"name": "PyQt5",
"specs": [
[
"==",
"5.15.10"
]
]
},
{
"name": "PyQt5-sip",
"specs": []
},
{
"name": "pyro-api",
"specs": [
[
"==",
"0.1.2"
]
]
},
{
"name": "pyro-ppl",
"specs": [
[
"==",
"1.9.0"
]
]
},
{
"name": "pysam",
"specs": [
[
"==",
"0.22.0"
]
]
},
{
"name": "PySocks",
"specs": []
},
{
"name": "python-dateutil",
"specs": []
},
{
"name": "pytorch-lightning",
"specs": [
[
"==",
"1.9.5"
]
]
},
{
"name": "pytz",
"specs": []
},
{
"name": "PyYAML",
"specs": []
},
{
"name": "pyzmq",
"specs": [
[
"==",
"19.0.2"
]
]
},
{
"name": "qtconsole",
"specs": []
},
{
"name": "QtPy",
"specs": []
},
{
"name": "referencing",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "rich",
"specs": [
[
"==",
"13.7.1"
]
]
},
{
"name": "rpds-py",
"specs": []
},
{
"name": "scalex",
"specs": [
[
"==",
"1.0.2"
]
]
},
{
"name": "scanpy",
"specs": []
},
{
"name": "scib",
"specs": [
[
"==",
"1.1.4"
]
]
},
{
"name": "scikit-learn",
"specs": []
},
{
"name": "scikit-misc",
"specs": [
[
"==",
"0.2.0"
]
]
},
{
"name": "scipy",
"specs": [
[
"==",
"1.10.1"
]
]
},
{
"name": "scvi-tools",
"specs": [
[
"==",
"0.20.3"
]
]
},
{
"name": "seaborn",
"specs": []
},
{
"name": "Send2Trash",
"specs": []
},
{
"name": "session-info",
"specs": []
},
{
"name": "setuptools-scm",
"specs": [
[
"==",
"8.0.4"
]
]
},
{
"name": "sip",
"specs": []
},
{
"name": "six",
"specs": []
},
{
"name": "sniffio",
"specs": []
},
{
"name": "snowballstemmer",
"specs": [
[
"==",
"2.2.0"
]
]
},
{
"name": "sortedcontainers",
"specs": [
[
"==",
"2.4.0"
]
]
},
{
"name": "soupsieve",
"specs": []
},
{
"name": "Sphinx",
"specs": [
[
"==",
"7.1.2"
]
]
},
{
"name": "sphinx-autodoc-typehints",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "sphinxcontrib-applehelp",
"specs": [
[
"==",
"1.0.4"
]
]
},
{
"name": "sphinxcontrib-devhelp",
"specs": [
[
"==",
"1.0.2"
]
]
},
{
"name": "sphinxcontrib-htmlhelp",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "sphinxcontrib-jsmath",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "sphinxcontrib-qthelp",
"specs": [
[
"==",
"1.0.3"
]
]
},
{
"name": "sphinxcontrib-serializinghtml",
"specs": [
[
"==",
"1.1.5"
]
]
},
{
"name": "stack-data",
"specs": []
},
{
"name": "statsmodels",
"specs": []
},
{
"name": "stdlib-list",
"specs": []
},
{
"name": "sympy",
"specs": [
[
"==",
"1.12"
]
]
},
{
"name": "tbb",
"specs": [
[
"==",
"2021.11.0"
]
]
},
{
"name": "tensorstore",
"specs": [
[
"==",
"0.1.45"
]
]
},
{
"name": "terminado",
"specs": []
},
{
"name": "texttable",
"specs": []
},
{
"name": "threadpoolctl",
"specs": []
},
{
"name": "tinycss2",
"specs": []
},
{
"name": "tomli",
"specs": []
},
{
"name": "toolz",
"specs": []
},
{
"name": "torch",
"specs": [
[
"==",
"2.2.1"
]
]
},
{
"name": "torchmetrics",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "tornado",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "traitlets",
"specs": []
},
{
"name": "triton",
"specs": [
[
"==",
"2.2.0"
]
]
},
{
"name": "typing_extensions",
"specs": []
},
{
"name": "tzdata",
"specs": []
},
{
"name": "umap-learn",
"specs": []
},
{
"name": "urllib3",
"specs": []
},
{
"name": "wcwidth",
"specs": []
},
{
"name": "webencodings",
"specs": []
},
{
"name": "websocket-client",
"specs": []
},
{
"name": "widgetsnbextension",
"specs": []
},
{
"name": "wrapt",
"specs": [
[
"==",
"1.16.0"
]
]
},
{
"name": "yarl",
"specs": [
[
"==",
"1.9.4"
]
]
},
{
"name": "zipp",
"specs": []
}
],
"lcname": "scfountain"
}