Skip to content

merge main back into dev#38

Merged
rob-p merged 71 commits into
devfrom
main
Mar 17, 2026
Merged

merge main back into dev#38
rob-p merged 71 commits into
devfrom
main

Conversation

@rob-p
Copy link
Copy Markdown
Contributor

@rob-p rob-p commented Mar 17, 2026

No description provided.

Rob Patro added 30 commits January 12, 2025 23:24
Piscem-cpp now relies on the main branch of @jermp's upstream SSHash.
This release finally moves to a piscem-cpp dependency
that uses the offical sshash main branch! This means
that sshash is no longer vendored or based on a fork.

Changes to the sshash index mean that any piscem indices
built with version < 0.13.0 must be rebuilt.

This release also adds a new output file, <BASE>_ver.json
which records the information of the piscem version with
which the index was built, as well as the submodule
commit hashes for the cuttlefish and piscem-cpp dependencies.

Finally, this release updates piscem itself to the
Rust 2024 edition.
rob-p and others added 29 commits February 19, 2026 20:25
When -o specifies a prefix whose parent directories don't yet exist,
recursively create them before proceeding. Logs the creation via info!().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CMake ExternalProject clones KMC into the source tree
(cuttlefish/external/KMC) but tracks completion via stamp files
in the cargo build directory. When cargo assigns a new build hash
(e.g. after `cargo update`), the stamp files are lost but the
cloned directory persists, causing `git clone` to fail. Detect
this stale state (KMC dir exists but no CMakeCache.txt in the
new build dir) and remove the old clone before cmake runs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ted scATAC flags

Structural constraints are now supported by piscem-rs for bulk and
scRNA mapping. Pass the flag through to MapBulkArgs and MapScrnaArgs
instead of warning and ignoring. scATAC-only flags (--struct-constraints,
--sam-format, --bed-format, --use-chr, --check-kmer-orphan) remain
deprecated and hidden.

Also adds [workspace] to Cargo.toml to prevent parent workspace
auto-discovery, and updates piscem-rs git dep to ecd07f15.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use the published crate instead of a git dependency. Move the
cuttlefish-ver env var from .cargo/config.toml into build.rs,
then gitignore .cargo/config.toml so it can hold a local-only
[patch.crates-io] override for development without being checked in.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Instead of hardcoding the cuttlefish version in build.rs, run
`git -C cuttlefish rev-parse HEAD` to read it from the submodule.
Re-runs automatically when the submodule ref changes via
rerun-if-changed on .git/modules/cuttlefish/HEAD.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace piscem-cpp FFI with piscem-rs library
ensure_simd (via packed-seq) checks CARGO_CFG_TARGET_FEATURE for "avx2"
at compile time. This variable is only populated from explicit
-C target-feature=+avx2 flags; -C target-cpu=x86-64-v3 alone does not
cause Cargo to advertise AVX2 to build scripts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Updated README with improved descriptions and build instructions.
@rob-p rob-p merged commit 206cceb into dev Mar 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant