Repository navigation
feat(panel): validate hashing marker ids and keep collapsed bases - #481
Conversation
Hashing ids must end with -<digits> and must not nest. Sample calling keeps a collapsed base that the panel does not define. Co-authored-by: Adrien Coulier <adrien.coulier@pixelgen.com>
A count-matrix column that is not on the panel has no control flag in var after the join. Co-authored-by: Adrien Coulier <adrien.coulier@pixelgen.com>
| markers=_count_markers_after_hash_collapse( | ||
| panel, hashing_antibody_mapping.hashing_antibodies | ||
| ), | ||
| ) |
There was a problem hiding this comment.
Collapsed bases break panel reload
Medium Severity
Sample calling now keeps a collapsed hashing base in var when that id is not a panel row, so control and sequences are missing. PNAAntibodyPanel.from_adata treats every var row as a panel marker, and validation then fails. Denoise reloads the panel from the pxl file and only catches KeyError, so a dehashed file with an extra collapsed base crashes that step.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit e475f94. Configure here.
There was a problem hiding this comment.
lets ignore this bugbot comment, wont apply once we merge the stack
The panel df is already validated and curated when the panel is created. There is no need for extra checks when using the panel
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3e00755. Configure here.
|
|
||
| total_marker_counts = node_counts_df.sum(axis=1) | ||
| isotype_markers = adata.var[adata.var["control"]].index | ||
| isotype_markers = panel.df.index[panel.df["control"]] |
There was a problem hiding this comment.
Off-panel markers break panel reload
Medium Severity
pna_edgelist_to_anndata can now put collapsed hashing bases that are not on the panel into var. add_panel_information left-joins those rows, so control and sequences become missing. from_adata then treats every var row as a panel row and validation fails, so from_pxl_dataset cannot reload a dehashed file that kept an off-panel base.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 3e00755. Configure here.


Summary
controlvalue invar.Test plan
Made with Cursor