Skip to content

Commit 782f1d4

Browse files
committed
0.20.1: Prepare for it.
1 parent ccc6e8a commit 782f1d4

File tree

9 files changed

+389
-115
lines changed

9 files changed

+389
-115
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## v0.20.0
1+
## v0.20.0 / 0.20.1
22

33
Major new function - Long-read input support (Nanopore >= R10.4.1 or PacBio HiFi recommended), thanks to @thepatientwait.
44

admin/build_dep_defs_from_pixi.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22

33
import yaml
4-
import toml
4+
import tomllib
55
import subprocess
66
import json
77
import os
@@ -13,8 +13,8 @@
1313
lock_data = yaml.safe_load(f)
1414

1515
# Load explicitly listed dependencies from pixi.toml
16-
with open(os.path.join(base_dir, "pixi.toml"), "r") as f:
17-
pixi_data = toml.load(f)
16+
with open(os.path.join(base_dir, "pixi.toml"), "rb") as f:
17+
pixi_data = tomllib.load(f)
1818

1919
# Gather conda packages and versions from "pixi list --json"
2020
result = subprocess.run(
@@ -39,8 +39,15 @@
3939

4040
# Explicitly declared packages in pixi.toml
4141
declared_conda = set()
42-
for section in ["dependencies", "host-dependencies"]:
43-
for pkg, val in pixi_data.get(section, {}).items():
42+
for section in ["dependencies", "host-dependencies", ["feature","main","dependencies"], ["feature","main","host-dependencies"]]:
43+
if isinstance(section, list):
44+
d = pixi_data
45+
for subsec in section:
46+
d = d.get(subsec, {})
47+
else:
48+
d = pixi_data.get(section, {})
49+
print(f"Found {len(d)} declared packages in section {section}.")
50+
for pkg, val in d.items():
4451
pkg_lower = pkg.lower()
4552
declared_conda.add(pkg_lower)
4653

admin/environment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ dependencies:
3333
- seqmagick=0.8.6
3434
- smafa=0.8.0
3535
- sqlalchemy=2.0.44
36-
- sqlite=3.50.4
36+
- sqlite=3.51.0
3737
- sqlparse=0.5.3
3838
- squarify=0.4.3
3939
- sra-tools=3.2.1

admin/release.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323

2424
print("version is {}".format(version))
2525

26+
print("Building dependency definition files based on pixi.toml and pixi.lock") # TODO: Do we need to update pixi.lock first?
27+
extern.run('pixi run admin/build_dep_defs_from_pixi.py')
28+
2629
print("building docs")
2730
extern.run("pixi run python3 admin/build_docs.py --version {}".format(version))
2831

admin/set_env_vars.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env bash
22

33
SINGLEM_METAPACKAGE_PATH_RELATIVE="db/S5.4.0.GTDB_r226.metapackage_20250331.smpkg.zb"
4-
LYREBIRD_METAPACKAGE_PATH_RELATIVE="db/lyrebird_v0.3.0_phrog_v4.1_metapackage_2025_06_23.smpkg.zb"
4+
LYREBIRD_METAPACKAGE_PATH_RELATIVE="db/lyrebird_v0.3.1_phrog_v4.1_metapackage_20250720.smpkg.zb"
55
GTDBTK_DATA_PATH_RELATIVE="db/release226"
66

77
# For each of the above variables, check if the file exists in the relative path

docker/Dockerfile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ RUN git clone https://github.com/wwood/singlem . && git checkout vSINGLEM_VERSIO
2727

2828
# We install through pip, because installing via pip install -e . causes issues for apptainer
2929
# https://github.com/prefix-dev/pixi/issues/1387
30-
RUN pixi run --no-lockfile-update pip install singlem==SINGLEM_VERSION
30+
RUN pixi run --frozen bash -c 'pip install singlem==SINGLEM_VERSION'
3131

3232
# Download default metapackage
3333
# Make the directory and its contents readable by others https://github.com/wwood/singlem/issues/155

docs/Installation.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ SingleM can be installed through
66
[Bioconda](https://anaconda.org/bioconda/singlem). Lyrebird is installed by installing SingleM, and then using the `lyrebird` command instead of `singlem` e.g. use `lyrebird pipe ...` instead of `singlem pipe ...`.
77

88
```
9-
conda create -c conda-forge -c bioconda --override-channels --name singlem singlem'>='0.20.0
9+
conda create -c conda-forge -c bioconda --override-channels --name singlem singlem'>='0.20.1
1010
```
1111

1212
Test if it works by running
@@ -21,55 +21,55 @@ After this, you'll also need to procure the reference data (the "metapackage").
2121
## Installation via DockerHub
2222
A docker image generated from the conda package is [available](https://hub.docker.com/r/wwood/singlem) on DockerHub. After installing Docker, run the following:
2323
```
24-
docker pull wwood/singlem:0.20.0
24+
docker pull wwood/singlem:0.20.1
2525
```
2626

2727
Test if it works by running
2828
```
29-
docker run wwood/singlem:0.20.0 -h
29+
docker run wwood/singlem:0.20.1 -h
3030
```
3131

3232
If the sequence data to be analyzed is in the current working directory, SingleM `pipe` can be used like so:
3333
```
34-
docker run -v `pwd`:`pwd` wwood/singlem:0.20.0 pipe --sequences \
34+
docker run -v `pwd`:`pwd` wwood/singlem:0.20.1 pipe --sequences \
3535
`pwd`/my.fastq.gz -p `pwd`/my.profile.csv --threads 4
3636
```
3737
Two things to note:
3838

3939
1. The default SingleM reference data is included in the docker image, so running [singlem data](/tools/data) is not necessary for this installation method - you can jump straight to using `pipe`.
40-
2. You should not specify `singlem` in the command line, as this is automatic. Simply use e.g. `docker run wwood/singlem:0.20.0 pipe -h`.
40+
2. You should not specify `singlem` in the command line, as this is automatic. Simply use e.g. `docker run wwood/singlem:0.20.1 pipe -h`.
4141

4242
A similar procedure is true for Lyrebird, except that the docker image is [different](https://hub.docker.com/r/wwood/lyrebird), so you need to run:
4343
```
44-
docker pull wwood/lyrebird:0.20.0
45-
docker run wwood/lyrebird:0.20.0 -h
44+
docker pull wwood/lyrebird:0.20.1
45+
docker run wwood/lyrebird:0.20.1 -h
4646
```
4747

4848
## Installation via Singularity / Apptainer
4949
SingleM can be installed via [Singularity](https://sylabs.io/singularity/) or [Apptainer](https://apptainer.org). After installing Singularity or Apptainer, run the following:
5050
```
51-
singularity pull docker://wwood/singlem:0.20.0
51+
singularity pull docker://wwood/singlem:0.20.1
5252
```
5353

5454
Test if it works by running
5555
```
56-
singularity run singlem_0.20.0.sif -h
56+
singularity run singlem_0.20.1.sif -h
5757
```
5858

5959
If the sequence data to be analyzed is in the current working directory, SingleM `pipe` can be used like so:
6060
```
61-
singularity run -B `pwd`:`pwd` singlem_0.20.0.sif pipe --sequences \
61+
singularity run -B `pwd`:`pwd` singlem_0.20.1.sif pipe --sequences \
6262
`pwd`/my.fastq.gz -p `pwd`/my.profile.csv --threads 4
6363
```
6464
Two things to note:
6565

6666
1. The default SingleM reference data is included in the docker image, so running [singlem data](/tools/data) is not necessary for this installation method - you can jump straight to using `pipe`.
67-
2. You should not specify `singlem` in the command line, as this is automatic. Simply use e.g. `singularity run singlem_0.20.0.sif pipe -h`.
67+
2. You should not specify `singlem` in the command line, as this is automatic. Simply use e.g. `singularity run singlem_0.20.1.sif pipe -h`.
6868

6969
A similar procedure is true for Lyrebird, except that the docker image is [different](https://hub.docker.com/r/wwood/lyrebird), so you need to run:
7070
```
71-
singularity pull docker://wwood/lyrebird:0.20.0
72-
singularity run -B `pwd`:`pwd` lyrebird_0.20.0.sif -h
71+
singularity pull docker://wwood/lyrebird:0.20.1
72+
singularity run -B `pwd`:`pwd` lyrebird_0.20.1.sif -h
7373
```
7474

7575
## Installation via PyPI

0 commit comments

Comments
 (0)