gsMap 1.72.3__tar.gz → 1.73.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. gsmap-1.73.1/.coveragerc +41 -0
  2. {gsmap-1.72.3 → gsmap-1.73.1}/.github/workflows/docs.yml +4 -4
  3. {gsmap-1.72.3 → gsmap-1.73.1}/.github/workflows/publish-to-pypi.yml +2 -1
  4. gsmap-1.73.1/.github/workflows/test_linux.yml +100 -0
  5. {gsmap-1.72.3 → gsmap-1.73.1}/.markdownlint.yaml +1 -2
  6. {gsmap-1.72.3 → gsmap-1.73.1}/.pre-commit-config.yaml +3 -5
  7. {gsmap-1.72.3 → gsmap-1.73.1}/LICENSE +6 -6
  8. gsmap-1.73.1/PKG-INFO +177 -0
  9. gsmap-1.73.1/README.md +112 -0
  10. gsmap-1.73.1/codecov.yml +29 -0
  11. gsmap-1.73.1/docs/source/10x.md +137 -0
  12. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/advanced_usage.md +7 -4
  13. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/conf.py +4 -4
  14. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/data_format.md +20 -15
  15. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/index.rst +1 -1
  16. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/quick_mode.md +7 -3
  17. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/step_by_step.md +12 -8
  18. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/tutorials.rst +1 -0
  19. {gsmap-1.72.3 → gsmap-1.73.1}/pyproject.toml +12 -6
  20. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/GNN/train.py +1 -1
  21. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/__init__.py +1 -1
  22. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/cauchy_combination_test.py +5 -5
  23. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/config.py +170 -37
  24. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/create_slice_mean.py +33 -18
  25. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/diagnosis.py +4 -14
  26. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/find_latent_representation.py +19 -3
  27. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/format_sumstats.py +6 -0
  28. gsmap-1.73.1/src/gsMap/generate_ldscore.py +1357 -0
  29. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/latent_to_gene.py +57 -19
  30. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/run_all_mode.py +2 -0
  31. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/utils/generate_r2_matrix.py +15 -294
  32. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/utils/regression_read.py +0 -76
  33. gsmap-1.73.1/tests/conftest.py +469 -0
  34. gsmap-1.73.1/tests/test_advanced_usage.py +183 -0
  35. gsmap-1.73.1/tests/test_cli.py +69 -0
  36. gsmap-1.73.1/tests/test_docs_cli_parsing.py +125 -0
  37. gsmap-1.72.3/PKG-INFO +0 -120
  38. gsmap-1.72.3/README.md +0 -61
  39. gsmap-1.72.3/docs/source/charts/cortex/Cortex_151507_Height.json +0 -1
  40. gsmap-1.72.3/docs/source/charts/cortex/Cortex_151507_IQ.json +0 -1
  41. gsmap-1.72.3/docs/source/charts/cortex/Cortex_151507_MCHC.json +0 -1
  42. gsmap-1.72.3/docs/source/charts/cortex/Cortex_151507_SCZ.json +0 -1
  43. gsmap-1.72.3/docs/source/charts/mouse_embryo/E16.5_E1S1_Height.json +0 -1
  44. gsmap-1.72.3/docs/source/charts/mouse_embryo/E16.5_E1S1_IQ.json +0 -1
  45. gsmap-1.72.3/docs/source/charts/mouse_embryo/E16.5_E1S1_MCHC.json +0 -1
  46. gsmap-1.72.3/docs/source/charts/mouse_embryo/E16.5_E1S1_SCZ.json +0 -1
  47. gsmap-1.72.3/docs/source/charts/test.json +0 -16
  48. gsmap-1.72.3/src/gsMap/generate_ldscore.py +0 -762
  49. {gsmap-1.72.3 → gsmap-1.73.1}/.gitignore +0 -0
  50. {gsmap-1.72.3 → gsmap-1.73.1}/docs/Makefile +0 -0
  51. {gsmap-1.72.3 → gsmap-1.73.1}/docs/make.bat +0 -0
  52. {gsmap-1.72.3 → gsmap-1.73.1}/docs/requirements.txt +0 -0
  53. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/_static/schematic.svg +0 -0
  54. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api/cauchy_combination.rst +0 -0
  55. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api/create_slice_mean.rst +0 -0
  56. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api/find_latent_representations.rst +0 -0
  57. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api/format_sumstats.rst +0 -0
  58. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api/generate_ldscore.rst +0 -0
  59. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api/latent_to_gene.rst +0 -0
  60. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api/quick_mode.rst +0 -0
  61. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api/report.rst +0 -0
  62. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api/spatial_ldsc.rst +0 -0
  63. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/api.rst +0 -0
  64. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/data.rst +0 -0
  65. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/install.rst +0 -0
  66. {gsmap-1.72.3 → gsmap-1.73.1}/docs/source/release.rst +0 -0
  67. {gsmap-1.72.3 → gsmap-1.73.1}/schematic.png +0 -0
  68. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/GNN/__init__.py +0 -0
  69. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/GNN/adjacency_matrix.py +0 -0
  70. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/GNN/model.py +0 -0
  71. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/__main__.py +0 -0
  72. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/main.py +0 -0
  73. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/report.py +0 -0
  74. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/setup.py +0 -0
  75. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/spatial_ldsc_multiple_sumstats.py +0 -0
  76. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/templates/report_template.html +0 -0
  77. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/utils/__init__.py +0 -0
  78. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/utils/jackknife.py +0 -0
  79. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/utils/manhattan_plot.py +0 -0
  80. {gsmap-1.72.3 → gsmap-1.73.1}/src/gsMap/visualize.py +0 -0
  81. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/Makefile +0 -0
  82. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/make.bat +0 -0
  83. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/requirements.txt +0 -0
  84. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/source/_static/raw1_add_txt.svg +0 -0
  85. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/source/_static/raw2_add_txt.svg +0 -0
  86. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/source/_static/raw3_add_txt.svg +0 -0
  87. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/source/_static/raw4_add_txt.svg +0 -0
  88. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/source/_static/raw5_add_txt.svg +0 -0
  89. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/source/_static/schematic.svg +0 -0
  90. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/source/conf.py +0 -0
  91. {gsmap-1.72.3 → gsmap-1.73.1}/visualization_web_docs/source/index.rst +0 -0
@@ -0,0 +1,41 @@
1
+ [run]
2
+ source = src/gsMap
3
+ omit =
4
+ # Exclude the files you mentioned
5
+ src/gsMap/utils/jackknife.py
6
+ src/gsMap/format_sumstats.py
7
+ # Other files you might want to exclude
8
+ */tests/*
9
+ */__init__.py
10
+ src/gsMap/templates/*
11
+ # Additional excludes
12
+ src/gsMap/__main__.py
13
+ src/gsMap/setup.py
14
+
15
+ [report]
16
+ exclude_lines =
17
+ # Have to re-enable the standard pragma
18
+ pragma: no cover
19
+
20
+ # Don't complain about missing debug-only code
21
+ def __repr__
22
+ if self\.debug
23
+
24
+ # Don't complain if tests don't hit defensive assertion code
25
+ raise NotImplementedError
26
+ raise ValueError
27
+ except ImportError
28
+ except Exception
29
+ except:
30
+
31
+ # Don't complain if non-runnable code isn't run
32
+ if 0:
33
+ if __name__ == .__main__.:
34
+ if False:
35
+
36
+ # Skip pass statements
37
+ pass
38
+
39
+ [paths]
40
+ source =
41
+ src/gsMap
@@ -1,10 +1,10 @@
1
- name: Build and Deploy Documentation
1
+ name: docs
2
2
 
3
3
  on:
4
4
  push:
5
5
  paths:
6
- - 'docs/**'
7
- - 'visualization_web_docs/**'
6
+ - "docs/**"
7
+ - "visualization_web_docs/**"
8
8
 
9
9
  jobs:
10
10
  deploy_docs:
@@ -17,7 +17,7 @@ jobs:
17
17
  - name: Set up Python
18
18
  uses: actions/setup-python@v4
19
19
  with:
20
- python-version: '3.12'
20
+ python-version: "3.12"
21
21
 
22
22
  # --- Build 'docs' documentation ---
23
23
  - name: Install 'docs' dependencies
@@ -37,6 +37,7 @@ jobs:
37
37
  needs:
38
38
  - build
39
39
  runs-on: ubuntu-latest
40
+
40
41
  environment:
41
42
  name: pypi
42
43
  url: https://pypi.org/p/gsMap
@@ -71,7 +72,7 @@ jobs:
71
72
  name: python-package-distributions
72
73
  path: dist/
73
74
  - name: Sign the dists with Sigstore
74
- uses: sigstore/gh-action-sigstore-python@v1.2.3
75
+ uses: sigstore/gh-action-sigstore-python@v3.0.0
75
76
  with:
76
77
  inputs: >-
77
78
  ./dist/*.tar.gz
@@ -0,0 +1,100 @@
1
+ name: test
2
+
3
+ on:
4
+ push:
5
+ branches: [main, "[0-9]+.[0-9]+.x"]
6
+ pull_request:
7
+ schedule:
8
+ - cron: "0 0 * * *"
9
+ workflow_dispatch:
10
+
11
+ concurrency:
12
+ group: ${{ github.workflow }}-${{ github.ref }}
13
+ cancel-in-progress: true
14
+
15
+ jobs:
16
+ test:
17
+ runs-on: ubuntu-latest
18
+
19
+ defaults:
20
+ run:
21
+ shell: bash -e {0} # -e to fail on error
22
+
23
+ strategy:
24
+ fail-fast: false
25
+ matrix:
26
+ python: ["3.10", "3.13"]
27
+
28
+ name: Python ${{ matrix.python }} integration
29
+
30
+ env:
31
+ PYTHON: ${{ matrix.python }}
32
+ TEST_DATA_URL: https://yanglab.westlake.edu.cn/data/gsMap/gsMap_test_data.tar.gz
33
+ TEST_DATA_DIR: ${{ github.workspace }}/test_data
34
+ WORK_DIR: ${{ github.workspace }}/gsmap_workdir
35
+
36
+ steps:
37
+ - name: Checkout code
38
+ uses: actions/checkout@v4
39
+
40
+ - name: Install uv
41
+ uses: astral-sh/setup-uv@v5
42
+
43
+ - name: "Set up Python"
44
+ uses: actions/setup-python@v5
45
+ with:
46
+ python-version: ${{ matrix.python }}
47
+
48
+ - name: Install dependencies
49
+ run: |
50
+ uv pip install --system -e ".[tests]"
51
+
52
+ - name: Create workdir
53
+ run: |
54
+ mkdir -p $WORK_DIR
55
+ echo "Created workdir: $WORK_DIR"
56
+
57
+ - name: Cache test data
58
+ uses: actions/cache@v3
59
+ id: cache-test-data
60
+ with:
61
+ path: ${{ env.TEST_DATA_DIR }}
62
+ key: test-data-v1
63
+
64
+ - name: Download and extract test data
65
+ if: steps.cache-test-data.outputs.cache-hit != 'true'
66
+ run: |
67
+ echo "Downloading test data from $TEST_DATA_URL"
68
+ curl -L $TEST_DATA_URL -o gsMap_test_data.tar.gz
69
+ tar -xzf gsMap_test_data.tar.gz -C ${{ github.workspace }}
70
+ rm gsMap_test_data.tar.gz
71
+ echo "Test data extracted to ${{ github.workspace }}"
72
+ ls -la $TEST_DATA_DIR
73
+
74
+ - name: Run pytest
75
+ env:
76
+ MPLBACKEND: agg
77
+ DISPLAY: :0
78
+ COLUMNS: 120
79
+ run: |
80
+ python -m pytest --cov=src \
81
+ --junitxml=junit.xml -o junit_family=legacy \
82
+ --cov-report=term-missing \
83
+ --cov-report=xml \
84
+ --cov-config=.coveragerc \
85
+ -v -s --color=yes \
86
+ --run-real-data \
87
+ --work-dir=$WORK_DIR \
88
+ --test-data=$TEST_DATA_DIR
89
+
90
+ - uses: codecov/codecov-action@v4
91
+ with:
92
+ token: ${{ secrets.CODECOV_TOKEN }}
93
+ files: ./coverage.xml
94
+ fail_ci_if_error: false
95
+
96
+ - name: Upload test results to Codecov
97
+ if: ${{ !cancelled() }}
98
+ uses: codecov/test-results-action@v1
99
+ with:
100
+ token: ${{ secrets.CODECOV_TOKEN }}
@@ -12,8 +12,7 @@ MD033: false
12
12
  MD041: false
13
13
 
14
14
  # MD013/line-length
15
- MD013:
16
- line_length: 99
15
+ MD013: false
17
16
 
18
17
  # MD024/no-duplicate-heading
19
18
  MD024:
@@ -18,7 +18,7 @@ repos:
18
18
  types: [yaml]
19
19
 
20
20
  - repo: https://github.com/executablebooks/mdformat
21
- rev: 0.7.21
21
+ rev: 0.7.22
22
22
  hooks:
23
23
  - id: mdformat
24
24
  additional_dependencies:
@@ -26,21 +26,19 @@ repos:
26
26
  exclude: |
27
27
  (?x)^(
28
28
  \.github/.*\.md
29
- | docs/.*\.md
30
29
  )$
31
30
 
32
31
  - repo: https://github.com/igorshubovych/markdownlint-cli
33
- rev: v0.43.0
32
+ rev: v0.44.0
34
33
  hooks:
35
34
  - id: markdownlint-fix
36
35
  exclude: |
37
36
  (?x)^(
38
37
  \.github/.*\.md
39
- | docs/.*\.md
40
38
  )$
41
39
 
42
40
  - repo: https://github.com/astral-sh/ruff-pre-commit
43
- rev: v0.9.2
41
+ rev: v0.11.5
44
42
  hooks:
45
43
  - id: ruff
46
44
  args: [--fix, --exit-non-zero-on-fix]
@@ -1,6 +1,6 @@
1
- The MIT License (MIT)
1
+ MIT License
2
2
 
3
- Copyright (c) 2023 liyang
3
+ Copyright (c) 2025 JianYang-Lab
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -9,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
9
  copies of the Software, and to permit persons to whom the Software is
10
10
  furnished to do so, subject to the following conditions:
11
11
 
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
14
 
15
15
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
17
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
gsmap-1.73.1/PKG-INFO ADDED
@@ -0,0 +1,177 @@
1
+ Metadata-Version: 2.4
2
+ Name: gsMap
3
+ Version: 1.73.1
4
+ Summary: Genetics-informed pathogenic spatial mapping
5
+ Author-email: liyang <songliyang@westlake.edu.cn>, wenhao <chenwenhao@westlake.edu.cn>
6
+ Requires-Python: >=3.10
7
+ Description-Content-Type: text/markdown
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ License-File: LICENSE
16
+ Requires-Dist: numpy < 2.0.0
17
+ Requires-Dist: pandas
18
+ Requires-Dist: scipy
19
+ Requires-Dist: scikit-learn
20
+ Requires-Dist: matplotlib
21
+ Requires-Dist: seaborn
22
+ Requires-Dist: tqdm
23
+ Requires-Dist: pyyaml
24
+ Requires-Dist: torch
25
+ Requires-Dist: torch-geometric
26
+ Requires-Dist: pyranges
27
+ Requires-Dist: pyfiglet
28
+ Requires-Dist: plotly
29
+ Requires-Dist: kaleido
30
+ Requires-Dist: jinja2
31
+ Requires-Dist: scanpy >=1.8.0
32
+ Requires-Dist: zarr>=2,<3
33
+ Requires-Dist: bitarray >=2.9.2, <3.0.0
34
+ Requires-Dist: pyarrow
35
+ Requires-Dist: scikit-misc
36
+ Requires-Dist: sphinx ; extra == "doc"
37
+ Requires-Dist: sphinx-argparse ; extra == "doc"
38
+ Requires-Dist: sphinx-autobuild ; extra == "doc"
39
+ Requires-Dist: sphinx-autodoc-typehints ; extra == "doc"
40
+ Requires-Dist: sphinx-basic-ng ; extra == "doc"
41
+ Requires-Dist: sphinx-charts ; extra == "doc"
42
+ Requires-Dist: sphinx-copybutton ; extra == "doc"
43
+ Requires-Dist: sphinx_inline_tabs ; extra == "doc"
44
+ Requires-Dist: sphinx-markdown-tables ; extra == "doc"
45
+ Requires-Dist: sphinx-rtd-theme ; extra == "doc"
46
+ Requires-Dist: sphinxcontrib-applehelp ; extra == "doc"
47
+ Requires-Dist: sphinxcontrib-devhelp ; extra == "doc"
48
+ Requires-Dist: sphinxcontrib-htmlhelp ; extra == "doc"
49
+ Requires-Dist: sphinxcontrib-jquery ; extra == "doc"
50
+ Requires-Dist: sphinxcontrib-jsmath ; extra == "doc"
51
+ Requires-Dist: sphinxcontrib-qthelp ; extra == "doc"
52
+ Requires-Dist: sphinxcontrib-serializinghtml ; extra == "doc"
53
+ Requires-Dist: furo ; extra == "doc"
54
+ Requires-Dist: myst-parser ; extra == "doc"
55
+ Requires-Dist: nbsphinx ; extra == "doc"
56
+ Requires-Dist: pytest>=7.0.0 ; extra == "tests"
57
+ Requires-Dist: pytest-cov>=4.0.0 ; extra == "tests"
58
+ Requires-Dist: coverage ; extra == "tests"
59
+ Project-URL: Documentation, https://yanglab.westlake.edu.cn/gsmap/document/software
60
+ Project-URL: Home, https://github.com/JianYang-Lab/gsMap
61
+ Project-URL: Website, https://yanglab.westlake.edu.cn/gsmap/home
62
+ Provides-Extra: doc
63
+ Provides-Extra: tests
64
+
65
+ # gsMap
66
+
67
+ | | | | |
68
+ | ------------- | ---------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------- |
69
+ | __Version__ | [![PyPI version][pypi-badge]][pypi-url] [![Python][python-badge]][python-url] | __Status__ | [![Project Status][status-badge]][status-url] [![Maintenance][maintenance-badge]][maintenance-url] |
70
+ | __Activity__ | [![GitHub commits][commits-badge]][commits-url] [![Last Commit][last-commit-badge]][last-commit-url] | __Quality__ | [![codecov][codecov-badge]][codecov-url] [![Ruff][ruff-badge]][ruff-url] |
71
+ | __CI/CD__ | [![Docs][docs-badge]][docs-url] [![test][test-badge]][test-url] | __Community__ | [![GitHub stars][stars-badge]][stars-url] [![GitHub forks][forks-badge]][forks-url] |
72
+ | __Downloads__ | [![Downloads][downloads-badge]][downloads-url] | __License__ | [![License: MIT][license-badge]][license-url] [![DOI][doi-badge]][doi-url] |
73
+ | __Platform__ | [![Linux][linux-badge]][linux-url] | __Contribute__ | [![Issues][issues-badge]][issues-url] [![PRs Welcome][pr-badge]][pr-url] |
74
+
75
+ ## Introduction
76
+
77
+ `gsMap` (genetically informed spatial mapping of cells for complex traits)
78
+ integrates spatial transcriptomics (ST) data with genome-wide association study (GWAS)
79
+ summary statistics to map cells to human complex traits, including diseases,
80
+ in a spatially resolved manner.
81
+
82
+ ## Key Features
83
+
84
+ - __Spatially-aware High-Resolution Trait Mapping__
85
+ - __Spatial Region Identification__
86
+ - __Putative Causal Genes Identification__
87
+
88
+ ![Model Architecture](schematic.png)
89
+
90
+ ## Installation
91
+
92
+ Install using pip:
93
+
94
+ ```bash
95
+ conda create -n gsMap python>=3.10
96
+ conda activate gsMap
97
+ pip install gsMap
98
+ ```
99
+
100
+ Install using conda:
101
+
102
+ ```bash
103
+ conda create -n gsMap python>=3.10
104
+ conda activate gsMap
105
+ conda install bioconda::gsmap
106
+ ```
107
+
108
+ Install from source:
109
+
110
+ ```bash
111
+ git clone https://github.com/JianYang-Lab/gsMap
112
+ cd gsMap
113
+ pip install -e .
114
+ ```
115
+
116
+ Verify the installation by running the following command:
117
+
118
+ ```bash
119
+ gsmap --help
120
+ ```
121
+
122
+ ## Usage
123
+
124
+ Please check out the documentation and tutorials at [gsMap Documentation](https://yanglab.westlake.edu.cn/gsmap/document/software).
125
+
126
+ ## Online Visualization
127
+
128
+ To visualize the traits-cell association spatial maps,
129
+ please refer to [gsMap Visualization](https://yanglab.westlake.edu.cn/gsmap/visualize).
130
+
131
+ ## Citation
132
+
133
+ Song, L., Chen, W., Hou, J., Guo, M. & Yang, J.
134
+ [Spatially resolved mapping of cells associated with human complex traits.](https://doi.org/10.1038/s41586-025-08757-x)
135
+ Nature (2025).
136
+
137
+ Please cite the paper and give us a STAR if you find gsMap useful for your research.
138
+
139
+ <!-- Badge links -->
140
+
141
+ [codecov-badge]: https://codecov.io/gh/JianYang-Lab/gsMap/graph/badge.svg?token=NFZFXZIEUU
142
+ [codecov-url]: https://codecov.io/gh/JianYang-Lab/gsMap
143
+ [commits-badge]: https://img.shields.io/github/commit-activity/m/JianYang-Lab/gsMap
144
+ [commits-url]: https://github.com/JianYang-Lab/gsMap/commits/main
145
+ [docs-badge]: https://github.com/JianYang-Lab/gsMap/actions/workflows/docs.yml/badge.svg
146
+ [docs-url]: https://github.com/JianYang-Lab/gsMap/actions/workflows/docs.yml
147
+ [doi-badge]: https://img.shields.io/badge/DOI-10.1038%2Fs41586--025--08757--x-blue
148
+ [doi-url]: https://doi.org/10.1038/s41586-025-08757-x
149
+ [downloads-badge]: https://static.pepy.tech/badge/gsMap
150
+ [downloads-url]: https://pepy.tech/project/gsMap
151
+ [forks-badge]: https://img.shields.io/github/forks/JianYang-Lab/gsMap
152
+ [forks-url]: https://github.com/JianYang-Lab/gsMap/network/members
153
+ [issues-badge]: https://img.shields.io/github/issues/JianYang-Lab/gsMap
154
+ [issues-url]: https://github.com/JianYang-Lab/gsMap/issues
155
+ [last-commit-badge]: https://img.shields.io/github/last-commit/JianYang-Lab/gsMap
156
+ [last-commit-url]: https://github.com/JianYang-Lab/gsMap/commits/main
157
+ [license-badge]: https://img.shields.io/badge/License-MIT-yellow.svg
158
+ [license-url]: https://opensource.org/licenses/MIT
159
+ [linux-badge]: https://img.shields.io/badge/Linux-%E2%9C%93-success
160
+ [linux-url]: https://github.com/JianYang-Lab/gsMap/actions/workflows/test_linux.yml
161
+ [maintenance-badge]: https://img.shields.io/badge/Maintained%3F-yes-green.svg
162
+ [maintenance-url]: https://github.com/JianYang-Lab/gsMap/graphs/commit-activity
163
+ [pr-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg
164
+ [pr-url]: https://github.com/JianYang-Lab/gsMap/pulls
165
+ [pypi-badge]: https://img.shields.io/pypi/v/gsMap
166
+ [pypi-url]: https://pypi.org/project/gsMap/
167
+ [python-badge]: https://img.shields.io/pypi/pyversions/gsMap
168
+ [python-url]: https://www.python.org
169
+ [ruff-badge]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
170
+ [ruff-url]: https://github.com/astral-sh/ruff
171
+ [stars-badge]: https://img.shields.io/github/stars/JianYang-Lab/gsMap
172
+ [stars-url]: https://github.com/JianYang-Lab/gsMap/stargazers
173
+ [status-badge]: https://www.repostatus.org/badges/latest/active.svg
174
+ [status-url]: https://www.repostatus.org/#active
175
+ [test-badge]: https://github.com/JianYang-Lab/gsMap/actions/workflows/test_linux.yml/badge.svg
176
+ [test-url]: https://github.com/JianYang-Lab/gsMap/actions/workflows/test_linux.yml
177
+
gsmap-1.73.1/README.md ADDED
@@ -0,0 +1,112 @@
1
+ # gsMap
2
+
3
+ | | | | |
4
+ | ------------- | ---------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------- |
5
+ | __Version__ | [![PyPI version][pypi-badge]][pypi-url] [![Python][python-badge]][python-url] | __Status__ | [![Project Status][status-badge]][status-url] [![Maintenance][maintenance-badge]][maintenance-url] |
6
+ | __Activity__ | [![GitHub commits][commits-badge]][commits-url] [![Last Commit][last-commit-badge]][last-commit-url] | __Quality__ | [![codecov][codecov-badge]][codecov-url] [![Ruff][ruff-badge]][ruff-url] |
7
+ | __CI/CD__ | [![Docs][docs-badge]][docs-url] [![test][test-badge]][test-url] | __Community__ | [![GitHub stars][stars-badge]][stars-url] [![GitHub forks][forks-badge]][forks-url] |
8
+ | __Downloads__ | [![Downloads][downloads-badge]][downloads-url] | __License__ | [![License: MIT][license-badge]][license-url] [![DOI][doi-badge]][doi-url] |
9
+ | __Platform__ | [![Linux][linux-badge]][linux-url] | __Contribute__ | [![Issues][issues-badge]][issues-url] [![PRs Welcome][pr-badge]][pr-url] |
10
+
11
+ ## Introduction
12
+
13
+ `gsMap` (genetically informed spatial mapping of cells for complex traits)
14
+ integrates spatial transcriptomics (ST) data with genome-wide association study (GWAS)
15
+ summary statistics to map cells to human complex traits, including diseases,
16
+ in a spatially resolved manner.
17
+
18
+ ## Key Features
19
+
20
+ - __Spatially-aware High-Resolution Trait Mapping__
21
+ - __Spatial Region Identification__
22
+ - __Putative Causal Genes Identification__
23
+
24
+ ![Model Architecture](schematic.png)
25
+
26
+ ## Installation
27
+
28
+ Install using pip:
29
+
30
+ ```bash
31
+ conda create -n gsMap python>=3.10
32
+ conda activate gsMap
33
+ pip install gsMap
34
+ ```
35
+
36
+ Install using conda:
37
+
38
+ ```bash
39
+ conda create -n gsMap python>=3.10
40
+ conda activate gsMap
41
+ conda install bioconda::gsmap
42
+ ```
43
+
44
+ Install from source:
45
+
46
+ ```bash
47
+ git clone https://github.com/JianYang-Lab/gsMap
48
+ cd gsMap
49
+ pip install -e .
50
+ ```
51
+
52
+ Verify the installation by running the following command:
53
+
54
+ ```bash
55
+ gsmap --help
56
+ ```
57
+
58
+ ## Usage
59
+
60
+ Please check out the documentation and tutorials at [gsMap Documentation](https://yanglab.westlake.edu.cn/gsmap/document/software).
61
+
62
+ ## Online Visualization
63
+
64
+ To visualize the traits-cell association spatial maps,
65
+ please refer to [gsMap Visualization](https://yanglab.westlake.edu.cn/gsmap/visualize).
66
+
67
+ ## Citation
68
+
69
+ Song, L., Chen, W., Hou, J., Guo, M. & Yang, J.
70
+ [Spatially resolved mapping of cells associated with human complex traits.](https://doi.org/10.1038/s41586-025-08757-x)
71
+ Nature (2025).
72
+
73
+ Please cite the paper and give us a STAR if you find gsMap useful for your research.
74
+
75
+ <!-- Badge links -->
76
+
77
+ [codecov-badge]: https://codecov.io/gh/JianYang-Lab/gsMap/graph/badge.svg?token=NFZFXZIEUU
78
+ [codecov-url]: https://codecov.io/gh/JianYang-Lab/gsMap
79
+ [commits-badge]: https://img.shields.io/github/commit-activity/m/JianYang-Lab/gsMap
80
+ [commits-url]: https://github.com/JianYang-Lab/gsMap/commits/main
81
+ [docs-badge]: https://github.com/JianYang-Lab/gsMap/actions/workflows/docs.yml/badge.svg
82
+ [docs-url]: https://github.com/JianYang-Lab/gsMap/actions/workflows/docs.yml
83
+ [doi-badge]: https://img.shields.io/badge/DOI-10.1038%2Fs41586--025--08757--x-blue
84
+ [doi-url]: https://doi.org/10.1038/s41586-025-08757-x
85
+ [downloads-badge]: https://static.pepy.tech/badge/gsMap
86
+ [downloads-url]: https://pepy.tech/project/gsMap
87
+ [forks-badge]: https://img.shields.io/github/forks/JianYang-Lab/gsMap
88
+ [forks-url]: https://github.com/JianYang-Lab/gsMap/network/members
89
+ [issues-badge]: https://img.shields.io/github/issues/JianYang-Lab/gsMap
90
+ [issues-url]: https://github.com/JianYang-Lab/gsMap/issues
91
+ [last-commit-badge]: https://img.shields.io/github/last-commit/JianYang-Lab/gsMap
92
+ [last-commit-url]: https://github.com/JianYang-Lab/gsMap/commits/main
93
+ [license-badge]: https://img.shields.io/badge/License-MIT-yellow.svg
94
+ [license-url]: https://opensource.org/licenses/MIT
95
+ [linux-badge]: https://img.shields.io/badge/Linux-%E2%9C%93-success
96
+ [linux-url]: https://github.com/JianYang-Lab/gsMap/actions/workflows/test_linux.yml
97
+ [maintenance-badge]: https://img.shields.io/badge/Maintained%3F-yes-green.svg
98
+ [maintenance-url]: https://github.com/JianYang-Lab/gsMap/graphs/commit-activity
99
+ [pr-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg
100
+ [pr-url]: https://github.com/JianYang-Lab/gsMap/pulls
101
+ [pypi-badge]: https://img.shields.io/pypi/v/gsMap
102
+ [pypi-url]: https://pypi.org/project/gsMap/
103
+ [python-badge]: https://img.shields.io/pypi/pyversions/gsMap
104
+ [python-url]: https://www.python.org
105
+ [ruff-badge]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
106
+ [ruff-url]: https://github.com/astral-sh/ruff
107
+ [stars-badge]: https://img.shields.io/github/stars/JianYang-Lab/gsMap
108
+ [stars-url]: https://github.com/JianYang-Lab/gsMap/stargazers
109
+ [status-badge]: https://www.repostatus.org/badges/latest/active.svg
110
+ [status-url]: https://www.repostatus.org/#active
111
+ [test-badge]: https://github.com/JianYang-Lab/gsMap/actions/workflows/test_linux.yml/badge.svg
112
+ [test-url]: https://github.com/JianYang-Lab/gsMap/actions/workflows/test_linux.yml
@@ -0,0 +1,29 @@
1
+ codecov:
2
+ require_ci_to_pass: yes
3
+
4
+ coverage:
5
+ precision: 2
6
+ round: down
7
+ range: "70...100"
8
+ status:
9
+ project:
10
+ default:
11
+ target: 70%
12
+ threshold: 1%
13
+ patch:
14
+ default:
15
+ target: auto
16
+ threshold: 10%
17
+
18
+ parsers:
19
+ gcov:
20
+ branch_detection:
21
+ conditional: yes
22
+ loop: yes
23
+ method: no
24
+ macro: no
25
+
26
+ comment:
27
+ layout: "reach,diff,flags,files,footer"
28
+ behavior: default
29
+ require_changes: no