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

pirl-unc / tcrsift / 25590034963
71%

Build:
DEFAULT BRANCH: main
Ran 09 May 2026 03:10AM UTC
Jobs 4
Files 24
Run time 1min
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

09 May 2026 03:08AM UTC coverage: 71.421% (+0.1%) from 71.284%
25590034963

push

github

web-flow
Add long-format clone-by-sample CSV output (#20 chunk 1) (#23)

First slice of #20. Surfaces the per-(clone, sample) view that users
were previously reconstructing by parsing the semicolon-delimited
`samples` string on `clonotypes.csv`.

clonotype.build_clone_sample_long(adata) -> pd.DataFrame

  One row per (CDR3ab, sample) pair where the clone has >=1 cell:
    CDR3ab, sample, donor?, method?, timepoint?, apc?,
    cells, frequency, n_alpha_umis?, n_beta_umis?

  Axis columns (donor / method / timepoint / apc) are emitted only
  when the corresponding obs columns are populated, mapped to the
  short names used in the issue's column spec.

  Frequency denominator: total complete-clone cells in the sample,
  matching the convention used by max_frequency in
  aggregate_clonotypes so the two values are directly comparable.

  UMI columns (n_alpha_umis / n_beta_umis) are sums of TRA_1_umis /
  TRB_1_umis across cells in the (clone, sample) group, when those
  per-chain UMI columns are present in obs.

  Self-contained: builds CDR3ab on the fly if it isn't already on
  obs (aggregate_clonotypes works on a copy and doesn't write CDR3ab
  back). Calls rehydrate_obs first so post-h5ad-roundtrip dtypes
  don't break the groupby.

cmd_run wires it into Step 3 with a CLI knob:

  --emit-clone-sample-long {auto,always,never}    default 'auto'

  'auto' = emit when the run has >=2 samples (the regime where the
  long view is most useful and reconstructing it is most annoying).
  Threaded through OutputConfig so YAML configs work too.

Tests cover:
  - cell counts match input
  - donor / method propagation per-sample
  - UMI sums correct
  - frequency denominator uses complete-clone cells when available
  - axis columns omitted when fields aren't on obs
  - empty CDR3 cells skipped
  - raises sensibly when CDR3 columns missing entirely

Bumps version to 0.7.3 — additive output, no breaking change.

Subsequent chunks: per-method ranked CSVs, method x method overlap... (continued)

4326 of 6057 relevant lines covered (71.42%)

2.86 hits per line

Coverage Regressions

Lines Coverage ∆ File
112
56.21
-0.01% cli.py
13
90.0
0.06% config.py
2
95.31
-0.05% clonotype.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.10 - 25590034963.1 09 May 2026 03:10AM UTC 24
71.41
GitHub Action Run
2 python-3.9 - 25590034963.2 09 May 2026 03:10AM UTC 24
71.38
GitHub Action Run
3 python-3.11 - 25590034963.3 09 May 2026 03:10AM UTC 24
71.41
GitHub Action Run
4 python-3.12 - 25590034963.4 09 May 2026 03:10AM UTC 24
71.41
GitHub Action Run
Source Files on build 25590034963
  • Tree
  • List 24
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25590034963
  • 6027e046 on github
  • Prev Build on main (#25584246325)
  • Next Build on main (#25601586729)
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