Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
7e67467
Add the `--pop_vcf` argument to the DNAscope pipeline
DonFreed Oct 7, 2026
fb2b519
Add `UltimaReadFilter` to DNAscope calling with an Ultima bundle
DonFreed Oct 7, 2026
711fa32
Update the pangenome CNV scripts to combine_sv_cnv 2.0.1
DonFreed Oct 8, 2026
6d7a478
Update the pangenome CNV scripts to combine_sv_cnv 2.1.0
DonFreed Oct 9, 2026
0fffb7b
Relax `dnascope.model` under `--skip_small_variants`; add hybrid SE p…
DonFreed Oct 9, 2026
e08bd7a
Cap KMC at 128 threads
DonFreed Oct 9, 2026
56039b3
Pass `--dbsnp` to GVCFtyper
DonFreed Oct 13, 2026
3fbd5b7
Write a gVCF with `dnascope-hybrid --gvcf`
DonFreed Oct 13, 2026
e213b41
Keep the hybrid second calling pass inside `--bed`
DonFreed Oct 13, 2026
8133319
Update the CNV scripts to combine_sv_cnv 2.1.2; assume sex chromosome…
DonFreed Oct 13, 2026
5b46134
Keep the input QUAL and drop FILTER in the `--pop_vcf` transfer
DonFreed Oct 15, 2026
a080131
Read the Ultima platform from `shortReadPlatform` in `dnascope`
DonFreed Oct 15, 2026
ff702aa
Fill the gVCF positions spanned only by a dropped variant record
DonFreed Oct 15, 2026
86a5cbe
Select the hybrid realignment regions from a VCF-mode pass 1
DonFreed Oct 15, 2026
3e86b06
Stream the gVCF-mode hybrid scripts through `vcfconvert`
DonFreed Oct 15, 2026
f4c6a17
Increment version
DonFreed Oct 15, 2026
44e1bc1
Keep only the shard contig in the `--pop_vcf` transfer merge inputs
DonFreed Oct 26, 2026
1885ab9
Update Dockerfile base image
DonFreed Oct 26, 2026
2f652b5
Use the published image name in the README; update the base image label
DonFreed Oct 26, 2026
b940212
Write rejected CNV segments and take the combine preset from the bundle
DonFreed Oct 26, 2026
53f2eca
Update KMC to the v3.2.4-pipe3 build
DonFreed Oct 27, 2026
1b13880
Split pangenome alignment into one lane per NUMA node
claude Oct 27, 2026
0e50dbc
Hand indel2cnv's variants to workers one at a time
claude Oct 27, 2026
3812243
Run vg haplotypes alongside bwa when both fit in memory
claude Oct 27, 2026
d64ae37
Name each alignment lane's job, and use one -K for every pangenome run
claude Oct 28, 2026
96689ea
Merge pull request #41 from haodongchen/claude/pangenome-large-hosts-dev
DonFreed Oct 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM debian:13.4-slim AS downloader
FROM debian:13.7-slim AS downloader

# Tool versions and pinned SHA-256 checksums. Bumping a version is a
# two-line edit (version + hash) in this block.
Expand All @@ -17,8 +17,8 @@ ARG VG_VERSION=1.73.0
ARG VG_SHA256=d5752977237e801d971f0d044f43fde4f3005da35f0451b4f452d1c1c9b8414b
# Sentieon's KMC fork adds the `-fa /dev/stdin` patch used by the pangenome pipeline.
ARG KMC_VERSION=3.2.4
ARG KMC_RELEASE_TAG=v3.2.4-pipe2
ARG KMC_SHA256=d8bdf8edcd0577dba32e86e8f194b2eb04eb168c75a3e6d46721d5bef515ac96
ARG KMC_RELEASE_TAG=v3.2.4-pipe3
ARG KMC_SHA256=6ae37ac28c215919a67bd77edf004f9e323013bba5700bc44ad23c0b59da9a91
ARG EXPANSIONHUNTER_VERSION=5.0.0
ARG EXPANSIONHUNTER_SHA256=ebf3ec0ace6e6e3bbce12c26463da5d9f8e16374eff1ad10f0f1a9123050fa86
# T1K and segdup-caller are built from git; pin the tag and verify the
Expand Down Expand Up @@ -155,7 +155,7 @@ RUN /opt/poetry-venv/bin/pip install --no-cache-dir \

