Skip to content

Fix: -i and -d flags now respected in both classify modes (v2.7.1)#17

Merged
glarue merged 1 commit into
mainfrom
fix/isoform-flag-parity-v2.7.x
May 29, 2026
Merged

Fix: -i and -d flags now respected in both classify modes (v2.7.1)#17
glarue merged 1 commit into
mainfrom
fix/isoform-flag-parity-v2.7.x

Conversation

@glarue

@glarue glarue commented May 29, 2026

Copy link
Copy Markdown
Owner

Backport of the isoform-flag-parity fix from the v2.4.x maintenance line (v2.4.3) onto origin/main (v2.7.0).

The in-memory post-extraction filter hardcoded longest_only=True and include_duplicates=False, ignoring CLI flags. The streaming per-contig worker hardcoded longest_only=True and did not have allow_multiple_isoforms plumbed into its config_dict. The extraction prefilter should_extract_sequences_for always skipped coord-duplicates regardless of include_duplicates. All three sites now consult config consistently; streaming/in-memory equivalence holds across all (-i, -d) flag combinations.

Tests added: synthetic alt-isoform fixture (1 gene, 2 isoforms, 1 shared intron, 1 alt-spliced intron) + 16 behavior assertions across (in-memory, streaming) x 4 flag combos. Existing streaming-equivalence suite extended with test_streaming_matches_in_memory_with_flags parametrized over the same flag combos. tests/unit/test_filters.py updated to reflect corrected include_duplicates semantics in should_extract_sequences_for.

Backport of the isoform-flag-parity fix from the v2.4.x maintenance
line (v2.4.3) onto origin/main (v2.7.0).

The in-memory post-extraction filter hardcoded longest_only=True and
include_duplicates=False, ignoring CLI flags. The streaming per-contig
worker hardcoded longest_only=True and did not have
allow_multiple_isoforms plumbed into its config_dict. The extraction
prefilter `should_extract_sequences_for` always skipped coord-duplicates
regardless of include_duplicates. All three sites now consult config
consistently; streaming/in-memory equivalence holds across all
(-i, -d) flag combinations.

Tests added: synthetic alt-isoform fixture (1 gene, 2 isoforms, 1 shared
intron, 1 alt-spliced intron) + 16 behavior assertions across
(in-memory, streaming) x 4 flag combos. Existing streaming-equivalence
suite extended with test_streaming_matches_in_memory_with_flags
parametrized over the same flag combos. tests/unit/test_filters.py
updated to reflect corrected include_duplicates semantics in
should_extract_sequences_for.
@glarue glarue merged commit a13c2a3 into main May 29, 2026
1 check passed
@glarue glarue deleted the fix/isoform-flag-parity-v2.7.x branch May 29, 2026 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant