Skip to content

First review pass#14

Merged
caruizelembioinfo merged 6 commits intomainfrom
first_review_pass
Feb 24, 2026
Merged

First review pass#14
caruizelembioinfo merged 6 commits intomainfrom
first_review_pass

Conversation

@caruizelembioinfo
Copy link
Copy Markdown

Addressed automated review comments:

Bugs

  • cells2stats_bar_plots.py: Wrong logic for empty check - Fixed
  • tabulate_manifest_stats: R2 description says R1 - Fixed
  • Typo in tabulate_run_stats description - Fixed
  • Trailing period in plot name - Fixed

Design Issues

  • Random plot IDs break report reproducibility - Fixed (Removed random strings)
  • find_log_files called twice to count files - Fixed (Single call collects log files and length is retrieved from list)
  • Legacy data structures initialized but unused - Fixed (Removed ununsed legacy structures)
  • Heavy code duplication between run-level and project-level parsers - Fixed (Created helper functions).

Code Quality

  • Return type annotation mismatch in _parse_run_project_data - Fixed
  • Potential KeyError in _setup_colors - Fixed, returns default.
  • numpy import unused - Fixed
  • natsort dependency - Checke presence in toml
  • num_lines: 100 for RunManifest.json - Ignored (based on Phil's comment).
  • Sorted order not preserved - Fixed (Using natsort consistently).

Minor / Style

  • self.add_software_version(None) - No changes made since the call is performed after confirming run data was present.
  • The in_project_sample_groups dict built in _setup_colors is always empty for non-project-level paths and gets merged in anyway — slightly misleading. Fixed (the dictionary was removed since even in project-level paths it had the same info as ind_sample_groups.
  • search_patterns.yaml: the bases2fastq/manifest pattern uses contents: Settings and num_lines: 100. The Settings key in RunManifest.json appears near the top so 100 lines is probably fine, but worth a comment. Ignored.
  • The module docstring in plot_runs.py and plot_samples.py remains as a bare string at module scope (not a real docstring) — per CLAUDE.md, module-level docstrings shouldn't be used; these can just be removed. Fixed (removed)

Missing Tests

  • No tests are added for the new project-level parsing paths, the manifest parser, the index assignment parser, or the unassigned sequences parser. Given the complexity of the new code (especially the path-traversal logic in _parse_run_manifest_in_project), at minimum a fixture-based test with sample JSON files would help prevent regressions. Fixed (Added fixture-based tests and integration tests (pending merge in test-data)

@caruizelembioinfo caruizelembioinfo merged commit 44c6982 into main Feb 24, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant