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

pirl-unc / tsarina / 24797001780
71%

Build:
DEFAULT BRANCH: main
Ran 22 Apr 2026 07:01PM UTC
Jobs 1
Files 32
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

22 Apr 2026 07:00PM UTC coverage: 48.8% (-0.4%) from 49.229%
24797001780

push

github

web-flow
v1.1.0: delegate proteome k-mer walk to hitlist.proteome.proteome_kmer_set (closes #99) (#29)

The proteome-walk primitive tsarina has been caching locally since
v0.10.1 (then unified under _proteome_kmers in v1.0.1) is now available
upstream as hitlist.proteome.proteome_kmer_set (shipped in hitlist
1.14.2, live on PyPI).  Collapse tsarina's local copy into a delegate
so any sibling pirl-unc package calling the same primitive in the
same process shares one in-process cache.

Changes

- pyproject.toml: bump hitlist>=1.14.2 (required for the primitive).
- tsarina/peptides.py: delete _proteome_kmers entirely.  cta_exclusive_peptides
  now calls hitlist.proteome.proteome_kmer_set directly with
  gene_ids=_non_cta_gene_ids(release).
- tsarina/viral.py: human_exclusive_viral_peptides calls hitlist with
  gene_ids=None (full proteome).  cancer_specific_viral_peptides calls
  twice — once with non-CTA gene_ids for subtraction, once with CTA
  gene_ids for the in_cta_protein annotation.
- The tsarina-specific partition frozenset wrappers (_non_cta_gene_ids,
  _cta_gene_ids) stay in peptides.py — CTA / non-CTA is tsarina's
  concept.  The proteome walk itself is hitlist's now.

No public API change, no output schema change.  Net -50 LOC in tsarina.

Tests (tests/test_kmer_caching.py, rewritten)

- Partition frozenset memoization (same release -> same instance;
  different release -> new cache entry).
- cta_exclusive_peptides delegates to hitlist with the right gene_ids.
- human_exclusive_viral_peptides delegates with gene_ids=None.
- cancer_specific_viral_peptides delegates TWICE with non-CTA + CTA
  gene_ids, and the in_cta_protein flag is set correctly.
- Non-CTA frozenset instance is reused across callers (identical, not
  just equal) so hitlist's cache treats cross-caller calls as one
  lookup.

207 passed.

Closes #99.

935 of 1916 relevant lines covered (48.8%)

0.49 hits per line

Coverage Regressions

Lines Coverage ∆ File
33
33.85
-14.61% peptides.py
20
62.11
0.81% viral.py
Jobs
ID Job ID Ran Files Coverage
1 24797001780.1 22 Apr 2026 07:01PM UTC 32
48.8
GitHub Action Run
Source Files on build 24797001780
  • Tree
  • List 32
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24797001780
  • f3fcc862 on github
  • Prev Build on main (#24737563735)
  • Next Build on main (#24857641153)
  • Delete
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