Skip to content

Commit 071c486

Browse files
committed
Release v1.3.0
1 parent cdbc862 commit 071c486

35 files changed

Lines changed: 4007 additions & 261 deletions

.dockerignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.git
2+
.github
3+
.pytest_cache
4+
__pycache__
5+
*.pyc
6+
.DS_Store
7+
data
8+
dist
9+
docs
10+
tests
11+
exp_heatmap.egg-info

.github/workflows/tests.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
pytest:
11+
runs-on: ubuntu-latest
12+
env:
13+
MPLCONFIGDIR: /tmp/matplotlib
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
python-version: ["3.10", "3.11", "3.12"]
18+
19+
steps:
20+
- uses: actions/checkout@v4
21+
- uses: actions/setup-python@v5
22+
with:
23+
python-version: ${{ matrix.python-version }}
24+
- name: Install package and test dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install -e .[dev]
28+
- name: Run tests
29+
run: python -m pytest -q

.gitignore

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
11
.vscode
22
data/
33
dist/
4+
build/
45
__pycache__/
5-
exp_heatmap.egg-info/
6+
*.py[cod]
7+
*.egg-info/
8+
.pytest_cache/
9+
.coverage
10+
.mypy_cache/
11+
.ruff_cache/
612
.DS_Store
713
adam/testing/.DS_Store
14+
local_data/
15+
.claude_resources.json
16+
.env
17+
.venv/
18+
venv/

Dockerfile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM python:3.11-slim
2+
3+
ENV PYTHONDONTWRITEBYTECODE=1 \
4+
PYTHONUNBUFFERED=1 \
5+
PIP_NO_CACHE_DIR=1 \
6+
MPLCONFIGDIR=/tmp/matplotlib
7+
8+
WORKDIR /app
9+
10+
RUN apt-get update \
11+
&& apt-get install -y --no-install-recommends vcftools \
12+
&& rm -rf /var/lib/apt/lists/*
13+
14+
COPY pyproject.toml README.md LICENSE ./
15+
COPY src ./src
16+
17+
RUN python -m pip install --upgrade pip \
18+
&& pip install .
19+
20+
ENTRYPOINT ["exp_heatmap"]

README.md

Lines changed: 290 additions & 75 deletions
Large diffs are not rendered by default.

environment.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: exp-heatmap-dev
2+
channels:
3+
- conda-forge
4+
- bioconda
5+
dependencies:
6+
- python=3.11
7+
- pip
8+
- vcftools
9+
- pip:
10+
- -e .[dev]

pyproject.toml

Lines changed: 54 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,41 +8,77 @@ build-backend = "setuptools.build_meta"
88

99
[project]
1010
name = "exp_heatmap"
11-
version = "1.2.0"
11+
version = "1.3.0"
1212
authors = [
1313
{name = "Edvard Ehler", email = "edvard.ehler@img.cas.cz"},
1414
{name = "Ondřej Moravčík"}
1515
]
1616
maintainers = [
1717
{name = "Adam Nógell", email = "adam.nogell@img.cas.cz"}
1818
]
19-
description = "Computing and drawing ExP heatmap for displaying complex cross-population data"
19+
description = "Ordered-pair workflow for regional cross-population genomic visualization (VCF -> empirical rank-score heatmaps)"
2020
readme = "README.md"
21-
requires-python = ">=3.8"
21+
requires-python = ">=3.10"
2222
license = "MIT"
23+
keywords = [
24+
"bioinformatics",
25+
"population-genetics",
26+
"selection-scan",
27+
"xpehh",
28+
"xpnsl",
29+
"fst",
30+
"tajima-d",
31+
"heatmap",
32+
"visualization",
33+
"1000-genomes",
34+
"ggvp"
35+
]
2336
classifiers = [
37+
"Development Status :: 5 - Production/Stable",
38+
"Intended Audience :: Science/Research",
2439
"Programming Language :: Python :: 3",
40+
"Programming Language :: Python :: 3.10",
41+
"Programming Language :: Python :: 3.11",
42+
"Programming Language :: Python :: 3.12",
2543
"Operating System :: OS Independent",
26-
"Topic :: Scientific/Engineering :: Bio-Informatics"
44+
"Topic :: Scientific/Engineering :: Bio-Informatics",
45+
"Topic :: Scientific/Engineering :: Visualization"
2746
]
2847
dependencies = [
29-
"scikit-allel",
30-
"zarr<3.0.0",
31-
"numpy",
32-
"pandas",
33-
"matplotlib",
34-
"seaborn",
35-
"click",
36-
"plotly",
37-
"tqdm"
48+
"scikit-allel>=1.3.7",
49+
"zarr>=2.10,<3.0.0",
50+
"numpy>=1.22",
51+
"pandas>=1.4",
52+
"matplotlib>=3.5",
53+
"seaborn>=0.12",
54+
"click>=8.0",
55+
"plotly>=5.10",
56+
"tqdm>=4.60"
57+
]
58+
59+
[project.optional-dependencies]
60+
dev = [
61+
"pytest>=7.0",
62+
"pytest-cov>=4.0"
63+
]
64+
benchmarks = [
65+
"psutil>=5.9",
66+
"pysam>=0.22"
67+
]
68+
all = [
69+
"pytest>=7.0",
70+
"pytest-cov>=4.0",
71+
"psutil>=5.9",
72+
"pysam>=0.22"
3873
]
3974

4075
[project.urls]
4176
Homepage = "https://github.com/bioinfocz/exp_heatmap"
77+
Repository = "https://github.com/bioinfocz/exp_heatmap"
4278
"Bug Tracker" = "https://github.com/bioinfocz/exp_heatmap/issues"
79+
Documentation = "https://github.com/bioinfocz/exp_heatmap#readme"
4380

4481
[project.scripts]
45-
exp-selection = "exp_heatmap.cli:cli"
4682
exp_heatmap = "exp_heatmap.cli:cli"
4783
exp-heatmap = "exp_heatmap.cli:cli"
4884

@@ -51,3 +87,7 @@ where = ["src"]
5187

5288
[tool.setuptools.package-dir]
5389
"" = "src"
90+
91+
[tool.pytest.ini_options]
92+
testpaths = ["tests"]
93+
python_files = ["test_*.py"]

0 commit comments

Comments
 (0)