[INFO] fetching crate fgumi 0.2.0...
[INFO] testing fgumi-0.2.0 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] extracting crate fgumi 0.2.0 into /workspace/builds/worker-3-tc2/source
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate fgumi 0.2.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate fgumi 0.2.0
[INFO] tweaked toml for crates.io crate fgumi 0.2.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate fgumi 0.2.0 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate fgumi 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 11d9fb7cf42b6dfc3ca165d7d797a7aa9ab9b0e5145fb18aa2e4c9d4f121735c
[INFO] running `Command { std: "docker" "start" "-a" "11d9fb7cf42b6dfc3ca165d7d797a7aa9ab9b0e5145fb18aa2e4c9d4f121735c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "11d9fb7cf42b6dfc3ca165d7d797a7aa9ab9b0e5145fb18aa2e4c9d4f121735c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11d9fb7cf42b6dfc3ca165d7d797a7aa9ab9b0e5145fb18aa2e4c9d4f121735c", kill_on_drop: false }`
[INFO] [stdout] 11d9fb7cf42b6dfc3ca165d7d797a7aa9ab9b0e5145fb18aa2e4c9d4f121735c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dc4af18232b7400569bf8f9cb7342353f03a82331fae2e25a80689fefe194515
[INFO] running `Command { std: "docker" "start" "-a" "dc4af18232b7400569bf8f9cb7342353f03a82331fae2e25a80689fefe194515", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling zlib-rs v0.6.3
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling lexical-util v1.0.7
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling lexical-write-integer v1.0.6
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling lexical-parse-integer v1.0.6
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling lexical-write-float v1.0.6
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling lexical-parse-float v1.0.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling lexical-core v1.0.6
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling fgumi-dna v0.2.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling libdeflate-sys v1.25.2
[INFO] [stderr]    Compiling libz-sys v1.1.28
[INFO] [stderr]    Compiling libgit2-sys v0.18.3+1.9.2
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.46
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling noodles-core v0.19.0
[INFO] [stderr]    Compiling jiff v0.2.23
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling lru v0.16.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling env_filter v1.0.1
[INFO] [stderr]    Compiling rand_distr v0.6.0
[INFO] [stderr]    Compiling fs4 v0.13.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling mimalloc v0.1.49
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling sysinfo v0.38.4
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling safe_arch v1.0.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling fgumi-simd-fastq v0.2.0
[INFO] [stderr]    Compiling bytesize v2.3.1
[INFO] [stderr]    Compiling wide v1.3.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling fgumi-umi v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling env_logger v0.11.10
[INFO] [stderr]    Compiling libdeflater v1.25.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling noodles-bgzf v0.46.0
[INFO] [stderr]    Compiling bgzf v0.3.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling fgumi-bgzf v0.2.0
[INFO] [stderr]    Compiling noodles-csi v0.54.0
[INFO] [stderr]    Compiling noodles-fasta v0.60.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling serde-aux v4.7.0
[INFO] [stderr]    Compiling noodles-tabix v0.60.0
[INFO] [stderr]    Compiling noodles-sam v0.82.0
[INFO] [stderr]    Compiling noodles-vcf v0.84.0
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling read-structure v0.2.0
[INFO] [stderr]    Compiling fgoxide v0.6.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling noodles-bam v0.86.0
[INFO] [stderr]    Compiling git2 v0.20.4
[INFO] [stderr]    Compiling nalgebra v0.33.3
[INFO] [stderr]    Compiling noodles v0.106.0
[INFO] [stderr]    Compiling fgumi-raw-bam v0.2.0
[INFO] [stderr]    Compiling fgumi-metrics v0.2.0
[INFO] [stderr]    Compiling fgumi-sam v0.2.0
[INFO] [stderr]    Compiling fgumi-consensus v0.2.0
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]    Compiling fgumi v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling statrs v0.18.0
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 21s
[INFO] running `Command { std: "docker" "inspect" "dc4af18232b7400569bf8f9cb7342353f03a82331fae2e25a80689fefe194515", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dc4af18232b7400569bf8f9cb7342353f03a82331fae2e25a80689fefe194515", kill_on_drop: false }`
[INFO] [stdout] dc4af18232b7400569bf8f9cb7342353f03a82331fae2e25a80689fefe194515
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66d48245fc26153a3d4c45982606b5d948ff854d222b3f994b54d7eb6a82afb4
[INFO] running `Command { std: "docker" "start" "-a" "66d48245fc26153a3d4c45982606b5d948ff854d222b3f994b54d7eb6a82afb4", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling winnow v1.0.2
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling bgzf v0.3.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling fgumi-bgzf v0.2.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling rstest_macros v0.26.1
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling serde-aux v4.7.0
[INFO] [stderr]    Compiling safe_arch v1.0.0
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling read-structure v0.2.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling wide v1.3.0
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]    Compiling fgoxide v0.6.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling env_filter v1.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling noodles-core v0.19.0
[INFO] [stderr]    Compiling env_logger v0.11.10
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling noodles-csi v0.54.0
[INFO] [stderr]    Compiling noodles-fasta v0.60.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling noodles-sam v0.82.0
[INFO] [stderr]    Compiling noodles-tabix v0.60.0
[INFO] [stderr]    Compiling noodles-vcf v0.84.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling fgumi-umi v0.2.0
[INFO] [stderr]    Compiling git2 v0.20.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling noodles-bam v0.86.0
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling nalgebra v0.33.3
[INFO] [stderr]    Compiling noodles v0.106.0
[INFO] [stderr]    Compiling fgumi-raw-bam v0.2.0
[INFO] [stderr]    Compiling rstest v0.26.1
[INFO] [stderr]    Compiling fgumi-metrics v0.2.0
[INFO] [stderr]    Compiling fgumi-sam v0.2.0
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]    Compiling fgumi v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling fgumi-consensus v0.2.0
[INFO] [stderr]    Compiling statrs v0.18.0
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 15s
[INFO] running `Command { std: "docker" "inspect" "66d48245fc26153a3d4c45982606b5d948ff854d222b3f994b54d7eb6a82afb4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66d48245fc26153a3d4c45982606b5d948ff854d222b3f994b54d7eb6a82afb4", kill_on_drop: false }`
[INFO] [stdout] 66d48245fc26153a3d4c45982606b5d948ff854d222b3f994b54d7eb6a82afb4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b0899881b8e6279963d7feccb4299fe02d34cab7a9f4d71248082a3625c2d23c
[INFO] running `Command { std: "docker" "start" "-a" "b0899881b8e6279963d7feccb4299fe02d34cab7a9f4d71248082a3625c2d23c", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] [stderr]      Running unittests src/lib/mod.rs (/opt/rustwide/target/debug/deps/fgumi_lib-709fe58462f63c4a)
[INFO] [stdout] 
[INFO] [stdout] running 1864 tests
[INFO] [stdout] test bam_io::tests::test_chained_reader_empty_remaining ... ok
[INFO] [stdout] test bam_io::tests::test_chained_reader ... ok
[INFO] [stdout] test bam_io::tests::test_chained_reader_empty_buffer ... ok
[INFO] [stdout] test bam_io::tests::test_create_optional_bam_writer_none ... ok
[INFO] [stdout] test bam_io::tests::test_create_bam_reader_for_pipeline_nonexistent_file ... ok
[INFO] [stdout] test bam_io::tests::test_create_bam_reader_nonexistent_file ... ok
[INFO] [stdout] test bam_io::tests::test_create_bam_writer_invalid_path ... ok
[INFO] [stdout] test bam_io::tests::test_create_optional_bam_writer_invalid_path ... ok
[INFO] [stdout] test bam_io::tests::test_bgzf_writer_write_single_threaded ... ok
[INFO] [stdout] test bam_io::tests::test_indexing_writer_rejects_stdout ... ok
[INFO] [stdout] test bam_io::tests::test_is_stdin_path ... ok
[INFO] [stdout] test bam_io::tests::test_is_stdout_path ... ok
[INFO] [stdout] test bam_io::tests::test_bgzf_writer_flush_single_threaded ... ok
[INFO] [stdout] test bam_io::tests::test_bgzf_writer_finish_multithreaded ... ok
[INFO] [stdout] test bam_io::tests::test_create_bam_reader_for_pipeline_with_async_reader ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_basic_reading ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_batch_boundary_detection ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_buffer_growth_on_large_batch ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_bufread_basic_read ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_bufread_consume ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_bufread_empty_input ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_bufread_fill_buf ... ok
[INFO] [stdout] test bam_io::tests::test_bgzf_writer_finish_single_threaded ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_bufread_growth_on_large_batch ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_bufread_no_growth_on_small_batch ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_empty_input ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_header_lines_with_advance ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_never_shrinks ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_proactive_growth ... ok
[INFO] [stdout] test bam_io::tests::test_create_bam_reader_for_pipeline_from_file ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_all_modes_enabled ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_all_three_modes_comparison ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_asymmetric_fixed_positions ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_both_extending_and_overlapping ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_combination_overlapping_and_fixed ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_all_clipping_options ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_basic_overlapping ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_no_clipping_option ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_soft_mode ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_soft_with_mask_mode ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_with_auto_clip_attributes ... ok
[INFO] [stdout] test bam_io::tests::test_bgzf_writer_flush_multithreaded ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_with_extending_past_mate ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_with_fixed_positions ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_with_fragment ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_with_sort_order ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_with_metrics ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_extending_past_mate_only ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_fragment_no_clipping_with_metrics ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_fragment_with_metrics ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_execute_with_upgrade_clipping ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_modes_with_auto_clip_attributes ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_large_fixed_positions ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_overlapping_reads_only ... ok
[INFO] [stdout] test bam_io::tests::test_bgzf_writer_write_multithreaded ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_pair_with_metrics ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_single_read_end_clipping ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_pair_with_metrics_swapped_flags ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_processed_batch_memory_estimate ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_soft_with_mask_mode ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_with_fixed_positions ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_with_metrics_and_upgrade ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_with_metrics_output ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_with_overlapping_enabled ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_with_queryname_sort_order ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_with_sort_order_specification ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_with_tag_regeneration ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_with_unsorted_sort_order ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_with_upgrade_all_clipping ... ok
[INFO] [stdout] test commands::clip::tests::test_clip_zero_bases_all_positions ... ok
[INFO] [stdout] test commands::clip::tests::test_clipping_mode_enum_values ... ok
[INFO] [stdout] test commands::clip::tests::test_default_clip_parameters ... ok
[INFO] [stdout] test bam_io::tests::test_create_bam_writer ... ok
[INFO] [stdout] test commands::clip::tests::test_threading_modes::case_1_fast_path ... ok
[INFO] [stdout] test commands::codec::tests::test_codec_execute_validation_errors ... ok
[INFO] [stdout] test commands::clip::tests::test_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::clip::tests::test_threading_modes::case_3_pipeline_2 ... ok
[INFO] [stdout] test bam_io::tests::test_create_optional_bam_writer_some ... ok
[INFO] [stdout] test bam_io::tests::test_create_indexing_bam_writer ... ok
[INFO] [stdout] test commands::codec::tests::test_codec_execute_with_max_reads ... ok
[INFO] [stdout] test commands::codec::tests::test_codec_execute_basic ... ok
[INFO] [stdout] test commands::codec::tests::test_codec_execute_with_per_base_tags ... ok
[INFO] [stdout] test commands::codec::tests::test_codec_execute_with_stats ... ok
[INFO] [stdout] test commands::codec::tests::test_stats_to_metrics ... ok
[INFO] [stdout] test commands::codec::tests::test_codec_processed_batch_memory_estimate ... ok
[INFO] [stdout] test commands::codec::tests::test_codec_execute_with_trim ... ok
[INFO] [stdout] test commands::codec::tests::test_codec_execute_with_rejects ... ok
[INFO] [stdout] test commands::codec::tests::test_threading_modes::case_1_fast_path ... ok
[INFO] [stdout] test commands::common::tests::test_consensus_calling_options_validate_defaults ... ok
[INFO] [stdout] test commands::codec::tests::test_validation ... ok
[INFO] [stdout] test commands::common::tests::test_consensus_calling_options_validate_error_rate_pre_umi_too_high ... ok
[INFO] [stdout] test bam_io::tests::test_create_bam_writer_multithreaded ... ok
[INFO] [stdout] test commands::common::tests::test_consensus_calling_options_validate_error_rate_post_umi_too_high ... ok
[INFO] [stdout] test commands::codec::tests::test_threading_parity_mixed_cb ... ok
[INFO] [stdout] test commands::common::tests::test_consensus_calling_options_validate_min_consensus_at_min ... ok
[INFO] [stdout] test commands::common::tests::test_consensus_calling_options_validate_min_consensus_too_low ... ok
[INFO] [stdout] test commands::codec::tests::test_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::common::tests::test_consensus_calling_options_validate_valid ... ok
[INFO] [stdout] test commands::common::tests::test_detect_total_memory_returns_nonzero ... ok
[INFO] [stdout] test commands::common::tests::test_detect_total_memory_bounded_by_sysinfo ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_02 ... ok
[INFO] [stdout] test commands::codec::tests::test_codec_execute_multithreaded ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_01 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_05 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_04 ... ok
[INFO] [stdout] test commands::codec::tests::test_threading_modes::case_3_pipeline_2 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_09 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_08 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_06 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_10 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_07 ... ok
[INFO] [stdout] test commands::common::tests::test_mode_detection ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli_invalid::case_3 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli_invalid::case_2 ... ok
[INFO] [stdout] test commands::common::tests::test_log_message ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli_invalid::case_4 ... ok
[INFO] [stdout] test commands::common::tests::test_new_uses_pipeline ... ok
[INFO] [stdout] test commands::common::tests::test_none_is_single_threaded ... ok
[INFO] [stdout] test commands::common::tests::test_output_per_base_tags_parsing::case_3 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli_invalid::case_5 ... ok
[INFO] [stdout] test commands::common::tests::test_output_per_base_tags_parsing::case_4 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli_invalid::case_1 ... ok
[INFO] [stdout] test commands::common::tests::test_output_per_base_tags_parsing::case_6 ... ok
[INFO] [stdout] test commands::common::tests::test_num_threads ... ok
[INFO] [stdout] test commands::common::tests::test_output_per_base_tags_parsing::case_1 ... ok
[INFO] [stdout] test commands::common::tests::test_output_per_base_tags_parsing::case_5 ... ok
[INFO] [stdout] test commands::common::tests::test_overlapping_bases_parsing::case_3 ... ok
[INFO] [stdout] test commands::common::tests::test_overlapping_bases_parsing::case_2 ... ok
[INFO] [stdout] test commands::common::tests::test_overlapping_bases_parsing::case_1 ... ok
[INFO] [stdout] test commands::common::tests::test_output_per_base_tags_parsing::case_2 ... ok
[INFO] [stdout] test batched_sam_reader::tests::test_partial_line_preserved ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_01 ... ok
[INFO] [stdout] test commands::common::tests::test_extended_bool_values_in_cli::case_03 ... ok
[INFO] [stdout] test commands::common::tests::test_overlapping_bases_parsing::case_6 ... ok
[INFO] [stdout] test commands::common::tests::test_overlapping_bases_parsing::case_4 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_02 ... ok
[INFO] [stdout] test commands::common::tests::test_overlapping_bases_parsing::case_5 ... ok
[INFO] [stdout] test bam_io::tests::test_indexing_bam_writer_produces_valid_bam ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_03 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_04 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_05 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_06 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_07 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_08 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_09 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_10 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_11 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_12 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_02 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_invalid::case_13 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_01 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_03 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_04 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_05 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_06 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_07 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_08 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_09 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_10 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_11 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_12 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_13 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_14 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_15 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_16 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_17 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_18 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_19 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_20 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_21 ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_options_compute_basic ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_22 ... ok
[INFO] [stdout] test commands::common::tests::test_parse_bool_valid::case_23 ... ok
[INFO] [stdout] test commands::common::tests::test_queue_len ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_options_legacy_migration ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_options_overflow ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_options_small_value ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_options_validation_errors ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_options_human_readable ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_per_thread_parsing::case_1 ... ok
[INFO] [stdout] test commands::common::tests::test_scheduler_options_deadlock_recover ... ok
[INFO] [stdout] test commands::common::tests::test_scheduler_options_collect_stats ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_per_thread_parsing::case_2 ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_per_thread_parsing::case_5 ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_per_thread_parsing::case_6 ... ok
[INFO] [stdout] test commands::common::tests::test_scheduler_options_deadlock_timeout ... ok
[INFO] [stdout] test commands::common::tests::test_scheduler_options_default ... ok
[INFO] [stdout] test commands::common::tests::test_scheduler_options_strategy ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_per_thread_parsing::case_4 ... ok
[INFO] [stdout] test commands::common::tests::test_queue_memory_per_thread_parsing::case_3 ... ok
[INFO] [stdout] test commands::common::tests::test_trim_parsing::case_1 ... ok
[INFO] [stdout] test commands::common::tests::test_trim_parsing::case_2 ... ok
[INFO] [stdout] test commands::common::tests::test_trim_parsing::case_4 ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_collapse_read_group_tag_all_missing ... ok
[INFO] [stdout] test commands::common::tests::test_trim_parsing::case_6 ... ok
[INFO] [stdout] test commands::common::tests::test_trim_parsing::case_3 ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_collapse_read_group_tag_missing_from_some_rgs ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_collapse_read_group_tag_duplicate_values ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_collapse_read_group_tag_multiple_distinct_values ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_collapse_read_group_tag_no_read_groups ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_collapse_read_group_tag_platform_multiple_distinct ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_collapse_read_group_tag_platform_uppercased ... ok
[INFO] [stdout] test commands::common::tests::test_trim_parsing::case_5 ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_create_unmapped_consensus_header_no_input_rgs ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_collapse_read_group_tag_single_value ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_stats_to_metrics_empty ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_create_unmapped_consensus_header_collapses_tags ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_stats_merge ... ok
[INFO] [stdout] test commands::correct::tests::test_apply_correction_to_raw_dont_store_original ... ok
[INFO] [stdout] test commands::correct::tests::test_apply_correction_to_raw_no_correction_needed ... ok
[INFO] [stdout] test commands::correct::tests::test_compute_template_correction_with_mismatch ... ok
[INFO] [stdout] test commands::correct::tests::test_compute_template_correction_with_revcomp ... ok
[INFO] [stdout] test commands::correct::tests::test_compute_template_correction_wrong_length ... ok
[INFO] [stdout] test commands::correct::tests::test_compute_template_correction_dual_umi ... ok
[INFO] [stdout] test commands::correct::tests::test_compute_template_correction_perfect_match ... ok
[INFO] [stdout] test commands::correct::tests::test_count_mismatches_with_max ... ok
[INFO] [stdout] test commands::consensus_runner::tests::test_stats_to_metrics_with_values ... ok
[INFO] [stdout] test commands::correct::tests::test_compute_template_correction_too_many_mismatches ... ok
[INFO] [stdout] test commands::correct::tests::test_extract_and_validate_template_umi_raw_empty ... ok
[INFO] [stdout] test commands::correct::tests::test_extract_and_validate_template_umi_raw_matching_pair ... ok
[INFO] [stdout] test commands::correct::tests::test_apply_correction_to_raw_corrects_umi ... ok
[INFO] [stdout] test commands::correct::tests::test_extract_and_validate_template_umi_raw_mismatch_errors ... ok
[INFO] [stdout] test bam_io::tests::test_roundtrip_write_and_read ... ok
[INFO] [stdout] test commands::correct::tests::test_extract_and_validate_template_umi_raw_no_umi_tag ... ok
[INFO] [stdout] test commands::correct::tests::test_extract_and_validate_template_umi_raw_single_record ... ok
[INFO] [stdout] test commands::correct::tests::test_find_best_match_perfect ... ok
[INFO] [stdout] test commands::correct::tests::test_find_best_match_with_mismatches ... ok
[INFO] [stdout] test commands::correct::tests::test_find_umi_pairs_within_distance_none ... ok
[INFO] [stdout] test commands::correct::tests::test_find_umi_pairs_within_distance_some ... ok
[INFO] [stdout] test commands::correct::tests::test_match_with_many_mismatches ... ok
[INFO] [stdout] test commands::correct::tests::test_no_match_when_umis_too_similar ... ok
[INFO] [stdout] test bam_io::tests::test_indexing_bam_writer_unmapped_records ... ok
[INFO] [stdout] test bam_io::tests::test_indexing_bam_writer_with_records ... ok
[INFO] [stdout] test bam_io::tests::test_roundtrip_write_and_read_multithreaded ... ok
[INFO] [stdout] test bam_io::tests::test_write_raw_bytes ... ok
[INFO] [stdout] test commands::correct::tests::test_all_reads_already_correct ... ok
[INFO] [stdout] test commands::correct::tests::test_reverse_complement ... ok
[INFO] [stdout] test commands::correct::tests::test_case_sensitivity ... ok
[INFO] [stdout] test commands::correct::tests::test_end_to_end_single_umis ... ok
[INFO] [stdout] test commands::correct::tests::test_exact_match_only_mode ... ok
[INFO] [stdout] test commands::correct::tests::test_end_to_end_duplex_umis ... ok
[INFO] [stdout] test commands::correct::tests::test_metrics_includes_all_umi_rows_even_with_zero_counts ... ok
[INFO] [stdout] test commands::correct::tests::test_metrics_includes_unmatched_umi_row ... ok
[INFO] [stdout] test commands::correct::tests::test_original_umi_storage ... ok
[INFO] [stdout] test commands::correct::tests::test_validation_different_length_umis ... ok
[INFO] [stdout] test commands::correct::tests::test_metrics_unmatched_row_with_multithreaded ... ok
[INFO] [stdout] test commands::dedup::tests::test_dedup_metrics_output_from ... ok
[INFO] [stdout] test commands::dedup::tests::test_duplicate_rate_all_duplicates ... ok
[INFO] [stdout] test commands::dedup::tests::test_duplicate_rate_calculation ... ok
[INFO] [stdout] test commands::dedup::tests::test_duplicate_rate_zero_templates ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_paired_no_reads_rejected ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_paired_template_accepts_valid ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_paired_template_rejects_r2_low_mapq ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_paired_template_rejects_r2_umi_with_n ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_accepts_missing_umi_when_no_umi_mode ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_accepts_paired_umi_with_dash ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_accepts_qc_fail_when_included ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_accepts_short_umi_when_no_umi_mode ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_accepts_umi_with_n_when_no_umi_mode ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_accepts_valid_template ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw::case_1_accepts_valid ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw::case_2_rejects_low_mapq ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw::case_3_rejects_qc_fail ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw::case_4_rejects_umi_with_n ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw::case_5_rejects_short_umi ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw::case_6_rejects_unmapped ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw_accepts_missing_umi_when_no_umi_mode ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw_accepts_short_umi_when_no_umi_mode ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw_accepts_umi_with_n_when_no_umi_mode ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw_mq_tag_type_mismatch_bypasses_filter ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_raw_truncated_record_no_panic ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_rejects_low_mapq ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_rejects_missing_umi_tag ... ok
[INFO] [stdout] test commands::correct::tests::test_output_order_preserved_with_multiple_threads ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_rejects_qc_fail ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_rejects_short_umi ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_rejects_umi_with_n ... ok
[INFO] [stdout] test commands::dedup::tests::test_filter_template_rejects_unmapped ... ok
[INFO] [stdout] test commands::dedup::tests::test_get_pair_orientation_both_forward ... ok
[INFO] [stdout] test commands::dedup::tests::test_get_pair_orientation_both_reverse ... ok
[INFO] [stdout] test commands::dedup::tests::test_get_pair_orientation_r1_reverse ... ok
[INFO] [stdout] test commands::dedup::tests::test_is_r1_earlier_equal_position ... ok
[INFO] [stdout] test commands::dedup::tests::test_is_r1_earlier_false ... ok
[INFO] [stdout] test commands::dedup::tests::test_is_r1_earlier_true ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_counts_duplicate_reads ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_empty_family ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_single_template ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_size_2_first_higher ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_size_2_second_higher ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_size_3_first_highest ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_size_3_second_highest ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_size_3_third_highest ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_size_4_general_case ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_tie_breaking_size_2 ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_tie_breaking_size_3_all_equal ... ok
[INFO] [stdout] test commands::correct::tests::test_rejects_incorrect_length_umis ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_tie_breaking_size_3_second_and_third_tie ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_tie_breaking_size_4_all_equal ... ok
[INFO] [stdout] test commands::dedup::tests::test_mark_duplicates_tie_breaking_size_4_partial_tie ... ok
[INFO] [stdout] test commands::dedup::tests::test_metrics_default ... ok
[INFO] [stdout] test commands::dedup::tests::test_metrics_merge ... ok
[INFO] [stdout] test commands::dedup::tests::test_metrics_merge_all_fields ... ok
[INFO] [stdout] test commands::dedup::tests::test_processed_dedup_group_memory_estimate ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template_low_quality ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template_paired_end ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template_paired_end_asymmetric ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template_paired_end_capped ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template_paired_end_mixed_capping ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template_raw_basic ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template_raw_low_quality ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template_raw_matches_recordbuf ... ok
[INFO] [stdout] test commands::dedup::tests::test_score_template_raw_paired ... ok
[INFO] [stdout] test commands::dedup::tests::test_set_duplicate_flag_on_raw_record ... ok
[INFO] [stdout] test commands::dedup::tests::test_truncate_umis_error_too_short ... ok
[INFO] [stdout] test commands::dedup::tests::test_truncate_umis_no_min_length ... ok
[INFO] [stdout] test commands::dedup::tests::test_truncate_umis_truncates ... ok
[INFO] [stdout] test commands::dedup::tests::test_umi_for_read_identity_lowercase_gets_uppercased ... ok
[INFO] [stdout] test commands::dedup::tests::test_umi_for_read_identity_uppercase ... ok
[INFO] [stdout] test commands::dedup::tests::test_umi_for_read_paired_missing_dash_error ... ok
[INFO] [stdout] test commands::dedup::tests::test_umi_for_read_paired_r1_earlier ... ok
[INFO] [stdout] test commands::dedup::tests::test_umi_for_read_paired_r2_earlier ... ok
[INFO] [stdout] test commands::downsample::tests::test_downsample_parameters ... ok
[INFO] [stdout] test commands::downsample::tests::test_deterministic_sampling_with_seed ... ok
[INFO] [stdout] test commands::downsample::tests::test_family_iterator_empty ... ok
[INFO] [stdout] test commands::downsample::tests::test_family_iterator_multiple_families ... ok
[INFO] [stdout] test commands::downsample::tests::test_get_mi_tag_integer ... ok
[INFO] [stdout] test commands::downsample::tests::test_get_mi_tag_missing ... ok
[INFO] [stdout] test commands::downsample::tests::test_get_mi_tag_string ... ok
[INFO] [stdout] test commands::downsample::tests::test_histogram_sorted_by_family_size ... ok
[INFO] [stdout] test commands::downsample::tests::test_validate_fraction_too_high ... ok
[INFO] [stdout] test commands::downsample::tests::test_validate_fraction_too_low ... ok
[INFO] [stdout] test commands::downsample::tests::test_validate_fraction_valid ... ok
[INFO] [stdout] test commands::downsample::tests::test_family_iterator_single_family ... ok
[INFO] [stdout] test commands::duplex::tests::test_custom_min_reads_single_value ... ok
[INFO] [stdout] test commands::duplex::tests::test_custom_min_reads_three_values ... ok
[INFO] [stdout] test commands::duplex::tests::test_default_parameters ... ok
[INFO] [stdout] test commands::correct::tests::test_output_order_preserved_with_8_threads ... ok
[INFO] [stdout] test commands::correct::tests::test_rejects_reads_without_umis ... ok
[INFO] [stdout] test commands::correct::tests::test_revcomp_option ... ok
[INFO] [stdout] test commands::correct::tests::test_single_known_umi ... ok
[INFO] [stdout] test bam_io::tests::test_indexing_bam_writer_multithreaded ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_processed_batch_memory_estimate ... ok
[INFO] [stdout] test commands::correct::tests::test_single_thread_mode_produces_correct_output ... ok
[INFO] [stdout] test commands::correct::tests::test_umi_loading_from_file ... ok
[INFO] [stdout] test commands::correct::tests::test_umis_with_n_bases ... ok
[INFO] [stdout] test commands::duplex::tests::test_multithreaded_configuration ... ok
[INFO] [stdout] test commands::duplex::tests::test_output_per_base_tags_enabled ... ok
[INFO] [stdout] test commands::correct::tests::test_min_corrected_threshold ... ok
[INFO] [stdout] test commands::correct::tests::test_very_long_umis ... ok
[INFO] [stdout] test commands::downsample::tests::test_write_histogram ... ok
[INFO] [stdout] test commands::duplex::tests::test_trim_and_downsample_options ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_consensus_basic_ab_ba_pairing ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_em_seq_command::case_1_single_threaded ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_default_duplex_metrics_parameters ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_em_seq_command::case_2_multi_threaded ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_duplex_metrics_validation_fails_wrong_order ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_duplex_metrics_with_custom_thresholds ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_duplex_umi_expected_fraction_calculation ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_no_consensus_when_strands_mismatched_r1 ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_only_one_strand_no_consensus ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_with_cell_barcode_preservation ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_with_min_reads_filtering ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_hash_fraction_deterministic ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_hash_fraction_different_reads ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_interval_overlap_logic ... ok
[INFO] [stdout] test commands::correct::tests::test_threading_modes::case_1_fast_path ... ok
[INFO] [stdout] test commands::correct::tests::test_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_parse_intervals_bed_format ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_parse_intervals_interval_list_format ... ok
[INFO] [stdout] test commands::correct::tests::test_threading_modes::case_3_pipeline_2 ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_with_per_base_tags ... ok
[INFO] [stdout] test commands::duplex::tests::test_threading_modes::case_1_fast_path ... ok
[INFO] [stdout] test commands::duplex::tests::test_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::extract::tests::test_annotate_read_names_no_umis ... ok
[INFO] [stdout] test commands::duplex::tests::test_threading_modes::case_3_pipeline_2 ... ok
[INFO] [stdout] test commands::extract::tests::test_annotate_read_names_with_umis ... ok
[INFO] [stdout] test commands::extract::tests::test_compression_format_detection_bgzf ... ok
[INFO] [stdout] test commands::extract::tests::test_compression_format_detection_gzip ... ok
[INFO] [stdout] test commands::extract::tests::test_complex_read_structures_multiple_segments ... ok
[INFO] [stdout] test commands::extract::tests::test_compression_format_detection_plain ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_read_name_and_umi_eight_fields_takes_last ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_read_name_and_umi_extract_false_returns_none ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_read_name_and_umi_nine_fields_takes_last ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_read_name_and_umi_normalizes_plus_in_nine_fields ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_read_name_and_umi_normalizes_plus_to_hyphen ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_read_name_and_umi_seven_fields_returns_none ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_read_name_and_umi_strips_space_comment ... ok
[INFO] [stdout] test commands::extract::tests::test_combined_annotate_read_names_and_single_tag ... ok
[INFO] [stdout] test commands::extract::tests::test_complex_read_structures_with_umi_qualities ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_umis_from_read_names ... ok
[INFO] [stdout] test commands::duplex::tests::test_duplex_multithreading_produces_same_results ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_cell_barcodes ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_sample_barcode_qualities ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_umis_from_read_names_and_sequences ... ok
[INFO] [stdout] test commands::extract::tests::test_extract_umis_from_read_names_nine_fields_via_execute ... ok
[INFO] [stdout] test commands::extract::tests::test_four_fastqs ... ok
[INFO] [stdout] test commands::extract::tests::test_fail_mismatched_read_counts - should panic ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_reject_consensus_bam ... ok
[INFO] [stdout] test commands::extract::tests::test_fail_read_too_short_for_structure ... ok
[INFO] [stdout] test commands::extract::tests::test_fail_mismatched_read_names - should panic ... ok
[INFO] [stdout] test commands::extract::tests::test_fail_mismatched_inputs_and_read_structures - should panic ... ok
[INFO] [stdout] test commands::extract::tests::test_four_fastqs_with_umi_qualities ... ok
[INFO] [stdout] test commands::extract::tests::test_header_metadata ... ok
[INFO] [stdout] test commands::extract::tests::test_multithreaded_extraction ... ok
[INFO] [stdout] test commands::extract::tests::test_multithreaded_extraction_preserves_order ... ok
[INFO] [stdout] test commands::extract::tests::test_paired_end_no_read_structures ... ok
[INFO] [stdout] test commands::extract::tests::test_mapping_quality_is_zero_for_unmapped_reads ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_detection_ambiguous_range ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_detection_empty_input ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_detection_empty_reads ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_detection_high_quality_phred33 ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_detection_invalid_high ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_detection_invalid_low ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_detection_mixed_empty_and_valid ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_detection_phred33 ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_detection_phred64 ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_to_standard_numeric_empty ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_to_standard_numeric_phred33 ... ok
[INFO] [stdout] test commands::extract::tests::test_quality_encoding_to_standard_numeric_phred64 ... ok
[INFO] [stdout] test commands::extract::tests::test_paired_end_ignore_umi_qual_tag_when_no_umis ... ok
[INFO] [stdout] test commands::extract::tests::test_paired_end_with_inline_umi_keep_qualities ... ok
[INFO] [stdout] test commands::extract::tests::test_phred64_fastq_end_to_end ... ok
[INFO] [stdout] test commands::extract::tests::test_single_tag_same_as_umi_tag - should panic ... ok
[INFO] [stdout] test commands::extract::tests::test_sample_barcode_with_quality_tags_specified ... ok
[INFO] [stdout] test commands::extract::tests::test_paired_end_with_different_read_structures ... ok
[INFO] [stdout] test commands::extract::tests::test_paired_end_with_inline_umi ... ok
[INFO] [stdout] test commands::extract::tests::test_single_fastq_no_read_structure ... ok
[INFO] [stdout] test commands::extract::tests::test_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::extract::tests::test_threading_modes::case_3_pipeline_2 ... ok
[INFO] [stdout] test commands::extract::tests::test_threading_modes_emit_correct_tags::case_2_threaded ... ok
[INFO] [stdout] test commands::extract::tests::test_threading_modes::case_1_fast_path ... ok
[INFO] [stdout] test commands::extract::tests::test_threading_modes_emit_correct_tags::case_1_fast_path ... ok
[INFO] [stdout] test commands::fastq::tests::test_complement_lookup_table ... ok
[INFO] [stdout] test commands::fastq::tests::test_parse_flags_decimal ... ok
[INFO] [stdout] test commands::fastq::tests::test_parse_flags_hex ... ok
[INFO] [stdout] test commands::fastq::tests::test_parse_flags_invalid ... ok
[INFO] [stdout] test commands::extract::tests::test_single_tag ... ok
[INFO] [stdout] test commands::fastq::tests::test_qual_to_ascii_lookup_table ... ok
[INFO] [stdout] test commands::fastq::tests::test_quality_encoding_edge_cases ... ok
[INFO] [stdout] test commands::fastq::tests::test_write_quality_bytes ... ok
[INFO] [stdout] test commands::fastq::tests::test_write_reverse_complement_bytes ... ok
[INFO] [stdout] test commands::fastq::tests::test_write_reversed_quality_bytes ... ok
[INFO] [stdout] test commands::filter::tests::test_check_duplex_filters_raw_no_call_count_mode ... ok
[INFO] [stdout] test commands::filter::tests::test_check_filters_raw_no_call_count_mode_fail ... ok
[INFO] [stdout] test commands::filter::tests::test_check_filters_raw_no_call_count_mode_pass ... ok
[INFO] [stdout] test commands::filter::tests::test_check_filters_raw_no_call_fraction_mode ... ok
[INFO] [stdout] test commands::filter::tests::test_count_no_calls_all_ns ... ok
[INFO] [stdout] test commands::filter::tests::test_count_no_calls_empty_sequence ... ok
[INFO] [stdout] test commands::filter::tests::test_count_no_calls_no_ns ... ok
[INFO] [stdout] test commands::filter::tests::test_count_no_calls_with_ns ... ok
[INFO] [stdout] test commands::filter::tests::test_default_filter_parameters ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_all_optional_outputs ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_by_read_not_template ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_by_template_parsing::case_1 ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_by_template_parsing::case_2 ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_by_template_parsing::case_3 ... ok
[INFO] [stdout] test commands::extract::tests::test_variable_length_reads_with_plus ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_by_template_parsing::case_5 ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_by_template_parsing::case_6 ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_duplex_different_thresholds ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_by_template_parsing::case_4 ... ok
[INFO] [stdout] test commands::extract::tests::test_zero_length_reads_integration_with_quality_detection ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_base_masking ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_basic_simplex ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_duplex_consensus ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_max_no_call_filtering ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_min_mean_base_quality ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_non_template_mode ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_non_template_mode_duplex ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_duplex_parallel_processing ... ok
[INFO] [stdout] test commands::extract::tests::test_zero_length_reads_with_fixed_structure_errors ... ok
[INFO] [stdout] test commands::extract::tests::test_zero_length_reads ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_duplex_single_vs_multi_threaded ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_reverse_per_base_tags ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_regenerates_tags ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_with_rejects ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_parallel_reverse_per_base_tags ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_with_stats_output ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_high_min_base_quality ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_parallel_with_rejects ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_high_min_reads_threshold ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_lenient_error_rates ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_low_min_base_quality ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_multithreaded ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_read_fails_low_depth ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_read_fails_high_error_rate ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_read_passes_all_thresholds ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_read_without_tags ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_require_single_strand_agreement ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_strict_error_rates ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_reverse_per_base_tags_disabled ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_with_optional_outputs ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_with_min_mean_base_quality ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_with_rejects_output ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_with_stats_output ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_with_supplementary_records ... ok
[INFO] [stdout] test commands::filter::tests::test_invalid_error_rate ... ok
[INFO] [stdout] test commands::filter::tests::test_is_duplex_consensus_simplex ... ok
[INFO] [stdout] test commands::filter::tests::test_is_duplex_consensus_with_tag ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_parallel_with_supplementary ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_zero_no_call_fraction ... ok
[INFO] [stdout] test commands::filter::tests::test_mask_bases_high_error_count ... ok
[INFO] [stdout] test commands::filter::tests::test_mask_bases_low_depth ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_single_vs_multi_threaded ... ok
[INFO] [stdout] test commands::filter::tests::test_mask_bases_low_quality ... ok
[INFO] [stdout] test commands::filter::tests::test_mean_base_quality_empty ... ok
[INFO] [stdout] test commands::filter::tests::test_mean_base_quality_mixed ... ok
[INFO] [stdout] test commands::filter::tests::test_mean_base_quality_uniform ... ok
[INFO] [stdout] test commands::filter::tests::test_process_record_raw_no_reference ... ok
[INFO] [stdout] test commands::filter::tests::test_multithreaded_filter_configuration ... ok
[INFO] [stdout] test commands::filter::tests::test_process_record_raw_no_reference_mapped_fails ... ok
[INFO] [stdout] test commands::filter::tests::test_parameter_validation ... ok
[INFO] [stdout] test commands::filter::tests::test_require_single_strand_agreement_parsing::case_1 ... ok
[INFO] [stdout] test commands::filter::tests::test_require_single_strand_agreement_parsing::case_3 ... ok
[INFO] [stdout] test commands::filter::tests::test_require_single_strand_agreement_parsing::case_2 ... ok
[INFO] [stdout] test commands::filter::tests::test_require_single_strand_agreement_parsing::case_4 ... ok
[INFO] [stdout] test commands::filter::tests::test_require_single_strand_agreement_parsing::case_5 ... ok
[INFO] [stdout] test commands::filter::tests::test_require_single_strand_agreement_parsing::case_6 ... ok
[INFO] [stdout] test commands::filter::tests::test_reverse_per_base_tags_parsing::case_1 ... ok
[INFO] [stdout] test commands::filter::tests::test_reverse_per_base_tags_parsing::case_2 ... ok
[INFO] [stdout] test commands::filter::tests::test_reverse_per_base_tags_parsing::case_3 ... ok
[INFO] [stdout] test commands::filter::tests::test_reverse_per_base_tags_parsing::case_4 ... ok
[INFO] [stdout] test commands::filter::tests::test_template_passes_all_pass ... ok
[INFO] [stdout] test commands::filter::tests::test_reverse_per_base_tags_parsing::case_5 ... ok
[INFO] [stdout] test commands::filter::tests::test_template_passes_one_fails ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_base_error_rate_ordering_ab_ba ... ok
[INFO] [stdout] test commands::filter::tests::test_reverse_per_base_tags_parsing::case_6 ... ok
[INFO] [stdout] test commands::filter::tests::test_filter_execute_parallel_with_many_templates ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_conversion_fraction_out_of_range ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_conversion_fraction_requires_methylation_mode ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_error_rate_ordering_ab_ba ... ok
[INFO] [stdout] test commands::filter::tests::test_threading_modes::case_3_pipeline_2 ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_max_no_call_fraction_integer ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_conversion_fraction_requires_ref ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_max_no_call_fraction_integer_valid ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_min_methylation_depth_too_many_values ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_parameters_invalid_stringency_order ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_min_methylation_depth_invalid_order ... ok
[INFO] [stdout] test commands::filter::tests::test_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_strand_agreement_requires_ref ... ok
[INFO] [stdout] test commands::filter::tests::test_validate_parameters_too_many_values ... ok
[INFO] [stdout] test commands::filter::tests::test_threading_modes::case_1_default ... ok
[INFO] [stdout] test commands::group::tests::test_adjacency_no_gradient_keeps_separate ... ok
[INFO] [stdout] test commands::group::tests::test_adjacency_multi_thread ... ok
[INFO] [stdout] test commands::group::tests::test_adjacency_single_thread ... ok
[INFO] [stdout] test commands::group::tests::test_adjacency_with_count_gradient ... ok
[INFO] [stdout] test commands::group::tests::test_adjacency_with_edits_0 ... ok
[INFO] [stdout] test commands::group::tests::test_allow_unmapped_adjacency_strategy ... ok
[INFO] [stdout] test commands::group::tests::test_allow_unmapped_groups_unmapped_reads ... ok
[INFO] [stdout] test commands::group::tests::test_allow_unmapped_mixed_mapped_unmapped ... ok
[INFO] [stdout] test commands::group::tests::test_allow_unmapped_threading_modes::case_1_fast_path ... ok
[INFO] [stdout] test commands::group::tests::test_allow_unmapped_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::group::tests::test_allow_unmapped_threading_modes::case_3_pipeline_2 ... ok
[INFO] [stdout] test commands::group::tests::test_adjacency_deep_tree_multi_thread ... ok
[INFO] [stdout] test commands::group::tests::test_cell_barcode_grouping ... ok
[INFO] [stdout] test commands::group::tests::test_correctly_groups_single_end_reads ... ok
[INFO] [stdout] test commands::group::tests::test_adjacency_deep_tree_single_thread ... ok
[INFO] [stdout] test commands::group::tests::test_cross_contig_read_pairs ... ok
[INFO] [stdout] test commands::group::tests::test_filter_template_allows_unmapped_when_enabled ... ok
[INFO] [stdout] test commands::group::tests::test_filter_template_rejects_unmapped_by_default ... ok
[INFO] [stdout] test commands::group::tests::test_discard_secondary_and_supplementary_reads ... ok
[INFO] [stdout] test commands::group::tests::test_edit_strategy_outside_edit_distance ... ok
[INFO] [stdout] test commands::group::tests::test_edit_strategy_with_exact_edit_distance ... ok
[INFO] [stdout] test commands::group::tests::test_get_pair_orientation_f1r2 ... ok
[INFO] [stdout] test commands::group::tests::test_get_pair_orientation_f2r1 ... ok
[INFO] [stdout] test commands::group::tests::test_get_pair_orientation_forward_tandem ... ok
[INFO] [stdout] test commands::group::tests::test_get_pair_orientation_reverse_tandem ... ok
[INFO] [stdout] test commands::group::tests::test_group_filter_template_raw_accepts_valid ... ok
[INFO] [stdout] test commands::group::tests::test_group_filter_template_raw_no_primary_reads ... ok
[INFO] [stdout] test commands::group::tests::test_group_filter_template_raw_rejects_low_mapq ... ok
[INFO] [stdout] test commands::group::tests::test_group_filter_template_raw_rejects_qc_fail ... ok
[INFO] [stdout] test commands::group::tests::test_group_filter_template_raw_rejects_short_umi ... ok
[INFO] [stdout] test commands::group::tests::test_group_filter_template_raw_rejects_umi_with_n ... ok
[INFO] [stdout] test commands::group::tests::test_group_filter_template_raw_rejects_unmapped ... ok
[INFO] [stdout] test commands::group::tests::test_group_filter_template_raw_truncated_record_treated_as_missing ... ok
[INFO] [stdout] test commands::group::tests::test_edit_strategy_with_high_edit_threshold ... ok
[INFO] [stdout] test commands::group::tests::test_family_size_histogram_generation ... ok
[INFO] [stdout] test commands::group::tests::test_filtering_excludes_reads_below_min_mapq ... ok
[INFO] [stdout] test commands::group::tests::test_filtering_excludes_reads_with_n_in_umi ... ok
[INFO] [stdout] test commands::group::tests::test_filtering_low_mapq_read_with_unmapped_mate ... ok
[INFO] [stdout] test commands::group::tests::test_grouping_metrics_generation ... ok
[INFO] [stdout] test commands::group::tests::test_groups_reads_correctly_basic ... ok
[INFO] [stdout] test commands::group::tests::test_identity_assigner_splits_by_pair_orientation ... ok
[INFO] [stdout] test commands::group::tests::test_identity_strategy_no_grouping ... ok
[INFO] [stdout] test commands::group::tests::test_large_family_grouping ... ok
[INFO] [stdout] test commands::group::tests::test_metrics_parity_across_threading_modes::case_1_fast_path ... ok
[INFO] [stdout] test commands::group::tests::test_metrics_parity_across_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::group::tests::test_metrics_parity_across_threading_modes::case_3_pipeline_4 ... ok
[INFO] [stdout] test commands::group::tests::test_metrics_position_group_size_with_multi_read_families ... ok
[INFO] [stdout] test commands::group::tests::test_metrics_prefix_and_individual_flags_write_same_content ... ok
[INFO] [stdout] test commands::group::tests::test_metrics_prefix_writes_all_files ... ok
[INFO] [stdout] test commands::group::tests::test_min_mapq_filtering ... ok
[INFO] [stdout] test commands::group::tests::test_minimum_umi_length_filtering ... ok
[INFO] [stdout] test commands::group::tests::test_missing_raw_tag ... ok
[INFO] [stdout] test commands::group::tests::test_mixed_single_and_paired_end ... ok
[INFO] [stdout] test commands::group::tests::test_multi_thread_raw_byte_mixed_single_paired ... ok
[INFO] [stdout] test commands::group::tests::test_multi_thread_raw_byte_with_unmapped_mate ... ok
[INFO] [stdout] test commands::group::tests::test_multi_thread_strategies_raw_byte::case_1_identity ... ok
[INFO] [stdout] test commands::group::tests::test_multi_thread_strategies_raw_byte::case_2_edit ... ok
[INFO] [stdout] test commands::group::tests::test_no_umi_mode_rejects_paired_strategy ... ok
[INFO] [stdout] test commands::group::tests::test_multi_thread_strategies_raw_byte::case_3_adjacency ... ok
[INFO] [stdout] test commands::group::tests::test_multiple_edit_distances ... ok
[INFO] [stdout] test commands::group::tests::test_no_umi_mode_accepts_missing_umi_tag ... ok
[INFO] [stdout] test commands::group::tests::test_no_umi_mode_accepts_umi_with_n ... ok
[INFO] [stdout] test commands::group::tests::test_no_umi_mode_groups_by_position_only ... ok
[INFO] [stdout] test commands::group::tests::test_outputs_family_size_histogram ... ok
[INFO] [stdout] test commands::group::tests::test_outputs_grouping_metrics ... ok
[INFO] [stdout] test commands::group::tests::test_pair_orientation_splitting ... ok
[INFO] [stdout] test commands::group::tests::test_paired_assigner_explicit_ab_ba_symmetry ... ok
[INFO] [stdout] test commands::group::tests::test_paired_assigner_groups_same_orientation_templates ... ok
[INFO] [stdout] test commands::group::tests::test_paired_mode_with_absent_umi_on_left ... ok
[INFO] [stdout] test commands::group::tests::test_paired_mode_with_absent_umi_on_right ... ok
[INFO] [stdout] test commands::group::tests::test_paired_strategy_single_end_reads ... ok
[INFO] [stdout] test commands::group::tests::test_truncate_umis_fails_when_too_short ... ok
[INFO] [stdout] test commands::group::tests::test_truncate_umis_none_returns_unchanged ... ok
[INFO] [stdout] test commands::group::tests::test_truncate_umis_to_minimum_length ... ok
[INFO] [stdout] test commands::group::tests::test_paired_umi_missing_both_ends ... ok
[INFO] [stdout] test commands::group::tests::test_umi_for_read_assigns_ab_prefixes_by_coordinates ... ok
[INFO] [stdout] test commands::group::tests::test_umi_for_read_handles_absent_umi_ends ... ok
[INFO] [stdout] test commands::group::tests::test_umi_for_read_uppercase_for_non_paired ... ok
[INFO] [stdout] test commands::group::tests::test_rejects_umis_shorter_than_min_length ... ok
[INFO] [stdout] test commands::group::tests::test_threading_modes::case_1_fast_path ... ok
[INFO] [stdout] test commands::group::tests::test_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::group::tests::test_threading_modes::case_3_pipeline_2 ... ok
[INFO] [stdout] test commands::merge::tests::test_merge_empty_bams_produces_output ... ok
[INFO] [stdout] test commands::merge::tests::test_merge_headers_combines_read_groups ... ok
[INFO] [stdout] test commands::merge::tests::test_merge_headers_deduplicates_read_groups ... ok
[INFO] [stdout] test commands::merge::tests::test_merge_headers_rejects_different_ref_count ... ok
[INFO] [stdout] test commands::merge::tests::test_merge_headers_rejects_different_ref_names ... ok
[INFO] [stdout] test commands::group::tests::test_truncates_to_min_length ... ok
[INFO] [stdout] test commands::merge::tests::test_merge_output_aliasing_input ... ok
[INFO] [stdout] test commands::merge::tests::test_merge_headers_single_input ... ok
[INFO] [stdout] test commands::review::tests::test_default_review_parameters ... ok
[INFO] [stdout] test commands::review::tests::test_empty_interval_list_produces_empty_outputs ... ok
[INFO] [stdout] test commands::review::tests::test_both_ends_overlapping_variant ... ok
[INFO] [stdout] test commands::group::tests::test_umi_with_only_n_bases ... ok
[INFO] [stdout] test commands::review::tests::test_is_vcf_file_detection ... ok
[INFO] [stdout] test commands::review::tests::test_missing_fasta_dict_fails ... ok
[INFO] [stdout] test commands::review::tests::test_empty_vcf_produces_empty_outputs ... ok
[INFO] [stdout] test commands::review::tests::test_missing_fasta_index_fails ... ok
[INFO] [stdout] test commands::review::tests::test_review_custom_maf_threshold ... ok
[INFO] [stdout] test commands::review::tests::test_review_ignore_ns_enabled ... ok
[INFO] [stdout] test commands::group::tests::test_unmapped_templates_filtered ... ok
[INFO] [stdout] test commands::review::tests::test_review_output_path_extensions ... ok
[INFO] [stdout] test commands::review::tests::test_review_with_sample_name ... ok
[INFO] [stdout] test commands::review::tests::test_no_calls_handled_correctly ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_compute_hash_fraction_in_unit_range::case_1 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_compute_hash_fraction_in_unit_range::case_2 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_compute_hash_fraction_in_unit_range::case_3 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_compute_hash_fraction_in_unit_range::case_4 ... ok
[INFO] [stdout] test commands::review::tests::test_extracts_correct_reads_for_variants ... ok
[INFO] [stdout] test commands::review::tests::test_spanning_deletions_handled_correctly ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_compute_hash_fraction_in_unit_range::case_5 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_01 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_02 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_03 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_04 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_06 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_05 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_08 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_07 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_09 ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_murmur3_matches_htsjdk_reference_vectors::case_10 ... ok
[INFO] [stdout] test commands::simplex::tests::test_custom_parameters ... ok
[INFO] [stdout] test commands::simplex::tests::test_default_parameters ... ok
[INFO] [stdout] test commands::simplex::tests::test_custom_read_name_prefix ... ok
[INFO] [stdout] test commands::simplex::tests::test_end_to_end_single_end_workflow::case_1_fast_path ... ok
[INFO] [stdout] test commands::simplex::tests::test_end_to_end_single_end_workflow::case_2_threaded ... ok
[INFO] [stdout] test commands::review::tests::test_review_tsv_contains_correct_information ... ok
[INFO] [stdout] test commands::simplex::tests::test_max_reads_less_than_min_reads_fails ... ok
[INFO] [stdout] test commands::simplex::tests::test_max_reads_downsampling ... ok
[INFO] [stdout] test commands::simplex::tests::test_min_consensus_base_quality ... ok
[INFO] [stdout] test commands::simplex::tests::test_missing_input_file_fails ... ok
[INFO] [stdout] test commands::simplex::tests::test_min_reads_filtering ... ok
[INFO] [stdout] test commands::simplex::tests::test_multithreaded_with_rejects ... ok
[INFO] [stdout] test commands::group::tests::test_very_long_umis ... ok
[INFO] [stdout] test commands::simplex::tests::test_overlapping_consensus_calling_paired ... ok
[INFO] [stdout] test commands::simplex::tests::test_overlapping_consensus_unpaired_read ... ok
[INFO] [stdout] test commands::simplex::tests::test_per_base_tags_generation ... ok
[INFO] [stdout] test commands::simplex::tests::test_reads_without_umi_tag_skipped ... ok
[INFO] [stdout] test commands::simplex::tests::test_rejects_file_generation ... ok
[INFO] [stdout] test commands::simplex::tests::test_multithreaded_with_stats ... ok
[INFO] [stdout] test commands::simplex::tests::test_simplex_em_seq_command::case_1_single_threaded ... ok
[INFO] [stdout] test commands::simplex::tests::test_simplex_processed_batch_memory_estimate ... ok
[INFO] [stdout] test commands::simplex::tests::test_simplex_em_seq_command::case_2_multi_threaded ... ok
[INFO] [stdout] test commands::simplex::tests::test_statistics_file_generation ... ok
[INFO] [stdout] test commands::simplex::tests::test_threading_modes::case_1_fast_path ... ok
[INFO] [stdout] test commands::simplex::tests::test_threading_modes::case_2_pipeline_1 ... ok
[INFO] [stdout] test commands::simplex::tests::test_trim_enabled ... ok
[INFO] [stdout] test commands::simplex_metrics::tests::test_default_simplex_metrics_parameters ... ok
[INFO] [stdout] test commands::simplex::tests::test_threading_modes::case_3_pipeline_2 ... ok
[INFO] [stdout] test commands::group::tests::test_without_allow_unmapped_rejects_unmapped_reads ... ok
[INFO] [stdout] test commands::simplex_metrics::tests::test_generate_yield_metric_all_singletons ... ok
[INFO] [stdout] test commands::simplex_metrics::tests::test_generate_yield_metric_basic ... ok
[INFO] [stdout] test commands::simplex_metrics::tests::test_generate_yield_metric_empty ... ok
[INFO] [stdout] test commands::simplex::tests::test_multithreading ... ok
[INFO] [stdout] test commands::sort::tests::test_clap_tmp_dir_repeatable::case_1_zero ... ok
[INFO] [stdout] test commands::sort::tests::test_clap_tmp_dir_repeatable::case_2_single_short ... ok
[INFO] [stdout] test commands::sort::tests::test_clap_tmp_dir_repeatable::case_3_multiple_short ... ok
[INFO] [stdout] test commands::sort::tests::test_clap_tmp_dir_repeatable::case_4_multiple_long ... ok
[INFO] [stdout] test commands::shared_metrics::tests::test_inter_reference_pairs_are_retained ... ok
[INFO] [stdout] test commands::sort::tests::test_coordinate_header_no_subsort ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_cell_tag::case_1 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_cell_tag::case_2 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_cell_tag::case_3 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_memory_auto ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_memory_case_insensitive ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_memory_decimal_with_suffix ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_memory_human_readable ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_memory_invalid ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_memory_plain_numbers_as_mb ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_memory_reserve ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_sort_order::case_1 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_sort_order::case_2 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_sort_order::case_3 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_sort_order::case_4 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_sort_order::case_5 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_sort_order::case_6 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_sort_order::case_7 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_sort_order::case_8 ... ok
[INFO] [stdout] test commands::sort::tests::test_parse_sort_order::case_9 ... ok
[INFO] [stdout] test commands::sort::tests::test_queryname_lex_header_has_subsort ... ok
[INFO] [stdout] test commands::sort::tests::test_queryname_natural_header_has_subsort ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_memory_limit_auto_no_per_thread ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_memory_limit_auto ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_memory_limit_auto_with_fixed_reserve ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_memory_limit_fixed ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_memory_limit_fixed_no_per_thread ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_reserve_auto ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_reserve_fixed ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_tmp_dirs_cli_only ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_tmp_dirs_cli_overrides_env ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_tmp_dirs_empty ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_tmp_dirs_skips_empty_segments ... ok
[INFO] [stdout] test commands::sort::tests::test_resolve_tmp_dirs_env_only ... ok
[INFO] [stdout] test commands::sort::tests::test_sort_order_conversion ... ok
[INFO] [stdout] test commands::sort::tests::test_template_coordinate_header_subsort ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_conflicts_with_output ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_conflicts_with_write_index ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_coordinate_fails_on_unsorted ... ok
[INFO] [stdout] test commands::sort::tests::test_template_coordinate_sorts_by_cell_barcode ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_coordinate_sorted_pass ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_queryname_default_sorted_pass ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_queryname_lex_fails_with_natural_verifier ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_queryname_lexicographic_sorted_pass ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_queryname_natural_fails_with_lex_verifier ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_queryname_natural_sorted_pass ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_sort_order_empty ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_sort_order_sorted ... ok
[INFO] [stdout] test commands::zipper::tests::test_add_pa_tag_early_exit_no_secondary_supplementary ... ok
[INFO] [stdout] test commands::sort::tests::test_verify_sort_order_unsorted ... ok
[INFO] [stdout] test commands::zipper::tests::test_add_pa_tag_paired_end_r2_supplementary ... ok
[INFO] [stdout] test commands::zipper::tests::test_add_pa_tag_only_to_secondary_supplementary ... ok
[INFO] [stdout] test commands::zipper::tests::test_add_pa_tag_to_secondary_reverse_strand ... ok
[INFO] [stdout] test commands::zipper::tests::test_add_pa_tag_to_supplementary_r1 ... ok
[INFO] [stdout] test commands::zipper::tests::test_as_xs_normalization ... ok
[INFO] [stdout] test commands::zipper::tests::test_as_xs_normalization_large_values ... ok
[INFO] [stdout] test commands::zipper::tests::test_both_inputs_empty ... ok
[INFO] [stdout] test commands::zipper::tests::test_basic_merge ... ok
[INFO] [stdout] test commands::zipper::tests::test_consensus_tag_set ... ok
[INFO] [stdout] test commands::zipper::tests::test_empty_unmapped ... ok
[INFO] [stdout] test commands::zipper::tests::test_exclude_missing_reads_parsing::case_1 ... ok
[INFO] [stdout] test commands::zipper::tests::test_exclude_missing_reads_parsing::case_2 ... ok
[INFO] [stdout] test commands::zipper::tests::test_exclude_missing_reads_parsing::case_3 ... ok
[INFO] [stdout] test commands::simplex_metrics::tests::test_reject_consensus_bam ... ok
[INFO] [stdout] test commands::zipper::tests::test_exclude_missing_reads_parsing::case_4 ... ok
[INFO] [stdout] test commands::zipper::tests::test_exclude_missing_reads_parsing::case_5 ... ok
[INFO] [stdout] test commands::zipper::tests::test_exclude_missing_reads_parsing::case_6 ... ok
[INFO] [stdout] test commands::zipper::tests::test_file_not_found_error ... ok
[INFO] [stdout] test commands::zipper::tests::test_fix_mate_info_both_unmapped ... ok
[INFO] [stdout] test commands::zipper::tests::test_fix_mate_info_one_unmapped ... ok
[INFO] [stdout] test commands::zipper::tests::test_exclude_missing_reads ... ok
[INFO] [stdout] test commands::zipper::tests::test_fix_mate_info_supplementary ... ok
[INFO] [stdout] test commands::zipper::tests::test_fix_mate_info_r2_supplementary ... ok
[INFO] [stdout] test commands::zipper::tests::test_fix_mate_info_values ... ok
[INFO] [stdout] test commands::zipper::tests::test_mate_info_fixing ... ok
[INFO] [stdout] test commands::zipper::tests::test_merge_mixed_strands ... ok
[INFO] [stdout] test commands::zipper::tests::test_multiple_secondary_alignments ... ok
[INFO] [stdout] test commands::zipper::tests::test_negative_strand_both_reads ... ok
[INFO] [stdout] test commands::zipper::tests::test_no_pa_tag_when_no_primary ... ok
[INFO] [stdout] test commands::zipper::tests::test_negative_strand_r1_tag_copying ... ok
[INFO] [stdout] test commands::zipper::tests::test_peek_stdin_bgzf_classifies_bam_under_short_reads ... ok
[INFO] [stdout] test commands::zipper::tests::test_peek_stdin_bgzf_classifies_sam_text ... ok
[INFO] [stdout] test commands::zipper::tests::test_peek_stdin_bgzf_handles_empty_stream ... ok
[INFO] [stdout] test commands::zipper::tests::test_pa_tag_added_during_merge ... ok
[INFO] [stdout] test commands::zipper::tests::test_peek_stdin_bgzf_handles_stream_shorter_than_magic ... ok
[INFO] [stdout] test commands::zipper::tests::test_qc_flag_removal ... ok
[INFO] [stdout] test commands::zipper::tests::test_qc_flag_transfer ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_removes_nm_md_when_bases_changed ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_unconverted_bases_bottom_strand ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_unconverted_bases_bottom_strand_reverse ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_unconverted_bases_no_target_in_span ... ok
[INFO] [stdout] test commands::zipper::tests::test_r2_only_mapping ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_unconverted_bases_preserves_already_unconverted ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_unconverted_bases_skips_unmapped ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_unconverted_bases_skips_no_yd_tag ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_unconverted_bases_top_strand ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_unconverted_bases_top_strand_reverse ... ok
[INFO] [stdout] test commands::zipper::tests::test_raw_restore_unconverted_bases_with_indels ... ok
[INFO] [stdout] test commands::zipper::tests::test_multithreaded_processing ... ok
[INFO] [stdout] test commands::zipper::tests::test_restore_unconverted_bases_parsing::case_1 ... ok
[INFO] [stdout] test commands::zipper::tests::test_restore_unconverted_bases_parsing::case_3 ... ok
[INFO] [stdout] test commands::zipper::tests::test_restore_unconverted_bases_parsing::case_4 ... ok
[INFO] [stdout] test commands::zipper::tests::test_restore_unconverted_bases_parsing::case_5 ... ok
[INFO] [stdout] test commands::zipper::tests::test_restore_unconverted_bases_parsing::case_2 ... ok
[INFO] [stdout] test commands::zipper::tests::test_restore_unconverted_bases_parsing::case_6 ... ok
[INFO] [stdout] test commands::zipper::tests::test_skip_tc_tags_false_adds_tags ... ok
[INFO] [stdout] test commands::zipper::tests::test_skip_tc_tags_parameter ... ok
[INFO] [stdout] test commands::zipper::tests::test_skip_tc_tags_parsing::case_1 ... ok
[INFO] [stdout] test commands::zipper::tests::test_skip_tc_tags_parsing::case_2 ... ok
[INFO] [stdout] test commands::zipper::tests::test_skip_tc_tags_parsing::case_3 ... ok
[INFO] [stdout] test commands::zipper::tests::test_skip_tc_tags_parsing::case_4 ... ok
[INFO] [stdout] test commands::zipper::tests::test_skip_tc_tags_parsing::case_5 ... ok
[INFO] [stdout] test commands::zipper::tests::test_tag_info_expansion ... ok
[INFO] [stdout] test commands::zipper::tests::test_tag_info_has_revs_or_revcomps ... ok
[INFO] [stdout] test commands::zipper::tests::test_skip_tc_tags_parsing::case_6 ... ok
[INFO] [stdout] test commands::zipper::tests::test_tag_removal_reverse_revcomp ... ok
[INFO] [stdout] test commands::zipper::tests::test_unmapped_only_reads ... ok
[INFO] [stdout] test commands::zipper::tests::test_tag_operations_on_secondary_and_supplementary ... ok
[INFO] [stdout] test errors::tests::test_invalid_file_format ... ok
[INFO] [stdout] test errors::tests::test_invalid_frequency ... ok
[INFO] [stdout] test errors::tests::test_invalid_memory_size ... ok
[INFO] [stdout] test errors::tests::test_invalid_parameter ... ok
[INFO] [stdout] test errors::tests::test_reference_not_found ... ok
[INFO] [stdout] test fastq::tests::test_cell_barcode_segments ... ok
[INFO] [stdout] test fastq::tests::test_cell_barcode_segments_empty ... ok
[INFO] [stdout] test fastq::tests::test_combine_readsets ... ok
[INFO] [stdout] test commands::zipper::tests::test_unpaired_reads ... ok
[INFO] [stdout] test fastq::tests::test_fastq_set_with_skip_reason_only ... ok
[INFO] [stdout] test fastq::tests::test_molecular_barcode_segments ... ok
[INFO] [stdout] test commands::zipper::tests::test_varied_tag_types_roundtrip ... ok
[INFO] [stdout] test fastq::tests::test_combine_readsets_fails_on_empty_vector - should panic ... ok
[INFO] [stdout] test fastq::tests::test_read_set_iterator_basic ... ok
[INFO] [stdout] test fastq::tests::test_read_set_iterator_error_on_too_few_bases_without_skip ... ok
[INFO] [stdout] test fastq::tests::test_read_set_iterator_multiple_records ... ok
[INFO] [stdout] test fastq::tests::test_sample_barcode_segments ... ok
[INFO] [stdout] test fastq::tests::test_skip_reason_display ... ok
[INFO] [stdout] test fastq::tests::test_skip_reason_from_str_invalid ... ok
[INFO] [stdout] test fastq::tests::test_skip_reason_from_str_valid ... ok
[INFO] [stdout] test fastq::tests::test_template_segments ... ok
[INFO] [stdout] test fastq_parse::tests::test_parse_fastq_eof_no_newline_seq_qual_mismatch ... ok
[INFO] [stdout] test fastq_parse::tests::test_parse_fastq_eof_without_trailing_newline ... ok
[INFO] [stdout] test fastq_parse::tests::test_parse_fastq_incomplete_record ... ok
[INFO] [stdout] test fastq_parse::tests::test_parse_fastq_records_multiple ... ok
[INFO] [stdout] test fastq_parse::tests::test_parse_fastq_with_leftover ... ok
[INFO] [stdout] test fastq_parse::tests::test_parse_single_fastq_record ... ok
[INFO] [stdout] test fastq_parse::tests::test_strip_read_suffix ... ok
[INFO] [stdout] test grouper::tests::test_build_templates_empty ... ok
[INFO] [stdout] test grouper::tests::test_build_templates_from_raw_bytes ... ok
[INFO] [stdout] test grouper::tests::test_build_templates_from_raw_bytes_paired ... ok
[INFO] [stdout] test fastq::tests::test_read_set_iterator_skip_too_few_bases ... ok
[INFO] [stdout] test grouper::tests::test_build_templates_multiple_qnames ... ok
[INFO] [stdout] test grouper::tests::test_build_templates_paired_same_name_hash ... ok
[INFO] [stdout] test grouper::tests::test_build_templates_single_record ... ok
[INFO] [stdout] test grouper::tests::test_fastq_grouper_finish_empty ... ok
[INFO] [stdout] test grouper::tests::test_fastq_grouper_multiple_templates ... ok
[INFO] [stdout] test grouper::tests::test_fastq_grouper_out_of_sync ... ok
[INFO] [stdout] test grouper::tests::test_fastq_grouper_paired ... ok
[INFO] [stdout] test grouper::tests::test_fastq_grouper_partial_then_complete ... ok
[INFO] [stdout] test grouper::tests::test_raw_position_group_batch_weight ... ok
[INFO] [stdout] test grouper::tests::test_raw_position_group_batch_weight_single ... ok
[INFO] [stdout] test grouper::tests::test_raw_position_group_memory_estimate ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_coalesces_unmapped_mate_by_name_hash ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_default_impl ... ok
[INFO] [stdout] test fastq::tests::test_read_set_iterator_variable_length_segment ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_different_positions ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_does_not_coalesce_different_name_hash ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_empty ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_groups_records_by_position ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_mc_validation_catches_later_missing_mc ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_mc_validation_fails_without_mc ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_mc_validation_passes_with_mc ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_mc_validation_skips_unmapped_mate ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_mc_validation_skips_unpaired ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_paired_same_position_key ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_same_position_multiple_records ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_single_unpaired_record ... ok
[INFO] [stdout] test grouper::tests::test_record_position_grouper_skips_secondary ... ok
[INFO] [stdout] test grouper::tests::test_single_raw_record_grouper_empty ... ok
[INFO] [stdout] test grouper::tests::test_single_raw_record_grouper_emits_each_record ... ok
[INFO] [stdout] test grouper::tests::test_single_record_grouper_empty ... ok
[INFO] [stdout] test header::tests::test_add_pg_record_chains_to_non_fgumi ... ok
[INFO] [stdout] test header::tests::test_add_pg_record_empty_command_line ... ok
[INFO] [stdout] test header::tests::test_add_pg_record_empty_header ... ok
[INFO] [stdout] test header::tests::test_add_pg_record_with_existing_fgumi ... ok
[INFO] [stdout] test header::tests::test_add_pg_record_chains_to_empty_program ... ok
[INFO] [stdout] test header::tests::test_add_pg_to_builder ... ok
[INFO] [stdout] test header::tests::test_get_last_program_id_chained ... ok
[INFO] [stdout] test header::tests::test_get_last_program_id_empty ... ok
[INFO] [stdout] test header::tests::test_add_pg_record_write_to_bam ... ok
[INFO] [stdout] test header::tests::test_get_last_program_id_single ... ok
[INFO] [stdout] test header::tests::test_make_unique_program_id_no_collision ... ok
[INFO] [stdout] test header::tests::test_make_unique_program_id_multiple_collisions ... ok
[INFO] [stdout] test header::tests::test_make_unique_program_id_with_collision ... ok
[INFO] [stdout] test logging::tests::test_format_duration ... ok
[INFO] [stdout] test logging::tests::test_format_percent ... ok
[INFO] [stdout] test logging::tests::test_format_rate ... ok
[INFO] [stdout] test logging::tests::test_log_consensus_summary ... ok
[INFO] [stdout] test logging::tests::test_log_umi_grouping_summary ... ok
[INFO] [stdout] test mi_group::tests::test_cell_tag_composite_grouping ... ok
[INFO] [stdout] test logging::tests::test_operation_timer ... ok
[INFO] [stdout] test mi_group::tests::test_cell_tag_missing_cell_value ... ok
[INFO] [stdout] test mi_group::tests::test_cell_tag_none_groups_by_mi_only ... ok
[INFO] [stdout] test mi_group::tests::test_cell_tag_with_transform ... ok
[INFO] [stdout] test mi_group::tests::test_custom_tag ... ok
[INFO] [stdout] test mi_group::tests::test_empty_iterator ... ok
[INFO] [stdout] test mi_group::tests::test_get_mi_missing_tag ... ok
[INFO] [stdout] test mi_group::tests::test_error_propagation ... ok
[INFO] [stdout] test mi_group::tests::test_error_with_no_pending_group ... ok
[INFO] [stdout] test mi_group::tests::test_get_mi_with_transform ... ok
[INFO] [stdout] test mi_group::tests::test_get_mi_without_transform ... ok
[INFO] [stdout] test mi_group::tests::test_get_mi_wrong_tag ... ok
[INFO] [stdout] test mi_group::tests::test_grouper_cell_tag_composite_grouping ... ok
[INFO] [stdout] test mi_group::tests::test_grouper_batch_size_triggers ... ok
[INFO] [stdout] test mi_group::tests::test_grouper_finish_empty ... ok
[INFO] [stdout] test mi_group::tests::test_grouper_finish_idempotent ... ok
[INFO] [stdout] test mi_group::tests::test_grouper_has_pending_states ... ok
[INFO] [stdout] test mi_group::tests::test_grouper_multiple_mi_groups ... ok
[INFO] [stdout] test mi_group::tests::test_grouper_single_mi_group ... ok
[INFO] [stdout] test mi_group::tests::test_grouper_with_filter_and_transform ... ok
[INFO] [stdout] test mi_group::tests::test_grouper_skips_records_without_mi_tag ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_batch_clear ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_batch_default ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_batch_len_and_is_empty ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_batch_memory_estimate ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_batch_new ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_batch_weight ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_batch_weight_method ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_batch_weight_single ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_batch_with_capacity ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_memory_estimate ... ok
[INFO] [stdout] test mi_group::tests::test_mi_group_new ... ok
[INFO] [stdout] test mi_group::tests::test_multiple_groups ... ok
[INFO] [stdout] test mi_group::tests::test_single_group ... ok
[INFO] [stdout] test mi_group::tests::test_skips_records_without_mi_tag ... ok
[INFO] [stdout] test mi_group::tests::test_with_transform ... ok
[INFO] [stdout] test mi_group::tests::test_with_transform_custom_function ... ok
[INFO] [stdout] test mi_group::tests::test_with_transform_empty ... ok
[INFO] [stdout] test mi_group::tests::test_invalid_tag_length - should panic ... ok
[INFO] [stdout] test mi_group::tests::test_with_transform_error_propagation ... ok
[INFO] [stdout] test mi_group::tests::test_with_transform_invalid_tag_length - should panic ... ok
[INFO] [stdout] test mi_group::tests::test_with_transform_single_group ... ok
[INFO] [stdout] test per_thread_accumulator::tests::into_slots_drains_under_unique_ownership ... ok
[INFO] [stdout] test os_hints::tests::advise_sequential_does_not_error_on_regular_file ... ok
[INFO] [stdout] test os_hints::tests::advise_sequential_is_callable_repeatedly ... ok
[INFO] [stdout] test per_thread_accumulator::tests::num_slots_zero_clamped_to_one ... ok
[INFO] [stdout] test per_thread_accumulator::tests::single_thread_accumulates_in_one_slot ... ok
[INFO] [stdout] test prefetch_reader::tests::drop_before_consuming_does_not_hang ... ok
[INFO] [stdout] test per_thread_accumulator::tests::parallel_threads_share_total_count ... ok
[INFO] [stdout] test prefetch_reader::tests::drop_joins_producer_thread ... ok
[INFO] [stdout] test prefetch_reader::tests::error_after_some_data_delivers_data_then_error ... ok
[INFO] [stdout] test prefetch_reader::tests::empty_input_returns_zero_immediately ... ok
[INFO] [stdout] test prefetch_reader::tests::interrupted_errors_are_retried_transparently ... ok
[INFO] [stdout] test prefetch_reader::tests::error_from_inner_reader_propagates_once ... ok
[INFO] [stdout] test prefetch_reader::tests::from_file_reads_correctly ... ok
[INFO] [stdout] test prefetch_reader::tests::partial_read_then_drop_does_not_hang ... ok
[INFO] [stdout] test prefetch_reader::tests::read_to_end_small_matches_input ... ok
[INFO] [stdout] test prefetch_reader::tests::repeated_read_after_eof_returns_zero_forever ... ok
[INFO] [stdout] test prefetch_reader::tests::tiny_chunk_size_and_many_small_reads ... ok
[INFO] [stdout] test progress::tests::test_count ... ok
[INFO] [stdout] test progress::tests::test_crossing_multiple_intervals ... ok
[INFO] [stdout] test progress::tests::test_ema_bias_correction ... ok
[INFO] [stdout] test progress::tests::test_fmt_duration::case_1 ... ok
[INFO] [stdout] test progress::tests::test_fmt_duration::case_2 ... ok
[INFO] [stdout] test progress::tests::test_fmt_duration::case_3 ... ok
[INFO] [stdout] test progress::tests::test_fmt_duration::case_4 ... ok
[INFO] [stdout] test progress::tests::test_fmt_duration::case_5 ... ok
[INFO] [stdout] test progress::tests::test_fmt_duration::case_6 ... ok
[INFO] [stdout] test progress::tests::test_log_if_needed_returns_correctly ... ok
[INFO] [stdout] test progress::tests::test_log_if_needed_zero ... ok
[INFO] [stdout] test progress::tests::test_progress_tracker_new ... ok
[INFO] [stdout] test progress::tests::test_progress_tracker_with_interval ... ok
[INFO] [stdout] test progress::tests::test_progress_tracker_with_total ... ok
[INFO] [stdout] test progress::tests::test_thread_safety ... ok
[INFO] [stdout] test progress::tests::test_with_total_tracks_count ... ok
[INFO] [stdout] test read_info::tests::get_unclipped_position_tests::test_complex_cigar_with_insertions_deletions ... ok
[INFO] [stdout] test read_info::tests::get_unclipped_position_tests::test_forward_strand_hard_and_soft_clip ... ok
[INFO] [stdout] test read_info::tests::get_unclipped_position_tests::test_forward_strand_hard_clip_only ... ok
[INFO] [stdout] test read_info::tests::get_unclipped_position_tests::test_forward_strand_soft_clip_only ... ok
[INFO] [stdout] test read_info::tests::get_unclipped_position_tests::test_no_clipping ... ok
[INFO] [stdout] test read_info::tests::get_unclipped_position_tests::test_reverse_strand_hard_and_soft_clip ... ok
[INFO] [stdout] test read_info::tests::get_unclipped_position_tests::test_reverse_strand_hard_clip_only ... ok
[INFO] [stdout] test read_info::tests::get_unclipped_position_tests::test_reverse_strand_soft_clip_only ... ok
[INFO] [stdout] test prefetch_reader::tests::read_to_end_large_matches_input ... ok
[INFO] [stdout] test read_info::tests::get_unclipped_position_tests::test_unmapped_read ... ok
[INFO] [stdout] test read_info::tests::test_build_library_lookup ... ok
[INFO] [stdout] test read_info::tests::test_different_chromosomes ... ok
[INFO] [stdout] test read_info::tests::test_normalization_with_strand_tiebreaker ... ok
[INFO] [stdout] test read_info::tests::test_ord_includes_cell_barcode ... ok
[INFO] [stdout] test read_info::tests::test_read_info_comparison ... ok
[INFO] [stdout] test read_info::tests::test_read_info_normalizes_order ... ok
[INFO] [stdout] test read_info::tests::test_read_info_ordering ... ok
[INFO] [stdout] test read_info::tests::test_read_info_single ... ok
[INFO] [stdout] test read_info::tests::test_read_info_unmapped ... ok
[INFO] [stdout] test read_info::tests::test_single_sorts_after_paired ... ok
[INFO] [stdout] test read_info::tests::test_single_uses_unknown_values ... ok
[INFO] [stdout] test read_info::tests::test_strand_to_byte ... ok
[INFO] [stdout] test reference::tests::test_all_n_sequence ... ok
[INFO] [stdout] test reference::tests::test_all_sequences_loaded ... ok
[INFO] [stdout] test reference::tests::test_base_at ... ok
[INFO] [stdout] test reference::tests::test_fetch_full_sequence ... ok
[INFO] [stdout] test reference::tests::test_fetch_last_base ... ok
[INFO] [stdout] test reference::tests::test_fetch_slice_returns_borrowed_bytes ... ok
[INFO] [stdout] test reference::tests::test_fetch_subsequence ... ok
[INFO] [stdout] test reference::tests::test_find_dict_path_appending_convention ... ok
[INFO] [stdout] test reference::tests::test_find_dict_path_fasta_extension ... ok
[INFO] [stdout] test reference::tests::test_find_dict_path_fasta_appending_convention ... ok
[INFO] [stdout] test reference::tests::test_find_dict_path_not_found ... ok
[INFO] [stdout] test reference::tests::test_find_dict_path_prefers_replacing_convention ... ok
[INFO] [stdout] test reference::tests::test_find_dict_path_replacing_convention ... ok
[INFO] [stdout] test reference::tests::test_long_sequence_boundaries ... ok
[INFO] [stdout] test reference::tests::test_mixed_case_all_bases ... ok
[INFO] [stdout] test reference::tests::test_multiple_chromosomes_isolation ... ok
[INFO] [stdout] test reference::tests::test_n_bases_at_various_positions ... ok
[INFO] [stdout] test reference::tests::test_nonexistent_sequence ... ok
[INFO] [stdout] test reference::tests::test_out_of_bounds ... ok
[INFO] [stdout] test reference::tests::test_reference_case_preserved ... ok
[INFO] [stdout] test reference::tests::test_position_one_based ... ok
[INFO] [stdout] test reference::tests::test_runs_of_n_bases ... ok
[INFO] [stdout] test reference::tests::test_single_base_sequence ... ok
[INFO] [stdout] test reorder_buffer::tests::test_can_pop_tracking ... ok
[INFO] [stdout] test reorder_buffer::tests::test_gap_blocks_progress ... ok
[INFO] [stdout] test reorder_buffer::tests::test_drain_ready ... ok
[INFO] [stdout] test reorder_buffer::tests::test_in_order_insertion ... ok
[INFO] [stdout] test reorder_buffer::tests::test_large_sequence_numbers ... ok
[INFO] [stdout] test reorder_buffer::tests::test_memory_tracking ... ok
[INFO] [stdout] test reorder_buffer::tests::test_out_of_order_insertion ... ok
[INFO] [stdout] test reorder_buffer::tests::test_sparse_insertion ... ok
[INFO] [stdout] test reorder_buffer::tests::test_would_accept_needed_serial ... ok
[INFO] [stdout] test reorder_buffer::tests::test_would_accept_no_limit ... ok
[INFO] [stdout] test reorder_buffer::tests::test_would_accept_stuck ... ok
[INFO] [stdout] test reorder_buffer::tests::test_would_accept_over_limit ... ok
[INFO] [stdout] test sort::bgzf_io::tests::test_io_writer_loop_reorders_out_of_order_blocks ... ok
[INFO] [stdout] test sort::bgzf_io::tests::test_roundtrip_empty_data ... ok
[INFO] [stdout] test sort::bgzf_io::tests::test_roundtrip_small_data ... ok
[INFO] [stdout] test sort::bgzf_io::tests::test_staging_buffer_flush_empty_is_noop ... ok
[INFO] [stdout] test sort::bgzf_io::tests::test_staging_buffer_is_full ... ok
[INFO] [stdout] test sort::bgzf_io::tests::test_staging_buffer_write_chunked_large_data ... ok
[INFO] [stdout] test sort::inline_buffer::tests::proptest_msd::msd_sort_matches_reference ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_packed_coord_key_ordering ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_par_sort_into_chunks_coordinate_parallel ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_par_sort_into_chunks_coordinate_single_threaded ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_par_sort_into_chunks_parallel_path ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_par_sort_into_chunks_single_threaded_fallback ... ok
[INFO] [stdout] test sort::inline_buffer::tests::proptest_msd::msd_sort_matches_reference_random_keys ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_parallel_radix_sort ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_parallel_radix_sort_stability ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_radix_sort_all_same_keys ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_radix_sort_all_zero_keys ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_radix_sort_empty ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_radix_sort_large ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_radix_sort_max_key ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_radix_sort_record_refs ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_radix_sort_single ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_radix_sort_template_refs_stability ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_key_cb_hash_between_secondary_and_tertiary ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_key_cb_hash_ordering ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_key_cb_hash_zero_sorts_first ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_key_core_cmp_includes_cb_hash ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_key_default_has_zero_cb_hash ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_key_ordering ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_key_serialization_with_cb_hash ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_key_unmapped_with_cb_hash ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_key_zeroed_has_zero_cb_hash ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_template_record_buffer_sort_stability ... ok
[INFO] [stdout] test sort::keys::tests::test_lex_key_empty_names ... ok
[INFO] [stdout] test sort::keys::tests::test_lex_key_flag_tiebreak ... ok
[INFO] [stdout] test sort::keys::tests::test_lex_key_illumina_names ... ok
[INFO] [stdout] test sort::keys::tests::test_lex_key_lexicographic_ordering ... ok
[INFO] [stdout] test sort::keys::tests::test_lex_key_serialization_roundtrip ... ok
[INFO] [stdout] test sort::inline_buffer::tests::test_parallel_radix_sort_template_refs_stability ... ok
[INFO] [stdout] test sort::keys::tests::test_lex_key_srr_names_differ_from_natural ... ok
[INFO] [stdout] test sort::keys::tests::test_lex_key_variable_length ... ok
[INFO] [stdout] test sort::keys::tests::test_lex_vs_natural_ordering_difference ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_adjacent_numeric_runs ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_all_zeros_tiebreak_by_length ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_alpha_only::case_1 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_alpha_only::case_2 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_alpha_only::case_3 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_alpha_only::case_4 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_alpha_only::case_5 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_alpha_only::case_6 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_alpha_only::case_7 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_digits_before_nondigits::case_1 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_digits_before_nondigits::case_2 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_digits_before_nondigits::case_3 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_digits_before_nondigits::case_4 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_digits_before_nondigits::case_5 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_digits_before_nondigits::case_6 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_digits_before_nondigits::case_7 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_empty_and_single::case_1 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_empty_and_single::case_2 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_empty_and_single::case_3 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_empty_and_single::case_4 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_empty_and_single::case_5 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_empty_and_single::case_6 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_empty_and_single::case_7 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_high_bytes ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_illumina_names::case_1 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_illumina_names::case_2 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_illumina_names::case_3 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_illumina_names::case_4 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_illumina_names::case_5 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_illumina_names::case_6 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_illumina_names::case_7 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_01 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_02 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_03 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_04 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_05 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_06 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_07 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_08 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_09 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_10 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_11 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros::case_12 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_leading_zeros_tiebreak_by_length ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_long_numeric_runs ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_01 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_02 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_03 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_04 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_05 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_06 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_07 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_08 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_09 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_10 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_mixed_alphanumeric::case_11 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_01 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_02 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_03 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_04 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_05 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_06 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_07 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_08 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_09 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_11 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multidigit::case_10 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_multiple_numeric_segments ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_numeric_then_suffix::case_1 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_numeric_then_suffix::case_2 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_numeric_then_suffix::case_3 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_numeric_then_suffix::case_4 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_prefix_relationships::case_1 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_prefix_relationships::case_2 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_prefix_relationships::case_3 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_prefix_relationships::case_4 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_prefix_relationships::case_5 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_prefix_relationships::case_6 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_samtools_name2_sort_order ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_samtools_name_sort_order ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_single_digit::case_1 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_single_digit::case_2 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_single_digit::case_3 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_single_digit::case_4 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_sort_illumina_batch ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_sort_mixed_name_formats ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_srr_names::case_1 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_srr_names::case_2 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_srr_names::case_3 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_srr_names::case_4 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_srr_names::case_5 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_srr_names::case_6 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_srr_names::case_7 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_srr_names::case_8 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_strnum_cmp_compat_numeric_then_string ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_strnum_cmp_compat_numeric_vs_alpha_boundary ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_reflexive ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_synthetic_names::case_1 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_synthetic_names::case_2 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_synthetic_names::case_3 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_synthetic_names::case_4 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_synthetic_names::case_5 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_synthetic_names::case_6 ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_symmetry ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_u64_overflow_boundary ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_key_natural_ordering ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_comparator_default_is_lexicographic ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_comparator_display ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_complete_sort_order ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_edge_case_both_r1_r2 ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_exact_transformation_values ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_from_test_data ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_irrelevant_flags_do_not_affect_order ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_is_const ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_none_before_r1_before_r2 ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_primary_before_supplementary_before_secondary ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_r1_before_r2 ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_flag_order_real_world_flags ... ok
[INFO] [stdout] test sort::keys::tests::test_queryname_keys_embedded_in_record ... ok
[INFO] [stdout] test sort::keys::tests::test_sort_order_header_go_tag ... ok
[INFO] [stdout] test sort::keys::tests::test_sort_order_header_so_tag ... ok
[INFO] [stdout] test sort::keys::tests::test_sort_order_header_ss_tag ... ok
[INFO] [stdout] test sort::keys::tests::test_sort_order_is_queryname ... ok
[INFO] [stdout] test sort::keys::tests::test_sort_order_queryname_comparator ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_all_same_keys_stable ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_interleaved_merge ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_k_equals_7 ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_large_fan_in ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_many_sources_descending_keys ... ok
[INFO] [stdout] test sort::keys::tests::test_natural_compare_transitivity ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_merge_longer_sequences ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_merge_three_sorted_sequences ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_merge_with_duplicates_stable ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_non_power_of_two ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_single_source ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_three_sources ... ok
[INFO] [stdout] test sort::loser_tree::tests::test_two_sources ... ok
[INFO] [stdout] test sort::memory_probe::tests::test_fmt_bytes_units ... ok
[INFO] [stdout] test sort::memory_probe::tests::test_log_snapshot_does_not_panic_without_logger ... ok
[INFO] [stdout] test sort::memory_probe::tests::test_merge_probe_samples_at_interval ... ok
[INFO] [stdout] test sort::memory_probe::tests::test_process_rss_bytes_returns_plausible_value ... ok
[INFO] [stdout] test sort::memory_probe::tests::test_spill_probe_increments ... ok
[INFO] [stdout] test sort::pipeline::tests::test_config_custom_values ... ok
[INFO] [stdout] test sort::pipeline::tests::test_config_default ... ok
[INFO] [stdout] test sort::pipeline::tests::test_config_single_thread ... ok
[INFO] [stdout] test sort::pipeline::tests::test_merge_buffer_size ... ok
[INFO] [stdout] test sort::pipeline::tests::test_merge_entry_equal_keys ... ok
[INFO] [stdout] test sort::pipeline::tests::test_merge_entry_greater_than ... ok
[INFO] [stdout] test sort::pipeline::tests::test_merge_entry_in_binary_heap ... ok
[INFO] [stdout] test sort::pipeline::tests::test_merge_entry_ordering ... ok
[INFO] [stdout] test sort::pipeline::tests::test_merge_entry_ordering_ignores_chunk_idx ... ok
[INFO] [stdout] test sort::pipeline::tests::test_merge_entry_partial_eq ... ok
[INFO] [stdout] test sort::pipeline::tests::test_merge_entry_partial_eq_different ... ok
[INFO] [stdout] test sort::pipeline::tests::test_merge_entry_string_keys ... ok
[INFO] [stdout] test sort::pipeline::tests::test_prefetch_buffer_size ... ok
[INFO] [stdout] test sort::pooled_bam_writer::tests::test_drop_before_finish ... ok
[INFO] [stdout] test sort::pooled_bam_writer::tests::test_pooled_bam_writer_empty ... ok
[INFO] [stdout] test sort::pooled_bam_writer::tests::test_pooled_bam_writer_oversized_record ... ok
[INFO] [stdout] test sort::pooled_bam_writer::tests::test_pooled_bam_writer_many_records ... ok
[INFO] [stdout] test sort::pooled_bam_writer::tests::test_pooled_bam_writer_raw_bytes_match ... ok
[INFO] [stdout] test sort::pooled_bam_writer::tests::test_pooled_bam_writer_roundtrip ... ok
[INFO] [stdout] test sort::pooled_chunk_writer::tests::test_drop_before_finish ... ok
[INFO] [stdout] test sort::pooled_chunk_writer::tests::test_pooled_writer_empty ... ok
[INFO] [stdout] test sort::pooled_chunk_writer::tests::test_pooled_writer_roundtrip ... ok
[INFO] [stdout] test sort::pooled_chunk_writer::tests::test_spill_write_handle_drop_without_wait ... ok
[INFO] [stdout] test sort::pooled_chunk_writer::tests::test_start_finish_and_wait ... ok
[INFO] [stdout] test sort::radix::tests::test_bytes_needed ... ok
[INFO] [stdout] test sort::radix::tests::test_heap_operations ... ok
[INFO] [stdout] test sort::radix::tests::test_insertion_sort ... ok
[INFO] [stdout] test sort::pooled_chunk_writer::tests::test_pooled_writer_large_records ... ok
[INFO] [stdout] test sort::radix::tests::test_insertion_sort_by_key ... ok
[INFO] [stdout] test sort::radix::tests::test_insertion_sort_by_key_packed ... ok
[INFO] [stdout] test sort::radix::tests::test_pack_coordinate_for_radix ... ok
[INFO] [stdout] test sort::radix::tests::test_packed_coordinate_key ... ok
[INFO] [stdout] test sort::radix::tests::test_packed_coordinate_key_unmapped ... ok
[INFO] [stdout] test sort::radix::tests::test_radix_sort_adaptive ... ok
[INFO] [stdout] test sort::raw::tests::test_create_output_header_coordinate ... ok
[INFO] [stdout] test sort::radix::tests::test_radix_sort_coordinate_adaptive_large ... ok
[INFO] [stdout] test sort::raw::tests::test_create_output_header_queryname ... ok
[INFO] [stdout] test sort::raw::tests::test_create_output_header_template_coordinate ... ok
[INFO] [stdout] test sort::raw::tests::test_extract_template_key_cb_absent_has_zero_hash ... ok
[INFO] [stdout] test sort::raw::tests::test_extract_template_key_cb_hash_is_deterministic ... ok
[INFO] [stdout] test sort::raw::tests::test_extract_template_key_cb_present_has_nonzero_hash ... ok
[INFO] [stdout] test sort::raw::tests::test_extract_template_key_cell_tag_none_has_zero_hash ... ok
[INFO] [stdout] test sort::raw::tests::test_extract_template_key_different_cb_values_differ ... ok
[INFO] [stdout] test sort::raw::tests::test_extract_template_key_unmapped_with_cb ... ok
[INFO] [stdout] test sort::raw::tests::test_find_rg_tag::case_1_present ... ok
[INFO] [stdout] test sort::raw::tests::test_find_rg_tag::case_2_absent ... ok
[INFO] [stdout] test sort::raw::tests::test_find_rg_tag_after_other_tags ... ok
[INFO] [stdout] test sort::raw::tests::test_library_lookup_empty_header ... ok
[INFO] [stdout] test sort::raw::tests::test_library_lookup_multiple_libraries ... ok
[INFO] [stdout] test sort::raw::tests::test_library_lookup_single_rg ... ok
[INFO] [stdout] test sort::raw::tests::test_library_lookup_unknown_rg_returns_zero ... ok
[INFO] [stdout] test sort::raw::tests::test_merge_bams_coordinate_sort ... ok
[INFO] [stdout] test sort::raw::tests::test_merge_bams_preserves_all_records ... ok
[INFO] [stdout] test sort::raw::tests::test_merge_bams_queryname_natural_sort ... ok
[INFO] [stdout] test sort::raw::tests::test_merge_bams_many_inputs ... ok
[INFO] [stdout] test sort::raw::tests::test_merge_bams_single_input ... ok
[INFO] [stdout] test sort::raw::tests::test_merge_bams_queryname_sort ... ok
[INFO] [stdout] test sort::raw::tests::test_raw_sorter_builder_chain ... ok
[INFO] [stdout] test sort::raw::tests::test_raw_sorter_cell_tag_builder ... ok
[INFO] [stdout] test sort::raw::tests::test_raw_sorter_cell_tag_default_is_none ... ok
[INFO] [stdout] test sort::raw::tests::test_raw_sorter_defaults ... ok
[INFO] [stdout] test sort::raw::tests::test_raw_sorter_max_temp_files ... ok
[INFO] [stdout] test sort::raw::tests::test_raw_sorter_memory_limit ... ok
[INFO] [stdout] test sort::raw::tests::test_raw_sorter_temp_compression ... ok
[INFO] [stdout] test sort::raw::tests::test_merge_bams_template_coordinate_sort ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_many_chunks_with_semaphore::case_1_coordinate ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_many_chunks_with_semaphore::case_2_queryname ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_many_chunks_with_semaphore::case_3_queryname_natural ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_phase_timer_all_methods ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_many_chunks_with_semaphore::case_4_template_coordinate ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_sub_arrays_in_memory_only::case_2_queryname ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_sub_arrays_in_memory_only::case_3_queryname_natural ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_sub_arrays_in_memory_only::case_4_template_coordinate ... ok
[INFO] [stdout] test commands::simplex::tests::test_end_to_end_paired_end_workflow ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_sub_arrays_match_single_thread::case_1_coordinate ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_sub_arrays_match_single_thread::case_2_queryname ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_sub_arrays_match_single_thread::case_3_queryname_natural ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_sub_arrays_in_memory_only::case_1_coordinate ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_sub_arrays_match_single_thread::case_4_template_coordinate ... ok
[INFO] [stdout] test prefetch_reader::tests::prop_byte_identical_to_cursor ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_with_consolidation_preserves_all_records::case_1_coordinate ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_with_consolidation_preserves_all_records::case_3_queryname ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_with_consolidation_preserves_all_records::case_2_coordinate_with_index ... ok
[INFO] [stdout] test sort::raw::tests::test_split_off_aligns_with_par_chunks_mut ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_batched_reader ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_batched_reader_eof ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_blocks_per_batch ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_from_buf_reader ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_iterator_adapter ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_with_consolidation_preserves_all_records::case_4_queryname_natural ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_new_empty_input ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_new_invalid_magic ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_next_record_without_skip_header_errors ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_new_valid_bam ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_read_multiple_records ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_read_single_record ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_skip_header_returns_bytes ... ok
[INFO] [stdout] test sort::raw_bam_reader::tests::test_skip_header_twice_errors ... ok
[INFO] [stdout] test sort::read_ahead::tests::test_default_batch_config ... ok
[INFO] [stdout] test sort::read_ahead::tests::test_prefetch_total_records ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_with_consolidation_preserves_all_records::case_5_template_coordinate ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_clear_resets ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_consecutive_writes_same_segment ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_extend_and_len ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_many_segments ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_memory_usage_includes_gaps ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_new_is_empty ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_offset_accounting_with_gaps ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_realistic_record_pattern ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_reserve_contiguous_then_multi_part_write ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_segment_boundary ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_slice_retrieval ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_spill_to_new_segment_when_not_enough_room ... ok
[INFO] [stdout] test sort::segmented_buf::tests::test_write_exceeding_segment_panics - should panic ... ok
[INFO] [stdout] test sort::tests::test_create_output_header_clears_stale_sort_tags ... ok
[INFO] [stdout] test sort::tests::test_create_output_header_no_existing_hd ... ok
[INFO] [stdout] test sort::tests::test_create_output_header_preserves_vn ... ok
[INFO] [stdout] test sort::tests::test_create_temp_dir_default ... ok
[INFO] [stdout] test sort::tests::test_create_temp_dir_with_base ... ok
[INFO] [stdout] test sort::tests::test_sort_stats_default ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_all_dirs_below_threshold_errors ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_initial_free_space_filter ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_mark_full_all_exhausts ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_mark_full_at_cursor_wraps_cleanly ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_mark_full_preserves_round_robin_order ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_mark_full_skips_dir ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_new_empty_errors ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_periodic_recheck_drops_dir ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_periodic_recheck_preserves_round_robin_order ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_single_dir_always_returns_same ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_startup_filter_honors_threshold_argument ... ok
[INFO] [stdout] test sort::tmp_dir_alloc::tests::test_two_dirs_round_robin ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_admission_at_cap_poppable_rejects ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_admission_at_cap_stuck_admits_gap_filler ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_admission_at_cap_stuck_wrong_head_rejects ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_admission_empty_raw_returns_none ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_admission_under_cap_admits ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_buffer_pool_checkout_empty ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_buffer_pool_full_drops_excess ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_buffer_pool_recycle ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_is_drained_blocks_on_pending_decompressed ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_is_drained_blocks_on_pending_raw ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_is_drained_respects_in_flight_counter ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_pipeline_stats_log_summary_does_not_panic ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_pipeline_stats_record_step_and_idle ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_pool_compress_roundtrip ... ok
[INFO] [stdout] test sort::read_ahead::tests::test_raw_read_ahead_empty ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_pool_many_jobs ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_pool_stats ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_pool_stats_log_summary ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_sort_priorities_legacy_returns_compress_only ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_sort_priorities_phase1_all_done_returns_empty ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_sort_priorities_phase1_compress_backpressure ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_sort_priorities_phase1_default_feeds_main_thread ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_sort_priorities_phase2_after_eof_still_drains_files ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_sort_priorities_phase2_compress_backpressure ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_sort_priorities_phase2_default_feeds_merge_loop ... ok
[INFO] [stdout] test sort::worker_pool::tests::test_worker_pool_num_workers ... ok
[INFO] [stdout] test system::tests::test_detect_cpu_count_at_least_one ... ok
[INFO] [stdout] test system::tests::test_detect_cpu_count_reasonable ... ok
[INFO] [stdout] test system::tests::test_detect_total_memory_nonzero ... ok
[INFO] [stdout] test system::tests::test_detect_total_memory_bounded_by_physical ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_buf_value_all_array_types::case_1 ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_buf_value_all_array_types::case_2 ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_buf_value_all_array_types::case_3 ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_buf_value_all_array_types::case_5 ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_buf_value_all_array_types::case_4 ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_buf_value_all_array_types::case_6 ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_buf_value_all_array_types::case_7 ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_buf_value_non_array ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_per_base_tags_raw_negative_strand ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_per_base_tags_raw_positive_strand ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_per_base_tags_raw_revcomp_string_tags::case_1 ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_per_base_tags_raw_revcomp_string_tags::case_2 ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_per_base_tags_raw_short_record ... ok
[INFO] [stdout] test tag_reversal::tests::test_reverse_per_base_tags_raw_string_tag_aq ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_both_unmapped ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_clears_incorrect_mate_reverse_flag ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_multiple_supplementals ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_no_mate_primary ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_no_ms_tag_without_as ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_one_unmapped ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_full_mate_info_on_r1_supplementals ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_full_mate_info_on_r2_supplementals ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_mate_cigar ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_ms_tag_on_supplementals ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_ms_tag_with_int16_as ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_ms_tag_with_int32_as ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_ms_tag_with_int8_as ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_ms_tag_with_uint8_as ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_tlen_normal_innie ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_tlen_on_multiple_supplementals ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_tlen_on_r1_supplementals ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_sets_tlen_on_r2_supplementals ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_supplemental_with_unmapped_mate ... ok
[INFO] [stdout] test template::tests::test_fix_mate_info_tlen_recalculated ... ok
[INFO] [stdout] test template::tests::test_from_records_error_empty ... ok
[INFO] [stdout] test template::tests::test_from_records_error_multiple_r1 ... ok
[INFO] [stdout] test template::tests::test_from_records_error_multiple_r2 ... ok
[INFO] [stdout] test template::tests::test_from_records_error_name_mismatch ... ok
[INFO] [stdout] test template::tests::test_from_records_single_r1 ... ok
[INFO] [stdout] test template::tests::test_from_records_paired ... ok
[INFO] [stdout] test template::tests::test_from_records_supplementary ... ok
[INFO] [stdout] test template::tests::test_from_records_truncated_header ... ok
[INFO] [stdout] test template::tests::test_from_records_truncated_read_name ... ok
[INFO] [stdout] test template::tests::test_into_records_consumes ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_different_chromosomes ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_fr_from_reverse_read ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_fr_pair ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_no_r1 ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_no_r2 ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_r1_unmapped ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_r2_unmapped ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_rf_pair ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_tandem_both_forward ... ok
[INFO] [stdout] test template::tests::test_pair_orientation_tandem_both_reverse ... ok
[INFO] [stdout] test template::tests::test_primary_reads_iter ... ok
[INFO] [stdout] test template::tests::test_r1_secondaries_range ... ok
[INFO] [stdout] test template::tests::test_r1_supplementals_range ... ok
[INFO] [stdout] test template::tests::test_r2_secondaries_range ... ok
[INFO] [stdout] test template::tests::test_r2_supplementals_range ... ok
[INFO] [stdout] test template::tests::test_read_count_with_supplementals ... ok
[INFO] [stdout] test template::tests::test_template_from_records_basic ... ok
[INFO] [stdout] test template::tests::test_record_ordering_within_groups_is_reversed ... ok
[INFO] [stdout] test template::tests::test_template_new ... ok
[INFO] [stdout] test sort::read_ahead::tests::test_raw_read_ahead_multiple ... ok
[INFO] [stdout] test template::tests::test_template_record_ordering ... ok
[INFO] [stdout] test template::tests::test_write_with_offset_matches_to_string ... ok
[INFO] [stdout] test template::tests::test_write_with_offset_paired_a ... ok
[INFO] [stdout] test template::tests::test_write_with_offset_none ... ok
[INFO] [stdout] test template::tests::test_write_with_offset_paired_b ... ok
[INFO] [stdout] test template::tests::test_write_with_offset_reuses_buffer ... ok
[INFO] [stdout] test template::tests::test_write_with_offset_single ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_discover_edges_parallel_chain ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_discover_edges_parallel_k2 ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_discover_edges_parallel_k1 ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_edit_equivalence_with_sequential ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_generate_neighbors ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_generate_neighbors_k2 ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_adjacency_count_constraint ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_adjacency_cascade ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_adjacency_basic ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_adjacency_deterministic_tiebreak ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_adjacency_empty ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_adjacency_paired_umis_with_dash ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_adjacency_single ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_case_insensitive ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_basic ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_adjacency_vs_parallel_adjacency_deterministic ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_empty ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_identical_umis ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_invalid_umis ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_k2 ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_paired_umis_with_dash ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_transitive ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_single ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_edit_vs_parallel_edit_deterministic ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_identity_case_insensitive ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_identity_empty ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_identity_basic ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_identity_deterministic ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_identity_many_duplicates ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_identity_single ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_paired_basic ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_paired_canonicalization_mixed_case ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_paired_canonicalization ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_union_find_basic ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_parallel_paired_with_errors ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_union_find_large ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_can_decode_proceed_no_limit ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_can_decode_proceed_over_limit_but_needed_serial ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_can_decompress_proceed_no_limit ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_can_decode_proceed_under_limit ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_can_decompress_proceed_over_limit ... ok
[INFO] [stdout] test umi::parallel_assigner::tests::test_union_find_parallel ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_can_decompress_proceed_over_limit_but_needed_serial ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_can_decompress_proceed_under_limit ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_decode_held_blocked_by_full_q3 ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_decode_held_pushes_unconditionally_when_q3_has_room ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_decompress_held_blocked_by_full_q2 ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_decompress_held_pushes_unconditionally_when_q2_has_room ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_is_memory_drained_threshold ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_pipeline_functions_secondary_serialize ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_is_memory_high_threshold ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_detects_counter_mismatch_boundary_processed ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_detects_counter_mismatch_decompressed ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_detects_counter_mismatch_grouped ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_detects_non_empty_output_queue ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_detects_non_empty_q1 ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_detects_non_empty_q2 ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_detects_non_empty_q3_reorder ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_detects_non_empty_reorder_buffer ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_detects_non_empty_write_reorder ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_error_display ... ok
[INFO] [stdout] test unified_pipeline::bam::tests::test_validation_passes_when_complete ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_bgzf_batch_config_default ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_bgzf_batch_config_new ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_compress_advanced_held_survives_p5_toctou_failure ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_compress_held_next_seq_advances_normally ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_compress_held_pushes_unconditionally ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_compress_held_blocked_by_full_q6 ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_compress_memory_high_does_not_block_new_work ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_compress_no_held_empty_q5_returns_input_empty ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_compressed_block_batch_clear ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_compressed_block_batch_memory_with_secondary ... ok
[INFO] [stdout] test sort::raw::tests::test_sort_with_two_temp_dirs_matches_single_dir ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_compressed_block_batch_new ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_decompressed_batch_new_empty ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_decoded_record_raw_accessor ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_extract_panic_message_other ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_extract_panic_message_str ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_extract_panic_message_string ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_eq ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_hash ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_default ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_ord_by_position ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_paired ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_paired_same_position ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_ord_tiebreak_name_hash ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_position_key ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_single ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_group_key_paired_swap ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_estimate_decompressed_batch ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_estimate_serialized_batch ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_estimate_unit ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_default_is_unlimited ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_drain_threshold ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_new ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_peak_tracking ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_estimate_vec_record_buf ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_is_at_limit ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_remove_saturating ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_try_add_at_limit ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_try_add_under_limit ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_unlimited ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_output_queues_are_queues_empty ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_memory_tracker_try_add_single_exceeds ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_output_queues_draining ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_output_queues_queue_depths_empty ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_output_queues_set_take_error ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_config_auto_tuned_1_thread ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_config_auto_tuned_32_threads ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_config_auto_tuned_8_threads ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_output_queues_new ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_config_builder_chain ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_config_new_defaults ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_config_with_compression_level ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_config_with_queue_memory_limit ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_config_with_batch_size_min_1 ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_step_all ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_step_from_index ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_step_is_exclusive ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_step_short_name ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_raw_block_batch_new_empty ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_raw_block_batch_with_capacity ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_validation_error_display_full ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_pipeline_validation_error_display_empty ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_reorder_buffer_state_add_sub_heap_bytes ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_reorder_buffer_state_can_proceed_over_limit ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_reorder_buffer_state_can_proceed_next_seq ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_reorder_buffer_state_effective_limit ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_reorder_buffer_state_is_memory_drained ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_reorder_buffer_state_is_memory_high ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_reorder_buffer_state_new ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_serialized_batch_clear ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_serialized_batch_memory_estimate_with_secondary ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_serialized_batch_memory_estimate_without_secondary ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_stats_record_idle_for_thread ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_stats_record_step_timing ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_step_result_is_success ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_stats_record_queue_empty ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_step_result_variants ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_stats_record_step_for_thread ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_worker_core_state_initial_values ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_worker_core_state_reset_backoff ... ok
[INFO] [stdout] test unified_pipeline::base::tests::test_worker_core_state_increase_backoff ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_config_default ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_config_disabled ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_detection_disabled_returns_none ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_deadlock_detected_after_timeout ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_disabled_state_skips_tracking ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_get_memory_limit ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_no_deadlock_on_empty_queues_stale_timestamp ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_no_detection_before_timeout ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_no_restoration_before_30s ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_recovery_caps_at_8x ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_recovery_disabled_only_logs ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_recovery_doubles_limit ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_recovery_updates_stable_limit ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_restoration_after_30s_progress ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_restoration_from_unbounded ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_restoration_respects_stable_limit ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_stable_limit_never_decreases ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_active_steps::case_1_gzip ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_active_steps::case_2_bgzf ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_align_stream_records_equal ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_align_stream_records_unequal ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_bam_pipeline_config ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_bgzf_batch_config ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_block_merge_cross_block_record ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_block_merge_r1_surplus_carries ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_block_merge_r2_surplus_carries ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_block_merge_state_empty ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_block_merge_state_out_of_order_insertion ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_block_merge_state_single_stream_basic ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_block_parse_entire_buffer_is_prefix ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_block_parse_split_prefix_middle_suffix ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_block_parse_starts_on_boundary ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_compressed_block_batch ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_config_defaults ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_create_templates_from_correctly_ordered_streams ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_create_templates_from_reversed_streams ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_decompressed_batch ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_prefix_end_at_in_quality_is_not_boundary ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_prefix_end_empty ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_prefix_end_insufficient_data ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_prefix_end_mid_record ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_prefix_end_single_record ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_prefix_end_starts_on_boundary ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_suffix_start_empty ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_suffix_start_ends_mid_record ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_suffix_start_ends_on_boundary ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_suffix_start_insufficient_data ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_suffix_start_multiple_records ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_detect_suffix_start_single_record_whole_buffer ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_progress_timestamp_updates_on_pop ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_per_queue_timestamps_independent ... ok
[INFO] [stdout] test unified_pipeline::deadlock::tests::test_progress_timestamp_updates_on_push ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_end_to_end_reversed_stream_order_at_eof ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_boundary_batch_memory_estimate ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_backpressure_reports_write_reorder_memory ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_decompressed_batch_memory_estimate ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_parsed_batch_memory_estimate ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_record_from_slice_at_in_quality ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_record_from_slice_mismatched_lengths ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_record_from_slice_empty_data ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_record_from_slice_no_leading_at ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_record_from_slice_no_trailing_newline ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_fastq_record_from_slice_normal ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_find_boundaries_aligns_unequal_record_counts ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_find_boundaries_empty_batch_with_leftover ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_find_boundaries_leftover_persists_to_next_batch ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_find_boundaries_equal_counts_no_alignment_needed ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_find_boundaries_processes_leftover_without_new_chunk ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_find_boundaries_single_stream_no_alignment ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_pair_state_basic ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_pair_state_count_based_completion ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_pair_state_insert_and_pop ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_pair_state_uneven_streams ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_parallel_parse_boundary_finding_integration ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_parallel_parse_records_spanning_chunks ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_parse_records_preserves_stream_idx ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_pipeline_config ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_pipeline_step_is_exclusive ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_pipeline_step_all ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_prefix_suffix_round_trip ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_parallel_parse_thread_safety ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_raw_block_batch ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_read_n_fastq_records_at_eof ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_read_n_fastq_records_basic ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_read_n_fastq_records_empty_input ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_read_raw_blocks_from_memory ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_serialized_batch ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_stitch_cross_block_record_both_empty ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_stitch_cross_block_record_valid ... ok
[INFO] [stdout] test unified_pipeline::queue::tests::test_ordered_queue_backpressure_when_has_next ... ok
[INFO] [stdout] test unified_pipeline::queue::tests::test_ordered_queue_backpressure_memory_bound ... ok
[INFO] [stdout] test unified_pipeline::queue::tests::test_ordered_queue_basic ... ok
[INFO] [stdout] test unified_pipeline::rebalancer::tests::test_initial_allocation ... ok
[INFO] [stdout] test unified_pipeline::queue::tests::test_ordered_queue_must_accept_when_waiting ... ok
[INFO] [stdout] test unified_pipeline::rebalancer::tests::test_parse_memory_limit ... ok
[INFO] [stdout] test unified_pipeline::rebalancer::tests::test_parse_memory_limit_minimum ... ok
[INFO] [stdout] test unified_pipeline::rebalancer::tests::test_rebalancer_gradual_change ... ok
[INFO] [stdout] test unified_pipeline::rebalancer::tests::test_rebalancer_basic ... ok
[INFO] [stdout] test unified_pipeline::scheduler::backpressure_proportional::tests::test_initial_balanced_weights ... ok
[INFO] [stdout] test unified_pipeline::scheduler::backpressure_proportional::tests::test_input_low_increases_upstream ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase::tests::test_bottleneck_always_in_top_priorities ... ok
[INFO] [stdout] test unified_pipeline::scheduler::backpressure_proportional::tests::test_output_high_increases_downstream ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase::tests::test_exclusive_role_first_in_priorities ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase::tests::test_middle_thread_no_exclusive_role ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase::tests::test_reader_starts_on_compress ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase::tests::test_writer_starts_on_compress ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_compress_preferred_at_8_threads ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase::tests::test_pivot_to_compress_after_exclusive ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_compress_preferred_below_8_threads::case_1 ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_compress_preferred_below_8_threads::case_2 ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_compress_preferred_below_8_threads::case_3 ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_compress_preferred_below_8_threads::case_4 ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_compress_preferred_below_8_threads::case_5 ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_compress_preferred_below_8_threads::case_6 ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_compress_preferred_drain_mode ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_compress_preferred_priorities ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_drain_mode_exits_when_backpressure_clears ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_drain_mode_prioritizes_compress ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_memory_high_prioritizes_process ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_normal_mode_serializes_first ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_reader_starts_on_compress ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase_drain::tests::test_serialize_failure_triggers_drain_mode ... ok
[INFO] [stdout] test unified_pipeline::scheduler::chase_bottleneck::tests::test_backpressure_input_low_sets_backward ... ok
[INFO] [stdout] test unified_pipeline::scheduler::chase_bottleneck::tests::test_backpressure_output_high_sets_forward ... ok
[INFO] [stdout] test unified_pipeline::scheduler::chase_bottleneck::tests::test_get_priorities_returns_all_steps ... ok
[INFO] [stdout] test unified_pipeline::scheduler::chase_bottleneck::tests::test_initial_step_middle ... ok
[INFO] [stdout] test unified_pipeline::scheduler::chase_bottleneck::tests::test_initial_step_reader ... ok
[INFO] [stdout] test unified_pipeline::scheduler::chase_bottleneck::tests::test_initial_step_writer ... ok
[INFO] [stdout] test unified_pipeline::scheduler::chase_bottleneck::tests::test_move_on_failure_backward ... ok
[INFO] [stdout] test unified_pipeline::scheduler::chase_bottleneck::tests::test_move_on_failure_forward ... ok
[INFO] [stdout] test unified_pipeline::scheduler::chase_bottleneck::tests::test_sticky_on_success ... ok
[INFO] [stdout] test unified_pipeline::scheduler::epsilon_greedy::tests::test_priorities_returns_all_steps ... ok
[INFO] [stdout] test unified_pipeline::scheduler::epsilon_greedy::tests::test_default_epsilon ... ok
[INFO] [stdout] test unified_pipeline::scheduler::epsilon_greedy::tests::test_success_rate_calculation ... ok
[INFO] [stdout] test unified_pipeline::scheduler::epsilon_greedy::tests::test_unexplored_neutral_prior ... ok
[INFO] [stdout] test unified_pipeline::scheduler::fixed_priority::tests::test_backpressure_drain ... ok
[INFO] [stdout] test unified_pipeline::scheduler::fixed_priority::tests::test_backpressure_fill ... ok
[INFO] [stdout] test unified_pipeline::scheduler::fixed_priority::tests::test_backpressure_fill_not_when_read_done ... ok
[INFO] [stdout] test unified_pipeline::scheduler::fixed_priority::tests::test_boundary_specialist_early ... ok
[INFO] [stdout] test unified_pipeline::scheduler::fixed_priority::tests::test_boundary_specialist_late ... ok
[INFO] [stdout] test unified_pipeline::scheduler::fixed_priority::tests::test_reader_priorities ... ok
[INFO] [stdout] test unified_pipeline::scheduler::fixed_priority::tests::test_two_threads ... ok
[INFO] [stdout] test unified_pipeline::scheduler::fixed_priority::tests::test_writer_priorities ... ok
[INFO] [stdout] test unified_pipeline::scheduler::hybrid_adaptive::tests::test_consecutive_counter_reset ... ok
[INFO] [stdout] test unified_pipeline::scheduler::hybrid_adaptive::tests::test_return_to_fixed_after_successes ... ok
[INFO] [stdout] test unified_pipeline::scheduler::hybrid_adaptive::tests::test_starts_in_fixed_mode ... ok
[INFO] [stdout] test unified_pipeline::scheduler::hybrid_adaptive::tests::test_switch_to_chase_after_failures ... ok
[INFO] [stdout] test unified_pipeline::scheduler::learned_affinity::tests::test_affinity_learning ... ok
[INFO] [stdout] test unified_pipeline::scheduler::learned_affinity::tests::test_exploration_decay ... ok
[INFO] [stdout] test unified_pipeline::scheduler::learned_affinity::tests::test_initial_exploration_rate ... ok
[INFO] [stdout] test unified_pipeline::scheduler::learned_affinity::tests::test_minimum_exploration_rate ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_bottleneck_steps_in_priorities ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_bottleneck_stickiness ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_exclusive_backoff_after_contention ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_middle_threads_start_on_bottleneck ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_priorities_returns_all_steps ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_specialist_no_backoff ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_thread_0_is_reader_specialist ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_thread_1_is_boundary_specialist ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_thread_6_is_group_specialist ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_thread_7_is_writer_specialist ... ok
[INFO] [stdout] test unified_pipeline::scheduler::optimized_chase::tests::test_wrap_to_parallel_steps ... ok
[INFO] [stdout] test unified_pipeline::scheduler::sticky_work_stealing::tests::test_reader_home_step ... ok
[INFO] [stdout] test unified_pipeline::scheduler::sticky_work_stealing::tests::test_return_home_after_threshold ... ok
[INFO] [stdout] test unified_pipeline::scheduler::sticky_work_stealing::tests::test_sticky_on_success ... ok
[INFO] [stdout] test unified_pipeline::scheduler::sticky_work_stealing::tests::test_writer_home_step ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_01_fixed_priority ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_02_chase_bottleneck ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_03_thompson_sampling ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_04_ucb ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_05_epsilon_greedy ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_06_thompson_with_priors ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_07_hybrid_adaptive ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_08_backpressure_proportional ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_09_two_phase ... ok
[INFO] [stdout] test unified_pipeline::scheduler::balanced_chase::tests::test_zero_threads_panics - should panic ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_10_sticky_work_stealing ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_11_learned_affinity ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_12_optimized_chase ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_13_balanced_chase ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_create_scheduler::case_14_balanced_chase_drain ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_exclusive_step_ownership_eight_threads ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_exclusive_step_ownership_small_thread_counts ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_exclusive_ownership_all_strategies ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_four_thread_edge_case ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_scheduler_strategy_default ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_should_attempt_step_exclusive_only_owner ... ok
[INFO] [stdout] test unified_pipeline::scheduler::tests::test_should_attempt_step_parallel_always_allowed ... ok
[INFO] [stdout] test unified_pipeline::scheduler::thompson_sampling::tests::test_get_priorities_returns_all_steps ... ok
[INFO] [stdout] test unified_pipeline::scheduler::thompson_sampling::tests::test_initial_uniform_prior ... ok
[INFO] [stdout] test unified_pipeline::scheduler::thompson_sampling::tests::test_learned_preference ... ok
[INFO] [stdout] test unified_pipeline::scheduler::thompson_sampling::tests::test_update_on_failure ... ok
[INFO] [stdout] test unified_pipeline::scheduler::thompson_with_priors::tests::test_boundary_thread_prior ... ok
[INFO] [stdout] test unified_pipeline::scheduler::thompson_sampling::tests::test_update_on_success ... ok
[INFO] [stdout] test unified_pipeline::scheduler::thompson_with_priors::tests::test_group_thread_prior ... ok
[INFO] [stdout] test unified_pipeline::scheduler::thompson_with_priors::tests::test_reader_thread_prior ... ok
[INFO] [stdout] test unified_pipeline::scheduler::thompson_with_priors::tests::test_writer_thread_prior ... ok
[INFO] [stdout] test unified_pipeline::scheduler::two_phase::tests::test_starts_in_startup_phase ... ok
[INFO] [stdout] test unified_pipeline::scheduler::two_phase::tests::test_transition_to_drain ... ok
[INFO] [stdout] test unified_pipeline::scheduler::ucb::tests::test_exploration_decreases_with_attempts ... ok
[INFO] [stdout] test unified_pipeline::scheduler::two_phase::tests::test_transition_to_steady_state ... ok
[INFO] [stdout] test unified_pipeline::scheduler::ucb::tests::test_unexplored_steps_prioritized ... ok
[INFO] [stdout] test unified_pipeline::scheduler::ucb::tests::test_high_success_rate_preferred ... ok
[INFO] [stdout] test validation::tests::test_parse_memory_size_edge_cases ... ok
[INFO] [stdout] test validation::tests::test_parse_memory_size_human_readable ... ok
[INFO] [stdout] test validation::tests::test_parse_memory_size_invalid ... ok
[INFO] [stdout] test validation::tests::test_parse_memory_size_overflow ... ok
[INFO] [stdout] test validation::tests::test_parse_memory_size_plain_numbers ... ok
[INFO] [stdout] test validation::tests::test_parse_memory_size_whitespace_handling ... ok
[INFO] [stdout] test validation::tests::test_parse_memory_size_zero ... ok
[INFO] [stdout] test validation::tests::test_validate_error_rate::case_1 ... ok
[INFO] [stdout] test validation::tests::test_validate_error_rate::case_2 ... ok
[INFO] [stdout] test validation::tests::test_validate_error_rate::case_3 ... ok
[INFO] [stdout] test validation::tests::test_validate_error_rate::case_4 ... ok
[INFO] [stdout] test validation::tests::test_validate_error_rate::case_5 ... ok
[INFO] [stdout] test validation::tests::test_validate_error_rate::case_7 ... ok
[INFO] [stdout] test validation::tests::test_validate_error_rate::case_6 ... ok
[INFO] [stdout] test validation::tests::test_validate_file_exists_invalid ... ok
[INFO] [stdout] test validation::tests::test_validate_file_exists_valid ... ok
[INFO] [stdout] test validation::tests::test_validate_files_exist_one_invalid ... ok
[INFO] [stdout] test validation::tests::test_validate_files_exist_all_valid ... ok
[INFO] [stdout] test validation::tests::test_validate_min_max_invalid ... ok
[INFO] [stdout] test validation::tests::test_validate_min_max_valid ... ok
[INFO] [stdout] test validation::tests::test_validate_positive_negative ... ok
[INFO] [stdout] test validation::tests::test_validate_positive_valid ... ok
[INFO] [stdout] test validation::tests::test_validate_positive_zero ... ok
[INFO] [stdout] test validation::tests::test_validate_quality_score::case_1 ... ok
[INFO] [stdout] test validation::tests::test_validate_quality_score::case_3 ... ok
[INFO] [stdout] test validation::tests::test_validate_quality_score::case_4 ... ok
[INFO] [stdout] test validation::tests::test_validate_quality_score::case_2 ... ok
[INFO] [stdout] test validation::tests::test_validate_quality_score::case_5 ... ok
[INFO] [stdout] test validation::tests::test_validate_quality_score::case_6 ... ok
[INFO] [stdout] test variant_review::tests::test_base_counts_add_base ... ok
[INFO] [stdout] test variant_review::tests::test_base_counts_ignore_non_bases ... ok
[INFO] [stdout] test variant_review::tests::test_base_counts_new ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_cross_contig_returns_na ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_fr_pair_f1r2 ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_fr_pair_f2r1 ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_mate_unmapped_returns_na ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_opposite_strand_tlen_zero_returns_na ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_rf_pair_returns_na ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_same_orientation_returns_na ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_second_of_pair_forward ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_second_of_pair_reverse ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_unmapped_returns_na ... ok
[INFO] [stdout] test variant_review::tests::test_read_number_suffix ... ok
[INFO] [stdout] test variant_review::tests::test_format_insert_string_unpaired ... ok
[INFO] [stdout] test variant_review::tests::test_variant_new ... ok
[INFO] [stdout] test variant_review::tests::test_variant_with_genotype_and_filters ... ok
[INFO] [stdout] test vendored::bgzf_multithreaded::tests::test_builder ... ok
[INFO] [stdout] test vendored::bgzf_multithreaded::tests::test_block_info_notifications ... ok
[INFO] [stdout] test vendored::bgzf_multithreaded::tests::test_eof_marker ... ok
[INFO] [stdout] test vendored::bgzf_multithreaded::tests::test_new_and_finish ... ok
[INFO] [stdout] test vendored::bgzf_multithreaded::tests::test_position_tracking_after_writes ... ok
[INFO] [stdout] test vendored::bgzf_multithreaded::tests::test_position_tracking_initial ... ok
[INFO] [stdout] test vendored::bgzf_multithreaded::tests::test_roundtrip ... ok
[INFO] [stdout] test vendored::bgzf_multithreaded::tests::test_multiple_workers ... ok
[INFO] [stdout] test vendored::bgzf_multithreaded::tests::test_large_data ... ok
[INFO] [stdout] test unified_pipeline::fastq::tests::test_discarded_push_causes_data_loss ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_generate_accurate_family_size_counts ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_count_umis_once_per_read_pair ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_count_unique_umi_observations_with_tag_families ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_handle_empty_umi_components ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_only_count_inserts_overlapping_interval_list ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_error_correct_umis_for_counting ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_generate_accurate_duplex_family_size_counts ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_downsampling_generates_multiple_fractions ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_only_count_inserts_overlapping_intervals ... ok
[INFO] [stdout] test commands::simplex_metrics::tests::test_generate_accurate_family_size_counts ... ok
[INFO] [stdout] test commands::simplex_metrics::tests::test_downsampling_generates_multiple_fractions ... ok
[INFO] [stdout] test commands::duplex_metrics::tests::test_respect_min_ab_and_min_ba_for_counting_duplexes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1864 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.48s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fgumi-883b2fa94ac62a43)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration/main.rs (/opt/rustwide/target/debug/deps/integration-23726e11f19605c0)
[INFO] [stdout] 
[INFO] [stdout] running 184 tests
[INFO] [stdout] test helpers::bam_generator::tests::test_create_paired_umi_family ... ok
[INFO] [stdout] test helpers::assertions::tests::test_assert_mi_tag ... ok
[INFO] [stdout] test helpers::bam_generator::tests::test_create_consensus_read ... ok
[INFO] [stdout] test helpers::bam_generator::tests::test_create_umi_family ... ok
[INFO] [stdout] test helpers::assertions::tests::test_assert_proper_pairing ... ok
[INFO] [stdout] test helpers::bam_generator::tests::test_create_minimal_header ... ok
[INFO] [stdout] test test_async_reader::test_sort_coordinate_async_reader_multithreaded ... ignored, requires samtools
[INFO] [stdout] test test_async_reader::test_sort_coordinate_async_reader_single_threaded ... ignored, requires samtools
[INFO] [stdout] test test_async_reader::test_sort_queryname_async_reader_multithreaded ... ignored, requires samtools
[INFO] [stdout] test test_async_reader::test_sort_template_coordinate_async_reader_multithreaded ... ignored, requires samtools
[INFO] [stdout] test test_bam_pipeline::test_bam_pipeline_empty_input ... ok
[INFO] [stdout] test test_bam_pipeline::test_bam_pipeline_passthrough ... ok
[INFO] [stdout] test test_bam_pipeline::test_error_corrupted_bgzf ... ok
[INFO] [stdout] test test_bam_pipeline::test_bam_pipeline_thread_counts ... ok
[INFO] [stdout] test test_bam_pipeline::test_error_grouper_fails ... ok
[INFO] [stdout] test test_bam_pipeline::test_error_input_file_not_found ... ok
[INFO] [stdout] test test_bam_pipeline::test_error_output_dir_not_found ... ok
[INFO] [stdout] test test_bam_pipeline::test_error_process_fn_fails ... ok
[INFO] [stdout] test test_bam_pipeline::test_error_serialize_fn_fails ... ok
[INFO] [stdout] test test_bam_pipeline::test_bam_pipeline_with_transform ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmpej3RAi/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input: /tmp/.tmpCskgL0/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input: /tmp/.tmpXK6NPR/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input: -
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmp2VfJ2P/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Starting CODEC consensus calling
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Clip
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Input: -
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Input: /tmp/.tmp5cCEPq/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Input: /tmp/.tmpqABugW/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Output: /tmp/.tmpqABugW/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpwbEYcw/baseline.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmp2VfJ2P/baseline.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpXK6NPR/baseline.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmpiaZtqR/baseline.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Using 2 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpCskgL0/baseline.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Output: /tmp/.tmp5cCEPq/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Using 2 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmpej3RAi/baseline.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Clipping mode: hard
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Clip overlapping reads: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Clip extending past mate: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Using 2 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Clipping reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min duplex length: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Worker threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Reader threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Using single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 3 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 12 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total records processed: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpXK6NPR/baseline.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accepted records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Unique molecules: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total families: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads/molecule: 4.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Median reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Min reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 12 in 0s (152 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 25.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 3 in 0s (37 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Starting CODEC consensus calling
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Input: /tmp/.tmpBZzRRN/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Output: /tmp/.tmpBZzRRN/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min duplex length: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Worker threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Reader threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 6 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (49 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 6 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input: /tmp/.tmpXK6NPR/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpXK6NPR/async.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 6 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (48 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (47 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpJ8qzsS/r1.fq.gz
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Using single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 12 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpXK6NPR/async.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accepted records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Unique molecules: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total families: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads/molecule: 4.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Median reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Min reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 12 in 0s (1,231 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmp2VfJ2P/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmp2VfJ2P/async.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::bam_io] async raw BAM reader enabled: spawning fgumi-prefetch thread for /tmp/.tmp2VfJ2P/input.bam
[INFO] [stdout] test test_async_reader::test_group_async_reader_single_threaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpI1SCK2/r1.fq
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpJ8qzsS/r1.fq.gz
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpsbdPSV/r1.fq.bgz
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpJ8qzsS/r2.fq.gz
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpI1SCK2/r1.fq
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpI1SCK2/r2.fq
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 3 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total records processed: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 25.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 3 in 0s (93 items/s)
[INFO] [stdout] test test_async_reader::test_simplex_async_reader_single_threaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total MI groups processed: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total groups processed by pipeline: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total MI groups processed: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 25.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total groups processed by pipeline: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Wrote 3 consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Total templates processed: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Templates with overlap clipping: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Templates with mate extension clipping: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Done!
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 25.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Clipping reads completed: 2 in 0s (11 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Wrote 3 consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Loaded 1 UMI sequences of length 8
[INFO] [stdout] test test_bgzf_eof::test_clip_output_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] CODEC consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total MI groups processed: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total groups processed by pipeline: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 6 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Loaded 1 UMI sequences of length 8
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 16.67%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Wrote 1 CODEC consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (178 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpsbdPSV/r1.fq.bgz
[INFO] [stdout] test test_async_reader::test_extract_plain_async_reader_single_threaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpsbdPSV/r2.fq.bgz
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Input: -
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmpiaZtqR/async_stdin.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stdout] test test_bgzf_eof::test_codec_output_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmpej3RAi/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmpej3RAi/async.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Loaded 1 UMI sequences of length 8
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::bam_io] async BAM reader enabled: spawning fgumi-prefetch thread for stdin
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Using single-threaded mode with template-level UMI correction
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::bam_io] async BAM reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpej3RAi/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 6 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (92 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpCskgL0/baseline.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accepted records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Unique molecules: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total families: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads/molecule: 4.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Median reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Min reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 12 in 0s (58 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Records processed by pipeline: 12
[INFO] [stdout] test test_async_reader::test_extract_gzip_async_reader_single_threaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (29 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpwbEYcw/baseline.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accepted records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Unique molecules: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total families: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 5 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads/molecule: 4.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Median reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Min reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Read 5; kept 3 and rejected 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Total templates processed: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 12 in 0s (56 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Records processed by pipeline: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs completed: 5 in 0s (319 items/s)
[INFO] [stdout] test test_bgzf_eof::test_correct_single_threaded_rejects_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Input: /tmp/.tmp4Cubcs/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output: /tmp/.tmp4Cubcs/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min reads: [2]
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min base quality: 10
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output per-base tags: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Worker threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Reader threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Trim reads: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Max reads per strand: None
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Consensus call overlapping bases: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input: /tmp/.tmpCskgL0/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpCskgL0/async.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Using 2 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 6 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (88 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpi0X3ax/r1.fq
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Marking duplicates ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Starting dedup
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Input: /tmp/.tmpM640qX/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Output: /tmp/.tmpM640qX/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Remove duplicates: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Input: /tmp/.tmpLVxwiL/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output: /tmp/.tmpLVxwiL/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min reads: [1]
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min base quality: 10
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output per-base tags: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Worker threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Reader threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Trim reads: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Max reads per strand: None
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Consensus call overlapping bases: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Processing reads...
[INFO] [stdout] test test_async_reader::test_extract_bgzf_async_reader_single_threaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpi0X3ax/r1.fq
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Using pipeline with 1 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpi0X3ax/r2.fq
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Deduplication complete: 2 templates (1 unique, 1 duplicates, 50.00% duplicate rate)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Marking duplicates completed: 4 in 0s (279 items/s)
[INFO] [stdout] test test_bgzf_eof::test_dedup_output_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtering consensus reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Starting Filter
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Input: /tmp/.tmplnIdnS/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Output: /tmp/.tmplnIdnS/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Reference: /tmp/.tmplnIdnS/ref.fa
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Min reads: [1]
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Max read error rate: [0.025]
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Max base error rate: [0.1]
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Max no-call fraction: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input: /tmp/.tmpuiftgx/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpuiftgx/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Using 2 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Loading reference genome into memory...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Reference loaded in 0.0s
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Processed 1 reads; kept 1 and rejected 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::filter] Total bases masked: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtering consensus reads completed: 1 in 0s (134 items/s)
[INFO] [stdout] test test_bgzf_eof::test_filter_output_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (21 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmp5KId5T/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmp5KId5T/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Min reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input: -
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpwbEYcw/async_stdin.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Using 2 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total MI groups processed: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total groups processed by pipeline: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 25.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Wrote 3 consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total MI groups processed: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Rejected reads streamed to rejects file during processing
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] CODEC consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total groups processed by pipeline: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total MI groups processed: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total groups processed by pipeline: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 8
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 12.50%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 25.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Top rejection reasons:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Wrote 3 consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]     Insufficient reads to generate a consensus: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Wrote 1 CODEC consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (19 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Read 3; kept 3 and rejected 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Total templates processed: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs completed: 3 in 0s (22 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Scheduler: BalancedChaseDrain
[INFO] [stdout] test test_bgzf_eof::test_codec_rejects_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Rejected records streamed to rejects file during processing
[INFO] [stdout] test test_bgzf_eof::test_correct_output_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Read 5; kept 3 and rejected 2
[INFO] [stdout] test test_async_reader::test_simplex_async_reader_stdin ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Total templates processed: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs completed: 5 in 0s (38 items/s)
[INFO] [stdout] test test_async_reader::test_simplex_async_reader_multithreaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stdout] test test_bgzf_eof::test_correct_rejects_has_bgzf_eof ... ok
[INFO] [stdout] test test_codec_command::test_codec_command_cell_barcode_preservation ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmppoSMEh/r1.fq.gz
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Starting CODEC consensus calling
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Input: /tmp/.tmpcvQC8G/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Output: /tmp/.tmpcvQC8G/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min duplex length: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Worker threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Reader threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmpqI5WyV/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmpqI5WyV/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Min reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmpfNdSCk/r1.fq.bgz
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 1 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total records processed: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 16.67%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus completed: 1 in 0s (386 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpCskgL0/async.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accepted records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Unique molecules: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total families: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads/molecule: 4.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Median reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Min reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 12 in 0s (109 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Records processed by pipeline: 12
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Starting CODEC consensus calling
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Input: /tmp/.tmpbo7HXw/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Output: /tmp/.tmpbo7HXw/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min duplex length: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Worker threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Reader threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Rejected reads streamed to rejects file during processing
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Total MI groups processed: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Total groups processed by pipeline: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 14
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 7.14%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Top rejection reasons:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]     Insufficient reads to generate a consensus: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Wrote 1 duplex consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 1 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Clip
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total records processed: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Input: /tmp/.tmpuFy4Qf/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Output: /tmp/.tmpuFy4Qf/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 6
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Clipping mode: hard
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Clip overlapping reads: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 16.67%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Clip extending past mate: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Clipping reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus completed: 1 in 0s (326 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmppoSMEh/r1.fq.gz
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Processing templates...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 2 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Total records processed: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Templates with overlap clipping: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Templates with mate extension clipping: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Done!
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] async FASTQ reader enabled: spawning fgumi-prefetch thread for /tmp/.tmppoSMEh/r2.fq.gz
[INFO] [stdout] test test_async_reader::test_group_async_reader_multithreaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Clipping reads completed: 2 in 0s (484 items/s)
[INFO] [stdout] test test_bgzf_eof::test_duplex_rejects_has_bgzf_eof ... ok
[INFO] [stdout] test test_codec_command::test_codec_command_basic_consensus ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Clip
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Input: /tmp/.tmpmSfWrt/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Output: /tmp/.tmpmSfWrt/output.bam
[INFO] [stdout] test test_clip_command::test_clip_command_basic ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Clipping mode: hard
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Clip overlapping reads: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Clip extending past mate: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip]   Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Clipping reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Processing templates...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 2 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Total records processed: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Templates with overlap clipping: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Templates with mate extension clipping: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Writing metrics to /tmp/.tmpmSfWrt/metrics.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus ...
[INFO] [stdout] test test_codec_pipeline::test_codec_consensus_has_required_tags ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Starting CODEC consensus calling
[INFO] [stdout] test test_codec_pipeline::test_codec_empty_input ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Input: /tmp/.tmpnyrmCz/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Output: /tmp/.tmpnyrmCz/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min duplex length: 100
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Worker threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Reader threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Processing reads and calling consensus (streaming)...
[INFO] [stdout] test test_codec_pipeline::test_codec_fragment_reads_rejection ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Metrics written successfully
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::clip] Done!
[INFO] [stdout] test test_codec_pipeline::test_codec_insufficient_reads_rejection ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Clipping reads completed: 2 in 0s (271 items/s)
[INFO] [stdout] test test_codec_pipeline::test_codec_min_duplex_length_filter ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total records processed: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stdout] test test_codec_pipeline::test_codec_multiple_pairs_consensus ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 0.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stdout] test test_codec_pipeline::test_codec_rejected_reads_tracking ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stdout] test test_codec_pipeline::test_codec_single_pair_consensus ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Total MI groups processed: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Total groups processed by pipeline: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Top rejection reasons:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 8.33%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Wrote 1 duplex consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]     Insufficient reads to generate a consensus: 6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (49 items/s)
[INFO] [stdout] test test_clip_command::test_clip_command_with_metrics ... ok
[INFO] [stdout] test test_codec_pipeline::test_codec_statistics_tracking ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Starting CODEC consensus calling
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Input: /tmp/.tmpr4yQOT/input.bam
[INFO] [stdout] test test_bgzf_eof::test_duplex_output_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Output: /tmp/.tmpr4yQOT/output.bam
[INFO] [stdout] test test_codec_command::test_codec_command_min_duplex_length ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min duplex length: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Worker threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Reader threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Starting CODEC consensus calling
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Input: /tmp/.tmpOKqSrY/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Output: /tmp/.tmpOKqSrY/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min reads: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min duplex length: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Worker threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Reader threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 1 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Starting CODEC consensus calling
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Input: /tmp/.tmp4pq0LZ/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Output: /tmp/.tmp4pq0LZ/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total records processed: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Min duplex length: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Worker threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Reader threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 16.67%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus completed: 1 in 0s (172 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Loaded 1 UMI sequences of length 8
[INFO] [stdout] test test_async_reader::test_extract_plain_async_reader_multithreaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Using single-threaded mode with template-level UMI correction
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 1 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 2 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total records processed: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 7 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 10
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 20.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Total records processed: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 8
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 12.50%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpuiftgx/output.bam
[INFO] [stdout] test test_codec_command::test_codec_command_per_base_tags ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Top rejection reasons:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total records: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Read 7; kept 7 and rejected 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accepted records: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Total templates processed: 7
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Unique molecules: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total families: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads/molecule: 5.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Median reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Min reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]     Insufficient reads to generate a consensus: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus completed: 1 in 0s (94 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs completed: 7 in 0s (1,186 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Wrote statistics to: /tmp/.tmp4pq0LZ/stats.tsv
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling CODEC consensus completed: 2 in 0s (235 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 5 in 0s (44 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Records processed by pipeline: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::codec] Rejected reads written successfully
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Loaded 1 UMI sequences of length 8
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Using single-threaded mode with template-level UMI correction
[INFO] [stdout] test test_correct_command::test_correct_command_basic ... ok
[INFO] [stdout] test test_codec_command::test_codec_command_with_stats ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Loaded 1 UMI sequences of length 8
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 3 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Marking duplicates ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Starting dedup
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Input: /tmp/.tmpzrCsaI/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Output: /tmp/.tmpzrCsaI/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Remove duplicates: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Read 3; kept 3 and rejected 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Total templates processed: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs completed: 3 in 0s (765 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Using pipeline with 1 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Deduplication complete: 5 templates (2 unique, 3 duplicates, 60.00% duplicate rate)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Marking duplicates completed: 10 in 0s (2,766 items/s)
[INFO] [stdout] test test_codec_command::test_codec_command_with_rejects ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Using single-threaded mode with template-level UMI correction
[INFO] [stdout] test test_bgzf_eof::test_group_output_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stdout] test test_correct_command::test_correct_command_with_metrics ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Marking duplicates ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Starting dedup
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Input: /tmp/.tmpEm48G7/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Output: /tmp/.tmpEm48G7/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Remove duplicates: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 5 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stdout] test test_dedup_command::test_dedup_command_basic ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Using pipeline with 1 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Marking duplicates ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Starting dedup
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Input: /tmp/.tmpKyBcjv/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Output: /tmp/.tmpKyBcjv/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Remove duplicates: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Deduplication complete: 3 templates (1 unique, 2 duplicates, 66.67% duplicate rate)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Marking duplicates completed: 6 in 0s (1,069 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Read 5; kept 3 and rejected 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Total templates processed: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs completed: 5 in 0s (430 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Using pipeline with 1 threads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::dedup] Deduplication complete: 3 templates (1 unique, 2 duplicates, 66.67% duplicate rate)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Marking duplicates completed: 6 in 0s (1,192 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stdout] test test_dedup_command::test_dedup_command_remove_duplicates ... ok
[INFO] [stdout] test test_correct_command::test_correct_command_with_rejects ... ok
[INFO] [stdout] test test_dedup_command::test_dedup_command_with_metrics ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total MI groups processed: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total groups processed by pipeline: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 20.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Starting Downsample
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Wrote 1 consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input: /tmp/.tmpiVeLeE/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output: /tmp/.tmpiVeLeE/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Target fraction: 0.5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Random seed: 42
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Header validation passed (template-coordinate order confirmed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 15 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Wrote kept histogram to: /tmp/.tmpiVeLeE/hist_kept.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Wrote rejected histogram to: /tmp/.tmpiVeLeE/hist_rejected.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] === Summary ===
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Total reads processed: 15
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input families: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept families: 2 (40.00%)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept reads: 9
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Rejected reads: 6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output BAM: /tmp/.tmpiVeLeE/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads completed: 15 in 0s (3,053 items/s)
[INFO] [stdout] test test_bgzf_eof::test_simplex_output_has_bgzf_eof ... ok
[INFO] [stdout] test test_downsample_command::test_downsample_histograms ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Starting Downsample
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input: /tmp/.tmpMsnLYs/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output: /tmp/.tmpMsnLYs/output1.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Target fraction: 0.3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Random seed: 12345
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Header validation passed (template-coordinate order confirmed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Starting Downsample
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input: /tmp/.tmp23zbeF/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output: /tmp/.tmp23zbeF/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Target fraction: 0.5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Random seed: 42
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 60 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] === Summary ===
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Total reads processed: 60
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input families: 20
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept families: 5 (25.00%)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept reads: 15
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Header validation passed (template-coordinate order confirmed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Rejected reads: 45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 50 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output BAM: /tmp/.tmpMsnLYs/output1.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads completed: 60 in 0s (9,120 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Input: /tmp/.tmpTTAmfH/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output: /tmp/.tmpTTAmfH/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min reads: [1]
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] === Summary ===
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpwbEYcw/async_stdin.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min base quality: 10
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Total reads processed: 50
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input families: 10
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output per-base tags: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept families: 5 (50.00%)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept reads: 25
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Worker threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Rejected reads: 25
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Reader threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output BAM: /tmp/.tmp23zbeF/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Rejects BAM: /tmp/.tmp23zbeF/rejects.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Starting Downsample
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Trim reads: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads completed: 50 in 0s (11,609 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Max reads per strand: None
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input: /tmp/.tmp9vQFVv/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output: /tmp/.tmp9vQFVv/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Consensus call overlapping bases: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stdout] test test_bgzf_eof::test_piped_simplex_to_filter_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total records: 12
[INFO] [stdout] test test_downsample_command::test_downsample_with_rejects ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accepted records: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Target fraction: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Unique molecules: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Total families: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads/molecule: 4.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Median reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Min reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 12 in 0s (102 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::group] Records processed by pipeline: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Header validation passed (template-coordinate order confirmed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 15 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] === Summary ===
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Total reads processed: 15
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input families: 3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept families: 3 (100.00%)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept reads: 15
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Rejected reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output BAM: /tmp/.tmp9vQFVv/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads completed: 15 in 0s (4,125 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 2 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Starting Downsample
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input: /tmp/.tmptm7H4m/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output: /tmp/.tmptm7H4m/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Target fraction: 0.5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Random seed: 42
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 16.67%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus completed: 2 in 0s (346 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Done!
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Header validation passed (template-coordinate order confirmed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 50 (complete)
[INFO] [stdout] test test_downsample_command::test_downsample_keep_all ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] === Summary ===
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Total reads processed: 50
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input families: 10
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept families: 5 (50.00%)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept reads: 25
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Rejected reads: 25
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output BAM: /tmp/.tmptm7H4m/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads completed: 50 in 0s (23,349 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Input: /tmp/.tmpRy0zHf/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output: /tmp/.tmpRy0zHf/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min reads: [2]
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min base quality: 10
[INFO] [stdout] test test_duplex_command::test_duplex_command_basic ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output per-base tags: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Worker threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Reader threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Trim reads: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Max reads per strand: None
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Consensus call overlapping bases: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.7 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Input: /tmp/.tmplxZvzN/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output: /tmp/.tmplxZvzN/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min reads: [2]
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min base quality: 10
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output per-base tags: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Worker threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Reader threads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Trim reads: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Max reads per strand: None
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Consensus call overlapping bases: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stdout] test test_downsample_command::test_downsample_basic ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] DuplexMetrics
[INFO] [stdout] test test_async_reader::test_group_async_reader_stdin ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Input: /tmp/.tmpWZMTTJ/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Output prefix: /tmp/.tmpWZMTTJ/output
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min AB reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min BA reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Starting Downsample
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Collect duplex UMI counts: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Computing duplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input: /tmp/.tmpMsnLYs/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output: /tmp/.tmpMsnLYs/output2.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Target fraction: 0.3
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Random seed: 12345
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.7 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Header validation passed (template-coordinate order confirmed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Input: /tmp/.tmp7W1y3w/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output: /tmp/.tmp7W1y3w/output.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min reads: [1]
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Min base quality: 10
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Output per-base tags: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Worker threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Reader threads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Trim reads: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Max reads per strand: None
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex]   Consensus call overlapping bases: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 60 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Processing reads...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] === Summary ===
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Total reads processed: 60
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Input families: 20
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept families: 5 (25.00%)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Kept reads: 15
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Rejected reads: 45
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::downsample] Output BAM: /tmp/.tmpMsnLYs/output2.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Downsampling reads completed: 60 in 0s (21,780 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 2 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 12
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 16.67%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Statistics written to: /tmp/.tmp7W1y3w/stats.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus completed: 2 in 0s (416 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Done!
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 18 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processed 9 templates
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote family size metrics to /tmp/.tmpWZMTTJ/output.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote duplex family size metrics to /tmp/.tmpWZMTTJ/output.duplex_family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote UMI metrics to /tmp/.tmpWZMTTJ/output.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote yield metrics to /tmp/.tmpWZMTTJ/output.duplex_yield_metrics.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Rejected reads streamed to rejects file during processing
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stdout] test test_duplex_command::test_duplex_command_with_stats ... ok
[INFO] [stdout] test test_downsample_command::test_downsample_deterministic ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total MI groups processed: 2
[INFO] [stdout] test test_error_paths::test_consensus_sequence_empty_operations ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Total groups processed by pipeline: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 20.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Top rejection reasons:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]     Insufficient reads to generate a consensus: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::simplex] Wrote 1 consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] DuplexMetrics
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Input: /tmp/.tmpBJwrwZ/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Output prefix: /tmp/.tmpBJwrwZ/output
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min AB reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min BA reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Collect duplex UMI counts: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Computing duplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 18 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processed 9 templates
[INFO] [stdout] test test_bgzf_eof::test_simplex_rejects_has_bgzf_eof ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] DuplexMetrics
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Input: /tmp/.tmpmgPCPY/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Output prefix: /tmp/.tmpmgPCPY/output
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min AB reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min BA reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Collect duplex UMI counts: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Computing duplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote family size metrics to /tmp/.tmpBJwrwZ/output.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote duplex family size metrics to /tmp/.tmpBJwrwZ/output.duplex_family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote UMI metrics to /tmp/.tmpBJwrwZ/output.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote yield metrics to /tmp/.tmpBJwrwZ/output.duplex_yield_metrics.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (45 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] DuplexMetrics
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Input: /tmp/.tmpEZKqzq/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Output prefix: /tmp/.tmpEZKqzq/output
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min AB reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min BA reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Collect duplex UMI counts: true
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Computing duplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] DuplexMetrics
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Input: /tmp/.tmpiBcFx4/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Output prefix: /tmp/.tmpiBcFx4/output_default
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min AB reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min BA reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Collect duplex UMI counts: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Computing duplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] DuplexMetrics
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Input: /tmp/.tmpEvttrL/input.bam
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Output prefix: /tmp/.tmpEvttrL/output
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min AB reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Min BA reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics]   Collect duplex UMI counts: false
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 18 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Computing duplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processed 9 templates
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote family size metrics to /tmp/.tmpEZKqzq/output.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote duplex family size metrics to /tmp/.tmpEZKqzq/output.duplex_family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote UMI metrics to /tmp/.tmpEZKqzq/output.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote duplex UMI metrics to /tmp/.tmpEZKqzq/output.duplex_umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote yield metrics to /tmp/.tmpEZKqzq/output.duplex_yield_metrics.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 18 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (47 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processed 9 templates
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Loaded 1 UMI sequences of length 8
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote family size metrics to /tmp/.tmpiBcFx4/output_default.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote duplex family size metrics to /tmp/.tmpiBcFx4/output_default.duplex_family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 18 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processed 9 templates
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote UMI metrics to /tmp/.tmpiBcFx4/output_default.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote family size metrics to /tmp/.tmpEvttrL/output.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote yield metrics to /tmp/.tmpiBcFx4/output_default.duplex_yield_metrics.txt
[INFO] [stdout] test test_async_reader::test_extract_gzip_async_reader_multithreaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote duplex family size metrics to /tmp/.tmpEvttrL/output.duplex_family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote UMI metrics to /tmp/.tmpEvttrL/output.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote yield metrics to /tmp/.tmpEvttrL/output.duplex_yield_metrics.txt
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.7 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stdout] test helpers::assertions::tests::test_assert_mi_tag_mismatch - should panic ... ok
[INFO] [stdout] test test_error_paths::test_consensus_sequence_padded_shorter_panics - should panic ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 18 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Processed 9 templates
[INFO] [stdout] test test_async_reader::test_extract_bgzf_async_reader_multithreaded ... ok
[INFO] [stdout] test test_error_paths::test_filter_config_for_duplex_asymmetric_invalid_error_rate - should panic ... ok
[INFO] [stdout] test test_error_paths::test_filter_config_for_duplex_invalid_strand_greater_than_duplex - should panic ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote family size metrics to /tmp/.tmpmgPCPY/output.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote duplex family size metrics to /tmp/.tmpmgPCPY/output.duplex_family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote UMI metrics to /tmp/.tmpmgPCPY/output.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex_metrics] Wrote yield metrics to /tmp/.tmpmgPCPY/output.duplex_yield_metrics.txt
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Rejected reads streamed to rejects file during processing
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Total MI groups processed: 5
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Total groups processed by pipeline: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 20
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 8
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 5.00%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Top rejection reasons:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]     Insufficient reads to generate a consensus: 8
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Wrote 1 duplex consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_duplex_command::test_duplex_command_rejects_contain_no_duplicates ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Rejected reads streamed to rejects file during processing
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Duplex consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Total MI groups processed: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Total groups processed by pipeline: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Input reads: 14
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Filtered reads: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Pass rate: 7.14%
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]   Top rejection reasons:
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging]     Insufficient reads to generate a consensus: 2
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::duplex] Wrote 1 duplex consensus reads
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Calling duplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_duplex_command::test_duplex_command_with_rejects ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Rejected records streamed to rejects file during processing
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Read 1233; kept 33 and rejected 1200
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::correct] Total templates processed: 1233
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Correcting UMIs completed: 1,233 in 0s (10,417 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_correct_command::test_correct_command_rejects_streaming_threaded_integrity ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (52 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 6 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (143 items/s)
[INFO] [stdout] test test_extract_command::test_extract_bgzf_single_threaded ... ok
[INFO] [stdout] test test_extract_command::test_extract_bgzf_multithreaded ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (46 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (52 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=1, batches_grouped=0, total_templates_pushed=500, total_records_serialized=500, templates_written=500
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::extract] Wrote 500 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 500 in 0s (3,975 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::progress] Processed records 2 (complete)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs completed: 2 in 0s (77 items/s)
[INFO] [stderr] [2026-05-12T10:13:42Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_extract_command::test_extract_bgzf_verifies_umi_extraction ... ok
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:42Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stdout] test test_extract_command::test_bgzf_block_merge_content_verification ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 6 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (175 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_extract_command::test_extract_gzip_single_threaded ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (50 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_extract_command::test_extract_bgzf_threads_mode ... ok
[INFO] [stderr] Error: --fraction must be between 0.0 (exclusive) and 1.0 (inclusive), got 0[2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=14, batches_grouped=0, total_templates_pushed=50, total_records_serialized=100, templates_written=100
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 100 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 100 in 0s (894 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 2 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 2 in 0s (63 items/s)
[INFO] [stdout] test test_extract_command::test_extract_gzip_verifies_umi_extraction ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Detected BGZF-compressed FASTQ, using 4 decompression threads
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (47 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_extract_command::test_extract_gzip_multithreaded ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.3 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=500, total_records_serialized=1000, templates_written=1000
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 1000 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 1,000 in 0s (4,203 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (45 items/s)
[INFO] [stdout] test test_extract_command::test_bgzf_sync_multithreaded_matches_single_threaded ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=1, batches_grouped=0, total_templates_pushed=500, total_records_serialized=500, templates_written=500
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 500 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 500 in 0s (3,750 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 6 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (249 items/s)
[INFO] [stdout] test test_extract_command::test_extract_plain_and_compressed ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (50 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_extract_command::test_extract_gzip_threads_mode ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.4 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing duplex metrics completed: 9 in 0s (22 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.5 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (51 items/s)
[INFO] [stdout] test test_extract_command::test_extract_mixed_gzip_and_bgzf ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_duplex_metrics_command::test_duplex_metrics_command_umi_metrics ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stdout] test test_duplex_metrics_command::test_duplex_metrics_command_duplex_family_sizes ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing duplex metrics completed: 9 in 0s (20 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing duplex metrics completed: 9 in 0s (21 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=1, total_records_serialized=2, templates_written=2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 2 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 2 in 0s (17 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stdout] test test_extract_command::test_extract_multithreaded_custom_options ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=14, batches_grouped=0, total_templates_pushed=50, total_records_serialized=100, templates_written=100
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 100 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 100 in 0s (861 items/s)
[INFO] [stdout] test test_fastq_command::test_fastq_basic ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing duplex metrics completed: 9 in 0s (20 items/s)
[INFO] [stdout] test test_duplex_metrics_command::test_duplex_metrics_command_family_sizes ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 6.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.8 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 6.0 GiB total (768 MB/thread × 8 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing duplex metrics completed: 9 in 0s (21 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_duplex_metrics_command::test_duplex_metrics_command_creates_output_files ... ok
[INFO] [stdout] test test_fastq_command::test_fastq_exclude_flags ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] DuplexMetrics
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics]   Input: /tmp/.tmpiBcFx4/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics]   Output prefix: /tmp/.tmpiBcFx4/output_strict
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics]   Min AB reads: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics]   Min BA reads: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics]   Collect duplex UMI counts: false
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing duplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.7 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stdout] test test_fastq_command::test_fastq_multithreaded ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 18 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Processed 9 templates
[INFO] [stdout] test test_fastq_command::test_fastq_quality_encoding ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Wrote family size metrics to /tmp/.tmpiBcFx4/output_strict.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Wrote duplex family size metrics to /tmp/.tmpiBcFx4/output_strict.duplex_family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Wrote UMI metrics to /tmp/.tmpiBcFx4/output_strict.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Wrote yield metrics to /tmp/.tmpiBcFx4/output_strict.duplex_yield_metrics.txt
[INFO] [stdout] test test_fastq_command::test_fastq_no_suffix ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 6.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.7 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 6.0 GiB total (768 MB/thread × 8 threads)
[INFO] [stdout] test test_fastq_command::test_fastq_hex_flags ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Starting Filter
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Input: /tmp/.tmp9bwDCb/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Output: /tmp/.tmp9bwDCb/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Reference: /tmp/.tmp9bwDCb/ref.fa
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Min reads: [1]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max read error rate: [0.025]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max base error rate: [0.1]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max no-call fraction: 1
[INFO] [stdout] test test_fastq_command::test_fastq_reverse_complement ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing duplex metrics completed: 9 in 0s (19 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (53 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Starting Filter
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Input: /tmp/.tmpcUKLKv/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Output: /tmp/.tmpcUKLKv/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Reference: <none> (tag regeneration disabled)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Min reads: [3]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max read error rate: [0.025]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max base error rate: [0.1]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max no-call fraction: 0.2
[INFO] [stdout] test test_duplex_metrics_command::test_duplex_metrics_command_with_duplex_umi_counts ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Loading reference genome into memory...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Reference loaded in 0.0s
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Processed 2 reads; kept 2 and rejected 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Total bases masked: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads completed: 2 in 0s (108 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Starting Filter
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Input: /tmp/.tmp3OiDFE/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Output: /tmp/.tmp3OiDFE/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Reference: <none> (tag regeneration disabled)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Min reads: [1]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max read error rate: [0.025]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max base error rate: [0.1]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max no-call fraction: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stdout] test test_filter_command::test_filter_command_basic ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=500, total_records_serialized=1000, templates_written=1000
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 1000 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 1,000 in 0s (7,820 items/s)
[INFO] [stdout] test test_filter_command::test_filter_command_no_ref_unmapped_reads ... ok
[INFO] [stdout] test test_filter_command::test_filter_command_with_stats ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Starting Filter
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Input: /tmp/.tmpUlqap6/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Output: /tmp/.tmpUlqap6/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Reference: /tmp/.tmpUlqap6/ref.fa
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Min reads: [1]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max read error rate: [0.025]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max base error rate: [0.1]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max no-call fraction: 0.2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=4, total_records_serialized=8, templates_written=8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 8 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 8 in 0s (67 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Processed 2 reads; kept 2 and rejected 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Total bases masked: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads completed: 2 in 0s (113 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Loading reference genome into memory...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Reference loaded in 0.0s
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Processed 1 reads; kept 0 and rejected 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Total bases masked: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads completed: 1 in 0s (329 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Starting Filter
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Input: /tmp/.tmpvnhhRm/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Output: /tmp/.tmpvnhhRm/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Reference: /tmp/.tmpvnhhRm/ref.fa
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Min reads: [3]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max read error rate: [0.025]
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max base error rate: [0.1]
[INFO] [stdout] test test_extract_command::test_variable_length_reads_bgzf ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Max no-call fraction: 0.2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 768.0 MiB total (fixed)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Loading reference genome into memory...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Reference loaded in 0.0s
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Processed 2 reads; kept 1 and rejected 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Wrote 1 rejected records to rejects file
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Total bases masked: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads completed: 2 in 0s (67 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Processed 2 reads; kept 1 and rejected 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Wrote 1 rejected records to rejects file
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::filter] Total bases masked: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtering consensus reads completed: 2 in 0s (535 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=100, total_records_serialized=200, templates_written=200
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 200 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 200 in 0s (1,613 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input: /tmp/.tmpuIs46o/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpuIs46o/output.bam
[INFO] [stdout] test test_filter_command::test_filter_command_rejects_low_depth ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stdout] test test_filter_command::test_filter_command_no_ref_with_rejects ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Using single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 8 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpuIs46o/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total records: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accepted records: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accept rate: 62.50%
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Unique molecules: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total families: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg reads/molecule: 5.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Median reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Min reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 3 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Wrote grouping metrics to /tmp/.tmpuIs46o/metrics.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 5 in 0s (392 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input: /tmp/.tmpxMbAjj/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpxMbAjj/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stdout] test test_group_command::test_group_command_rejects_n_bases_in_umi ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Using single-threaded mode
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=1, batches_grouped=0, total_templates_pushed=500, total_records_serialized=500, templates_written=500
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 500 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 500 in 0s (3,833 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 30 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpxMbAjj/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total records: 30
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accepted records: 30
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Unique molecules: 3
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total families: 3
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg reads/molecule: 10.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Median reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Min reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Max reads/molecule: 15
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=4, total_records_serialized=8, templates_written=8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.7 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 8 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 8 in 0s (69 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Wrote grouping metrics to /tmp/.tmpxMbAjj/metrics.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 30 in 0s (2,369 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stdout] test test_group_command::test_group_command_writes_new_metrics ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stdout] test test_extract_command::test_variable_length_reads_gzip ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_extract_command::test_bgzf_block_merge_single_stream_thread_counts ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=14, batches_grouped=0, total_templates_pushed=50, total_records_serialized=100, templates_written=100
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 100 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 100 in 0s (756 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.8 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stdout] test test_pipeline_concurrency::proptest_tests::proptest_ordered_queue_never_drops_items ... ok
[INFO] [stdout] test test_extract_command::test_extract_bgzf_unequal_block_counts ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (48 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_pipeline_concurrency::test_error_propagation_grouper_multithreaded ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=100, total_records_serialized=200, templates_written=200
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 200 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 200 in 0s (1,455 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 6.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.8 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 6.0 GiB total (768 MB/thread × 8 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_pipeline_concurrency::test_error_propagation_serialize_fn_multithreaded ... ok
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] Stack backtrace:
[INFO] [stderr]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stderr]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stderr]    1: <fgumi_lib::commands::downsample::Downsample as fgumi_lib::commands::command::Command>::execute
[INFO] [stderr]              at ./src/lib/commands/downsample.rs:99:13
[INFO] [stderr]    2: <fgumi::Subcommand>::execute
[INFO] [stderr]              at ./src/main.rs:143:42
[INFO] [stderr]    3: fgumi::main
[INFO] [stderr]              at ./src/main.rs:183:21
[INFO] [stderr]    4: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stderr]    5: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]    6: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:206:18
[INFO] [stderr]    7: <&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe as core::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:287:21
[INFO] [stderr]    8: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stderr]    9: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stderr]   10: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stderr]   11: std::rt::lang_start_internal::{closure#0}
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:175:24
[INFO] [stderr]   12: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stderr]   13: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stderr]   14: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stderr]   15: std::rt::lang_start_internal
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:171:5
[INFO] [stderr]   16: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:205:5
[INFO] [stderr]   17: main
[INFO] [stderr]   18: <unknown>
[INFO] [stderr]   19: __libc_start_main
[INFO] [stderr]   20: _start
[INFO] [stdout] test test_pipeline_concurrency::test_error_propagation_process_fn_multithreaded ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.8 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stdout] test test_filter_command::test_filter_command_no_ref_mapped_reads_fails ... ok
[INFO] [stdout] test test_pipeline_concurrency::test_reorder_buffer_concurrent_insert_pop ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] Error: --fraction must be between 0.0 (exclusive) and 1.0 (inclusive), got 1.5[2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::duplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::duplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing duplex metrics completed: 9 in 0s (28 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stdout] test test_duplex_metrics_command::test_duplex_metrics_command_min_reads_parameters ... ok
[INFO] [stdout] test test_review_command::test_review_missing_required_args ... ok
[INFO] [stdout] test test_review_command::test_review_basic_execution ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 3.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.7 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 3.0 GiB total (768 MB/thread × 4 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmpRlK015/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmpRlK015/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmpmdJTaF/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmpmdJTaF/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Min reads: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Min reads: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 2 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 1 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Total records processed: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Input reads: 10
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Consensus reads: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Pass rate: 20.00%
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Total records processed: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 2 in 0s (371 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Input reads: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Pass rate: 20.00%
[INFO] [stdout] test test_pipeline_concurrency::test_error_does_not_cause_hang ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 1 in 0s (134 items/s)
[INFO] [stdout] test test_simplex_command::test_simplex_command_basic_consensus ... ok
[INFO] [stdout] test test_simplex_command::test_simplex_command_collapses_read_group_attributes ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=0, total_templates_pushed=500, total_records_serialized=1000, templates_written=1000
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 1000 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 1,000 in 0s (7,247 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmptgSP6u/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmptgSP6u/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stdout] test test_pipeline_concurrency::test_bam_pipeline_no_dropped_records_under_backpressure ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 1 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Total records processed: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Input reads: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Pass rate: 20.00%
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Wrote statistics to: /tmp/.tmptgSP6u/stats.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 1 in 0s (208 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stdout] test test_simplex_command::test_simplex_command_with_stats ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] SimplexMetrics
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Input: /tmp/.tmpJd8Z6y/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Output prefix: /tmp/.tmpJd8Z6y/output
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing simplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] SimplexMetrics
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Input: /tmp/.tmp2Bqlnb/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Output prefix: /tmp/.tmp2Bqlnb/output
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing simplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stdout] test test_pipeline_concurrency::proptest_tests::proptest_reorder_buffer_preserves_all_items ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmphxGN1j/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmphxGN1j/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Min reads: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 12 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processed 6 templates
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 12 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processed 6 templates
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote family size metrics to /tmp/.tmp2Bqlnb/output.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote family size metrics to /tmp/.tmpJd8Z6y/output.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote UMI metrics to /tmp/.tmp2Bqlnb/output.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote UMI metrics to /tmp/.tmpJd8Z6y/output.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote yield metrics to /tmp/.tmpJd8Z6y/output.simplex_yield_metrics.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote yield metrics to /tmp/.tmp2Bqlnb/output.simplex_yield_metrics.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 1 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] SimplexMetrics
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Input: /tmp/.tmptCTS7F/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Output prefix: /tmp/.tmptCTS7F/output
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing simplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Total records processed: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Input reads: 6
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Consensus reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Filtered reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Pass rate: 16.67%
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg reads per consensus: 0.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg depth: 0.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Top rejection reasons:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]     Insufficient reads to generate a consensus: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 1 in 0s (93 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Rejected reads written successfully
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 12 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processed 6 templates
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote family size metrics to /tmp/.tmptCTS7F/output.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote UMI metrics to /tmp/.tmptCTS7F/output.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote yield metrics to /tmp/.tmptCTS7F/output.simplex_yield_metrics.txt
[INFO] [stdout] test test_simplex_command::test_simplex_command_with_rejects ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] SimplexMetrics
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Input: /tmp/.tmpziuzCg/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Output prefix: /tmp/.tmpziuzCg/output
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing simplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 12 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processed 6 templates
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Writing metrics...
[INFO] [stdout] test test_pipeline_concurrency::test_bam_pipeline_output_order_matches_input ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote family size metrics to /tmp/.tmpziuzCg/output.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote UMI metrics to /tmp/.tmpziuzCg/output.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote yield metrics to /tmp/.tmpziuzCg/output.simplex_yield_metrics.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] SimplexMetrics
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Input: /tmp/.tmprcDxEi/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Output prefix: /tmp/.tmprcDxEi/output_default
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics]   Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Computing simplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=100, total_records_serialized=200, templates_written=200
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 12 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Processed 6 templates
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 200 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 200 in 0s (1,504 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote family size metrics to /tmp/.tmprcDxEi/output_default.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote UMI metrics to /tmp/.tmprcDxEi/output_default.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex_metrics] Wrote yield metrics to /tmp/.tmprcDxEi/output_default.simplex_yield_metrics.txt
[INFO] [stdout] test test_simplex_pipeline::test_adjacency_assigner_with_error_correction ... ok
[INFO] [stdout] test test_simplex_pipeline::test_adjacency_respects_count_gradient ... ok
[INFO] [stdout] test test_simplex_pipeline::test_identity_assigner_basic_workflow ... ok
[INFO] [stderr] 
[INFO] [stdout] test test_simplex_pipeline::test_paired_end_umi_workflow ... ok
[INFO] [stderr] 
[INFO] [stderr] Stack backtrace:
[INFO] [stderr]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stderr]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stderr]    1: <fgumi_lib::commands::downsample::Downsample as fgumi_lib::commands::command::Command>::execute
[INFO] [stdout] test test_simulate_sort::test_grouped_reads_duplex_matches_samtools ... ignored, requires samtools and fgumi with simulate feature
[INFO] [stderr]              at ./src/lib/commands/downsample.rs:99:13
[INFO] [stderr]    2: <fgumi::Subcommand>::execute
[INFO] [stderr]              at ./src/main.rs:143:42
[INFO] [stderr]    3: fgumi::main
[INFO] [stderr]              at ./src/main.rs:183:21
[INFO] [stdout] test test_simulate_sort::test_grouped_reads_simplex_matches_samtools ... ignored, requires samtools and fgumi with simulate feature
[INFO] [stderr]    4: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout] test test_simulate_sort::test_large_dataset_matches_samtools ... ignored, requires samtools and fgumi with simulate feature; slow
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout] test test_simulate_sort::test_mapped_reads_matches_samtools ... ignored, requires samtools and fgumi with simulate feature
[INFO] [stderr]    5: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]    6: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:206:18
[INFO] [stderr]    7: <&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe as core::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:287:21
[INFO] [stderr]    8: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stderr]    9: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stderr]   10: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stderr]   11: std::rt::lang_start_internal::{closure#0}
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:175:24
[INFO] [stderr]   12: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stderr]   13: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
[INFO] [stdout] test test_sort_correctness::test_sort_coordinate_consistent_across_threads ... ignored, requires samtools
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout] test test_sort_correctness::test_sort_coordinate_in_memory ... ignored, requires samtools
[INFO] [stderr]   14: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout] test test_sort_correctness::test_sort_coordinate_many_spills_t4 ... ignored, requires samtools
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout] test test_sort_correctness::test_sort_coordinate_single_thread ... ignored, requires samtools
[INFO] [stderr]   15: std::rt::lang_start_internal
[INFO] [stdout] test test_sort_correctness::test_sort_coordinate_with_spills ... ignored, requires samtools
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:171:5
[INFO] [stderr]   16: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:205:5
[INFO] [stderr]   17: main
[INFO] [stderr]   18: <unknown>
[INFO] [stderr]   19: __libc_start_main
[INFO] [stderr]   20: _start
[INFO] [stdout] test test_sort_correctness::test_sort_queryname_lex_in_memory ... ignored, requires samtools
[INFO] [stdout] test test_sort_correctness::test_sort_queryname_lex_with_spills ... ignored, requires samtools
[INFO] [stdout] test test_sort_correctness::test_sort_queryname_natural_in_memory ... ignored, requires samtools
[INFO] [stdout] test test_sort_correctness::test_sort_queryname_natural_with_spills ... ignored, requires samtools
[INFO] [stdout] test test_sort_correctness::test_sort_template_coordinate_in_memory ... ignored, requires samtools
[INFO] [stdout] test test_sort_correctness::test_sort_template_coordinate_many_spills_t4 ... ignored, requires samtools
[INFO] [stdout] test test_sort_correctness::test_sort_template_coordinate_with_spills ... ignored, requires samtools
[INFO] [stdout] test test_sort_write_index::test_sort_fast_write_index ... ignored, requires samtools
[INFO] [stdout] test test_sort_write_index::test_sort_standard_write_index ... ignored, requires samtools
[INFO] [stdout] test test_sort_write_index::test_sort_write_index_multithreaded ... ignored, requires samtools
[INFO] [stdout] test test_downsample_command::test_downsample_invalid_fraction ... ok
[INFO] [stdout] test test_extract_command::test_bgzf_block_merge_paired_thread_counts ... ok
[INFO] [stdout] test test_pipeline_concurrency::test_pipeline_held_items_flushed_on_shutdown ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=3, total_records_serialized=6, templates_written=6
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 6 records via 7-step pipeline
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 6 in 0s (41 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Input: /tmp/.tmpNYWI7e/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmpNYWI7e/output_file.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input: /tmp/.tmpn5gNoH/input.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpn5gNoH/output_file.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Using 2 threads
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stdout] test test_extract_command::test_parallel_parse_determinism ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 6.0 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 6.0 GiB total (768 MB/thread × 8 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stdout] test test_review_command::test_review_missing_input_files ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stdout] test test_zipper_command::test_zipper_bam_mapped_input ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input: /dev/stdin
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpd6VRmf/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Using 2 threads
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.7 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::zipper] Starting zipper
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Zipping BAMs ...
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_sam] unmapped file /tmp/.tmpDdQ7Wp/unmapped.bam does not appear to be queryname sorted per the SAM header.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_sam] Continuing, but your output may be incorrect.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_sam] mapped file /tmp/.tmpDdQ7Wp/mapped.sam does not appear to be queryname sorted per the SAM header.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_sam] Continuing, but your output may be incorrect.
[INFO] [stdout] test test_sort_write_index::test_write_index_requires_coordinate_sort ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 2 (complete)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::zipper] zipper completed successfully
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Zipping BAMs completed: 2 in 0s (162 items/s)
[INFO] [stdout] test test_zipper_command::test_zipper_basic_merge ... ok
[INFO] [stdout] test test_pipeline_concurrency::test_bam_pipeline_multithreaded_determinism ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::zipper] Starting zipper
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Zipping BAMs ...
[INFO] [stderr] Error: Invalid unmapped BAM file file '/tmp/.tmpz9irgc/missing.unmapped.bam': File does not exist[2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::zipper] Starting zipper
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Zipping BAMs ...
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_sam] unmapped file /tmp/.tmpuGfAir/unmapped.bam does not appear to be queryname sorted per the SAM header.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_sam] Continuing, but your output may be incorrect.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_sam] mapped file /tmp/.tmpuGfAir/mapped.sam does not appear to be queryname sorted per the SAM header.
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_sam] Continuing, but your output may be incorrect.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::zipper] Tags for removal: {"XY"}
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::progress] Processed records 1 (complete)
[INFO] [stdout] test test_zipper_command::test_zipper_bam_stdin_input ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::zipper] zipper completed successfully
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Zipping BAMs completed: 1 in 0s (61 items/s)
[INFO] [stdout] test test_zipper_command::test_zipper_tag_removal ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Total MI groups processed: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Total groups processed by pipeline: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Input reads: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Consensus reads: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Wrote 0 consensus reads
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpn5gNoH/output_file.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total records: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accepted records: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Unique molecules: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total families: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg reads/molecule: 4.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Median reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Min reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 8 in 0s (73 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Records processed by pipeline: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::unified_pipeline::fastq] Pipeline counters: batches_read=2, batches_grouped=1, total_templates_pushed=100, total_records_serialized=200, templates_written=200
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::extract] Wrote 200 records via 7-step pipeline
[INFO] [stdout] test test_extract_command::test_parallel_parse_output_equivalence_across_threads ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Extracting UMIs completed: 200 in 0s (1,487 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stdout] test test_pipeline_concurrency::test_group_step_push_does_not_panic_under_contention ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Starting group
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input: -
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Output: /tmp/.tmpn5gNoH/output_pipe.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Strategy: Identity
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Edits: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Using 2 threads
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Reading input BAM
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Input is template-coordinate sorted
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Scheduler: BalancedChaseDrain
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpd6VRmf/output.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total records: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accepted records: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Unique molecules: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total families: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg reads/molecule: 4.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Median reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Min reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 8 in 0s (67 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Records processed by pipeline: 8
[INFO] [stdout] test test_streaming_input::test_group_command_with_dev_stdin_path ... ok
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] Stack backtrace:
[INFO] [stderr]    0: <anyhow::Error as core::convert::From<fgumi_lib::errors::FgumiError>>::from
[INFO] [stderr]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stderr]    1: <core::result::Result<(), anyhow::Error> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible, fgumi_lib::errors::FgumiError>>>::from_residual
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:2189:27
[INFO] [stderr]    2: <fgumi_lib::commands::zipper::Zipper as fgumi_lib::commands::command::Command>::execute
[INFO] [stderr]              at ./src/lib/commands/zipper.rs:1027:9
[INFO] [stderr]    3: <fgumi::Subcommand>::execute
[INFO] [stderr]              at ./src/main.rs:130:38
[INFO] [stderr]    4: fgumi::main
[INFO] [stderr]              at ./src/main.rs:183:21
[INFO] [stderr]    5: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stderr]    6: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]    7: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:206:18
[INFO] [stderr]    8: <&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe as core::ops::function::FnOnce<()>>::call_once
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:287:21
[INFO] [stderr]    9: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stderr]   10: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stderr]   11: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stderr]   12: std::rt::lang_start_internal::{closure#0}
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:175:24
[INFO] [stderr]   13: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stderr]   14: std::panicking::catch_unwind::<isize, std::rt::lang_start_internal::{closure#0}>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stderr]   15: std::panic::catch_unwind::<std::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stderr]   16: std::rt::lang_start_internal
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:171:5
[INFO] [stderr]   17: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>
[INFO] [stderr]              at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/rt.rs:205:5
[INFO] [stderr]   18: main
[INFO] [stderr]   19: <unknown>
[INFO] [stderr]   20: __libc_start_main
[INFO] [stderr]   21: _start
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus ...
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Starting Simplex
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Input: -
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Output: /tmp/.tmpNYWI7e/output_pipe.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Min reads: 1
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate pre-UMI: Q45
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Error rate post-UMI: Q40
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Overlapping consensus calling enabled
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Processing reads and calling consensus (streaming)...
[INFO] [stderr] [2026-05-12T10:13:43Z WARN  fgumi_lib::commands::common] Requested memory 1.5 GiB exceeds 90% of system memory (1.4 GiB). System has 1.5 GiB total, 11.6 GiB available. This may cause OOM conditions.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::common] Queue memory limit: 1.5 GiB total (768 MB/thread × 2 threads)
[INFO] [stdout] test test_zipper_command::test_zipper_missing_input ... ok
[INFO] [stdout] test test_streaming_input::test_group_command_with_piped_input ... ok
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Wrote output to /tmp/.tmpn5gNoH/output_pipe.bam
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] UMI Grouping Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total records: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accepted records: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Accept rate: 100.00%
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Unique molecules: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Total families: 2
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Avg reads/molecule: 4.0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Median reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Min reads/molecule: 3
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Max reads/molecule: 5
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 0 records due to mapping issues.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Filtered out 0 records that contained one or more Ns in their UMIs.
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Grouping reads by UMI completed: 8 in 0s (75 items/s)
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] group completed successfully
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::group] Records processed by pipeline: 8
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner] Overlapping consensus statistics:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Overlapping bases examined: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases agreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases disagreeing: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::consensus_runner]   Bases corrected: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Consensus calling complete
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Total MI groups processed: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Total groups processed by pipeline: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Consensus Calling Summary:
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Input reads: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Consensus reads: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging]   Filtered reads: 0
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::commands::simplex] Wrote 0 consensus reads
[INFO] [stderr] [2026-05-12T10:13:43Z INFO  fgumi_lib::logging] Calling simplex consensus completed: 0 in 0s (0.0 items/min)
[INFO] [stdout] test test_streaming_input::test_simplex_command_with_piped_input ... ok
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::logging] Computing simplex metrics completed: 6 in 0s (12 items/s)
[INFO] [stdout] test test_simplex_metrics_command::test_simplex_metrics_command_umi_metrics ... ok
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::logging] Computing simplex metrics completed: 6 in 0s (11 items/s)
[INFO] [stdout] test test_simplex_metrics_command::test_simplex_metrics_command_creates_output_files ... ok
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::logging] Computing simplex metrics completed: 6 in 0s (11 items/s)
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi] Running fgumi version 0.2.0
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] SimplexMetrics
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics]   Input: /tmp/.tmprcDxEi/input.bam
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics]   Output prefix: /tmp/.tmprcDxEi/output_strict
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics]   Min reads: 3
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::logging] Computing simplex metrics ...
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Processing templates in single pass at 20 sampling fractions...
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::progress] Processed records 12 (complete)
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Processed 6 templates
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Writing metrics...
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Wrote family size metrics to /tmp/.tmprcDxEi/output_strict.family_sizes.txt
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Wrote UMI metrics to /tmp/.tmprcDxEi/output_strict.umi_counts.txt
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Wrote yield metrics to /tmp/.tmprcDxEi/output_strict.simplex_yield_metrics.txt
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::logging] Computing simplex metrics completed: 6 in 0s (9 items/s)
[INFO] [stdout] test test_simplex_metrics_command::test_simplex_metrics_command_family_sizes ... ok
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::logging] Computing simplex metrics completed: 6 in 0s (9 items/s)
[INFO] [stdout] test test_simplex_metrics_command::test_simplex_metrics_command_yield_metrics ... ok
[INFO] [stdout] test test_pipeline_concurrency::test_bam_pipeline_multithreaded_record_preservation ... ok
[INFO] [stdout] test test_dedup_command::test_dedup_no_umi_large_position_group ... ok
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] R or required packages (ggplot2, scales) not available. Skipping PDF generation.
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics] To enable PDF generation, install R and required packages:
[INFO] [stderr] [2026-05-12T10:13:44Z WARN  fgumi_lib::commands::simplex_metrics]   install.packages(c("ggplot2", "scales"))
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::commands::simplex_metrics] Done!
[INFO] [stderr] [2026-05-12T10:13:44Z INFO  fgumi_lib::logging] Computing simplex metrics completed: 6 in 0s (19 items/s)
[INFO] [stdout] test test_simplex_metrics_command::test_simplex_metrics_min_reads_parameter ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 161 passed; 0 failed; 23 ignored; 0 measured; 0 filtered out; finished in 2.23s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-a5f3f0e78e8b85f2)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test test_metrics_basic_fields ... ok
[INFO] [stdout] test test_umi_grouping_metrics_workflow ... ok
[INFO] [stdout] test test_format_duration_realistic ... ok
[INFO] [stdout] test test_format_rate_with_realistic_data ... ok
[INFO] [stdout] test test_family_size_metrics_distribution ... ok
[INFO] [stdout] test test_format_percent_integration ... ok
[INFO] [stdout] test test_identity_assigner_basic_workflow ... ok
[INFO] [stdout] test test_adjacency_respects_count_gradient ... ok
[INFO] [stdout] test test_adjacency_assigner_with_error_correction ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests fgumi_lib
[INFO] [stdout] 
[INFO] [stdout] running 53 tests
[INFO] [stdout] test src/lib/bam_io.rs - bam_io::IndexingBamWriter (line 335) ... ignored
[INFO] [stdout] test src/lib/bam_io.rs - bam_io::create_bam_reader (line 657) - compile ... ok
[INFO] [stdout] test src/lib/bam_io.rs - bam_io::create_bam_reader_for_pipeline (line 1147) - compile ... ok
[INFO] [stdout] test src/lib/bam_io.rs - bam_io::create_bam_writer (line 949) - compile ... ok
[INFO] [stdout] test src/lib/bam_io.rs - bam_io::create_optional_bam_writer (line 997) - compile ... ok
[INFO] [stdout] test src/lib/commands/correct.rs - commands::correct (line 10) - compile ... ok
[INFO] [stdout] test src/lib/commands/correct.rs - commands::correct::CorrectUmis (line 117) - compile ... ok
[INFO] [stdout] test src/lib/commands/correct.rs - commands::correct::CorrectUmis::execute (line 363) - compile ... ok
[INFO] [stdout] test src/lib/fastq.rs - fastq (line 16) ... ignored
[INFO] [stdout] test src/lib/fastq.rs - fastq::ReadSetIterator (line 297) ... ignored
[INFO] [stdout] test src/lib/fastq.rs - fastq::ReadSetIterator::new (line 355) ... ignored
[INFO] [stdout] test src/lib/grouper.rs - grouper::TemplateGrouper (line 155) ... ignored
[INFO] [stdout] test src/lib/commands/duplex.rs - commands::duplex::Duplex::execute (line 235) - compile ... ok
[INFO] [stdout] test src/lib/logging.rs - logging::log_consensus_summary (line 120) - compile ... ok
[INFO] [stdout] test src/lib/logging.rs - logging::OperationTimer (line 232) - compile ... ok
[INFO] [stdout] test src/lib/logging.rs - logging::log_umi_grouping_summary (line 170) - compile ... ok
[INFO] [stdout] test src/lib/mod.rs - (line 56) - compile ... ok
[INFO] [stdout] test src/lib/bam_io.rs - bam_io::is_stdin_path (line 1023) ... ok
[INFO] [stdout] test src/lib/mod.rs - (line 69) - compile ... ok
[INFO] [stdout] test src/lib/bam_io.rs - bam_io::is_stdout_path (line 1041) ... ok
[INFO] [stdout] test src/lib/mod.rs - (line 41) - compile ... ok
[INFO] [stdout] test src/lib/reference.rs - reference::ReferenceReader::base_at (line 335) - compile ... ok
[INFO] [stdout] test src/lib/commands/correct.rs - commands::correct::find_umi_pairs_within_distance (line 1558) ... ok
[INFO] [stdout] test src/lib/sort/memory_probe.rs - sort::memory_probe (line 23) ... ignored
[INFO] [stdout] test src/lib/template.rs - template (line 24) ... ignored
[INFO] [stdout] test src/lib/template.rs - template::Template::pair_orientation (line 364) ... ignored
[INFO] [stdout] test src/lib/unified_pipeline/base.rs - unified_pipeline::base::MemoryTracker (line 464) ... ignored
[INFO] [stdout] test src/lib/unified_pipeline/base.rs - unified_pipeline::base::ReorderBufferState (line 749) ... ignored
[INFO] [stdout] test src/lib/unified_pipeline/base.rs - unified_pipeline::base::WorkerCoreState (line 1900) ... ignored
[INFO] [stdout] test src/lib/reference.rs - reference::ReferenceReader::new (line 176) - compile ... ok
[INFO] [stdout] test src/lib/unified_pipeline/base.rs - unified_pipeline::base::WorkerStateCommon (line 4241) ... ignored
[INFO] [stdout] test src/lib/unified_pipeline/base.rs - unified_pipeline::base::run_monitor_loop (line 2184) ... ignored
[INFO] [stdout] test src/lib/unified_pipeline/queue.rs - unified_pipeline::queue::OrderedQueue (line 42) ... ignored
[INFO] [stdout] test src/lib/reference.rs - reference::find_dict_path (line 132) - compile ... ok
[INFO] [stdout] test src/lib/commands/correct.rs - commands::correct::count_mismatches_with_max (line 1400) ... ok
[INFO] [stdout] test src/lib/logging.rs - logging::format_duration (line 48) ... ok
[INFO] [stdout] test src/lib/unified_pipeline/rebalancer.rs - unified_pipeline::rebalancer::DynamicRebalancer (line 51) ... ignored
[INFO] [stdout] test src/lib/reference.rs - reference::ReferenceReader::fetch (line 265) - compile ... ok
[INFO] [stdout] test src/lib/logging.rs - logging::format_percent (line 24) ... ok
[INFO] [stdout] test src/lib/validation.rs - validation::validate_files_exist (line 52) - compile ... ok
[INFO] [stdout] test src/lib/logging.rs - logging::format_rate (line 85) ... ok
[INFO] [stdout] test src/lib/mod.rs - (line 87) ... ok
[INFO] [stdout] test src/lib/prefetch_reader.rs - prefetch_reader::PrefetchReader (line 83) ... ok
[INFO] [stdout] test src/lib/progress.rs - progress::ProgressTracker (line 103) ... ok
[INFO] [stdout] test src/lib/reorder_buffer.rs - reorder_buffer (line 9) ... ok
[INFO] [stdout] test src/lib/reorder_buffer.rs - reorder_buffer::ReorderBuffer<T>::drain_ready (line 178) ... ok
[INFO] [stdout] test src/lib/validation.rs - validation::validate_error_rate (line 122) ... ok
[INFO] [stdout] test src/lib/validation.rs - validation::validate_file_exists (line 24) ... ok
[INFO] [stdout] test src/lib/validation.rs - validation::validate_min_max (line 81) ... ok
[INFO] [stdout] test src/lib/validation.rs - validation::validate_positive (line 173) ... ok
[INFO] [stdout] test src/lib/progress.rs - progress::ProgressTracker (line 89) ... ok
[INFO] [stdout] test src/lib/validation.rs - validation::parse_memory_size (line 203) ... ok
[INFO] [stdout] test src/lib/validation.rs - validation::validate_quality_score (line 148) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 15 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.65s; merged doctests compilation took 1.64s
[INFO] running `Command { std: "docker" "inspect" "b0899881b8e6279963d7feccb4299fe02d34cab7a9f4d71248082a3625c2d23c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0899881b8e6279963d7feccb4299fe02d34cab7a9f4d71248082a3625c2d23c", kill_on_drop: false }`
[INFO] [stdout] b0899881b8e6279963d7feccb4299fe02d34cab7a9f4d71248082a3625c2d23c
