Plot fixes, filename centralization, and pre-release option lockout - #246
Merged
RunpengLuo merged 4 commits intoJul 31, 2026
Merged
Conversation
…layout; prune dead config
Styling:
- Move all plot hyper-parameters into hatchet.yaml under plot_* keys, shared
across cluster-bins (plot-rdr-baf), plot-cn, and plot-panel via a single
get_plot_style(args); register them as hidden CLI flags
(add_arguments_plot_style).
cluster-bins plots:
- Split K plots into K{k}.pdf (1D/2D) + K{k}.diagnostic.pdf; only bulk.K{k}.pdf
copied to bbc/.
- Unify 1D onto the multi-sample layout matching plot-cn (all samples one page,
2 rows/sample); fix gray-axes box, drop "sample=" titles, snug legend, pad
mhBAF/RDR ranges.
plot-panel:
- Always show all clones; drop show_prop inlining and min_prop filtering, which
mishandled the multi-sample case (iloc[0]).
- Forward the resolved plot_* style to plot_1d2d sub-runs instead of dead
hardcoded constants.
compute-cn:
- Move run_plot_cn and plot_pareto_curve (was plot_pareto_pdf) into
plot_compute_cn.py; config-driven.
- Remove dead filtering() (superseded by cluster-bins filter_clusters);
reorder compute_cn_utils.py into labeled sections.
Cleanup:
- Remove dead show_prop config (hatchet.yaml + --show_prop flag).
- tests: fix snakemake config section names (underscore -> hyphen).
- gitignore: ignore .vscode/.
…labels - Add src/hatchet/filenames.py as the single source of truth for pipeline input/output/subdirectory names (constants + templated helpers). Wire cluster-bins, compute-cn, evaluate, plot, and utils through it so producer/consumer filename contracts (gammas, best.*.ucn, summary, results.*, objectives, sols/) cannot silently drift. Legacy evaluate_pool_solutions names (no current producer) are flagged, not faked. - plot_compute_cn: rename _format_pool_label -> _fmt_pool_label, add _fmt_prop, inline per-sample clone proportions in pool-panel y-labels.
- Drop the bin_dir U-initialization entirely: remove _random_tumor_matrix_bin_dir, its build_random_u branch, and the u_bin_p parameter from parser, yaml, compute_cn, and inference. - Hide cnt_cd from --mode choices and hide its companion args (--tree_file, --eps_fit) from --help. Both remain reachable internally and in tests; they are simply not user-selectable pre-release. - Sync docs (reference.md table, compute-cn.md --help usage).
Brand text only (package description, CI step name, docstrings, comments). Does not touch the lowercase env/bioconda identifier `hatchet3`.
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## hatchet3-dev #246 +/- ##
===============================================
Coverage ? 60.58%
===============================================
Files ? 39
Lines ? 5074
Branches ? 0
===============================================
Hits ? 3074
Misses ? 2000
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Groups four related changes on
feat/plot-fixes(squash-merges to one commit). Full test suite (63) passes; ruff check + format clean.Plot fixes
hatchet.yaml(plot_*keys, sharedget_plot_style); registered as hidden CLI flags.K{k}.pdf(1D/2D) +K{k}.diagnostic.pdf; 1D unified onto plot-cn's multi-sample layout; fix axes box, titles, legend, value ranges.show_prop/min_prop); forward resolved style toplot_1d2dsub-runs.Filename centralization
src/hatchet/filenames.py: single source of truth for all input/output/subdirectory names (constants + templated helpers). cluster-bins, compute-cn, evaluate, plot, and utils import from it so producer/consumer filename contracts cannot silently drift.Restrict pre-release solver options
bin_dirU-initialization entirely (parameter + code path).cnt_cdfrom--modeand its companion args (--tree_file,--eps_fit) from--help; still reachable internally and in tests, just not user-selectable pre-release.reference.md,compute-cn.md).Cleanup
run_plot_cn/plot_pareto_curveintoplot_compute_cn.py; remove deadfiltering(); reordercompute_cn_utils.pyinto sections.show_propconfig; fix snakemake test config section names (underscore -> hyphen); ignore.vscode/.HATCHet3->HATCHet(docs, metadata, test strings); the lowercasehatchet3env/bioconda identifier is intentionally unchanged.