# Build the Python environment in an isolated stage. The venv is
# later COPY'd over as-is.
FROM debian:13.4-slim AS python-builder
FROM debian:13.7-slim AS python-builder
ARG SENTIEON_VERSION

COPY --from=downloader /opt/sentieon-cli/dist /opt/sentieon-cli/dist
Expand Down Expand Up @@ -185,7 +185,7 @@ RUN apt-get update && \
-depth -type d -name __pycache__ -exec rm -rf {} +

# Build the container
FROM debian:13.4-slim
FROM debian:13.7-slim
ARG SENTIEON_VERSION
ARG BEDTOOLS_VERSION=2.30.0
ARG MOSDEPTH_VERSION=0.3.9
Expand All @@ -205,7 +205,7 @@ LABEL org.opencontainers.image.title="sentieon-cli" \
org.opencontainers.image.url="https://www.sentieon.com/" \
org.opencontainers.image.source="https://github.com/Sentieon/sentieon-cli" \
org.opencontainers.image.licenses="BSD-2-Clause" \
org.opencontainers.image.base.name="debian:13.4-slim" \
org.opencontainers.image.base.name="debian:13.7-slim" \
org.opencontainers.image.version="${SENTIEON_VERSION}" \
org.opencontainers.image.revision="${VCS_REF}" \
org.opencontainers.image.created="${BUILD_DATE}"
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ pip install sentieon_cli

Install the sentieon-cli through a container image:
```sh
docker pull sentieon/sentieon_cli:latest
docker pull sentieon/sentieon-cli:latest
docker run --rm -v "$PWD:/data" -w /data \
sentieon/sentieon_cli:latest \
sentieon/sentieon-cli:latest \
sentieon-cli dnascope-pangenome --help
```

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

[project]
name = "sentieon_cli"
version = "2.0.0"
version = "2.0.1"
description = "Pipeline implementations for the Sentieon software"
authors = [
{name = "Don Freed", email = "don.freed@sentieon.com"},
Expand Down
113 changes: 0 additions & 113 deletions sentieon_cli/_indel2cnv_utils.py

This file was deleted.

14 changes: 14 additions & 0 deletions sentieon_cli/base_pangenome.py
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,8 @@ def __init__(self) -> None:
self.t1k_kir_coord: Optional[pathlib.Path] = None
self.t1k_kir_locus: str = DEFAULT_T1K_KIR_LOCUS
self.has_cnv_model = False
# The bundle has a `combine_cnv.json` preset for `combine_cnv.py`
self.has_combine_preset = False
# The pangenome reference, resolved from the graph's metadata by
# `resolve_pangenome_reference`. The two arguments are hidden
# overrides, so they stay `None` unless the user supplies them.
Expand Down Expand Up @@ -789,10 +791,22 @@ def add_pangenome_cnv(
sv_vcf=sv_vcf,
sample_sex=self.sample_sex,
par_bed=self.cnv_par_bed,
combine_preset=self.cnv_combine_preset(),
interval=interval,
replace_rg=replace_rg,
).add_to(dag)

def cnv_combine_preset(self) -> Optional[pathlib.Path]:
"""The `combine_cnv.py` preset for the bundle's CNVscope model.

The bundle's `combine_cnv.json` when it has one. Without it,
`combine_cnv.py` uses its defaults, the paired-end values.
"""
if not self.has_combine_preset:
return None
bundle = self.required(self.model_bundle, "model_bundle")
return bundle.joinpath("combine_cnv.json")

def build_kmc_job(
self, kmer_prefix: pathlib.Path, job_threads: int
) -> Job:
Expand Down
Loading
Loading