• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pirl-unc / tcrsift / 25832097975 / 2
84%
main: 84%

Build:
DEFAULT BRANCH: main
Ran 13 May 2026 11:23PM UTC
Files 25
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 May 2026 11:21PM UTC coverage: 72.048% (+0.4%) from 71.613%
25832097975.2

push

github

web-flow
Structured-annotation plot family — #48 phase B (#62)

Adds four matplotlib/seaborn plots that consume the structured-
annotation columns landed in #48 phase A. All four are wired into the
existing `plot_annotations` entry point, so the CLI's existing
`--plot-annotations` flag picks them up automatically once a user
has run annotation against the public DBs.

Plots:

1. `plot_matched_clone_heatmap` — top-N matched clones × samples
   heatmap with an annotation strip on the left carrying category /
   protein_canonical / peptide / MHC, one colored column per field.
   Uses sns.clustermap with row clustering off and explicit row_colors.

2. `plot_category_composition_bar` — per-sample stacked bar of clone
   fractions grouped by the chosen granularity. Stable color palette
   so `tumor_self` is always the same red, `viral` always the same
   blue, etc. Unmatched clones get a dedicated bucket so the y-axis
   sums to 1.0.

3. Granularity selector — both heatmap and composition bar accept a
   `granularity` parameter ("category" / "organism" / "protein" /
   "peptide") that maps to the underlying column. The orchestrator
   loops over all four so users get the full family without specifying.

4. `plot_match_strength_comparison` — renders the heatmap twice,
   once for `db_match_strength == "ab"` and once for `"b_only"`, so
   the αβ-vs-β-only delta is visible at a glance (the issue's
   "currently the only way to see this is to grep the CSV" complaint).

Shared infrastructure:

- `DB_CATEGORY_PALETTE` — stable category → hex color mapping. Same
  category is always the same color across plots / runs / figures.
- `GRANULARITY_COLUMNS` — friendly-name → column-name map.
- `_expand_sample_frequencies` — pivots the per-clone
  `sample_frequencies` dict into a wide DataFrame (clones × samples,
  zero-filled). Reused by every plot.
- `_top_n_clones` — falls back through ranking columns
  (`max_frequency_per_method` → `max_frequency` → `cell_count`).
- `_categor... (continued)

4954 of 6876 relevant lines covered (72.05%)

0.72 hits per line

Source Files on job python-3.10 - 25832097975.2
  • Tree
  • List 25
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25832097975
  • 6e79ab0b on github
  • Prev Job for on main (#25830380843.4)
  • Next Job for on main (#25855322242.3)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc