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

openvax / topiary / 24329397628
87%
master: 90%

Build:
Build:
LAST BUILD BRANCH: v5.16.2
DEFAULT BRANCH: master
Ran 13 Apr 2026 06:46AM UTC
Jobs 3
Files 29
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

13 Apr 2026 06:39AM UTC coverage: 87.281% (+0.2%) from 87.113%
24329397628

Pull #117

github

iskandr
Add LENS report loader + logistic_normalized (#110, #116) — v5.1.0

topiary.read_lens(path) — load LENS (Landscape of Effective Neoantigens
Software) reports in three schema variants (v1.4, v1.5.1, v1.9-dev)
into Topiary's wide-form schema (#110).

- Column-based version detection (netmhcstabpan_1.0.* → v1.4,
  snaf_exp → v1.5.1, lohhla_allele_loss_pval → v1.9).
- Binding column remap (netmhcpan_4.1b.aff_nm → netmhcpan_affinity_value,
  etc.) with per-model versions captured in Metadata.models.
- Allele normalization via mhcgnomes (handles Class I, II, mouse —
  removes the manual "insert a star" hack).
- effect_type synthesized from HGVS variant_effect when present
  (p.Ala290Val → Substitution, p.Thr259fs → FrameShift, etc.); falls
  back to antigen_source mapping for v1.4 which lacks variant_effect.
- Flanks derived from pep_context only for SNV/SPLICE/FUSION where the
  peptide occurs exactly once; ERV/INDEL/CTA skipped because pep_context
  is the full ORF (up to ~550 residues) or ambiguous.
- tpm handled carefully: fusion rows have composite "ENST1:tpm1-ENST2:tpm2"
  strings — numeric gene_tpm is NaN with the raw string preserved in
  gene_tpm_raw; when every row is cleanly numeric the raw column is
  dropped.
- LENS-specific annotations (erv_*, priority_score_*, b2m_*, hla_*,
  lohhla_*, normal-tissue TPMs, agretopicity, etc.) pass through
  verbatim and are accessible via Column("…") in the DSL.
- Honest about losses: peptide_offset set to 0 (not in LENS);
  contains_mutant_residues / mutation_start_in_peptide left NaN
  (mut_aa_pos semantics ambiguous across antigen_source types).

DSLNode.logistic_normalized(midpoint, width) — logistic sigmoid
rescaled to approach 1 as x → -∞ rather than capping at
1/(1+exp(-m/w)) (~0.912 at (350, 150)) (#116). Separate
LogisticNormalizedExpr AST node so to_expr_string() round-trips
cleanly through parse(); registered in the parser's transform
whitelist. The raw .logistic(...) is unchanged.

Fixtures: tests/... (continued)
Pull Request #117: Add LENS report loader + logistic_normalized — v5.1.0

157 of 174 new or added lines in 3 files covered. (90.23%)

2745 of 3145 relevant lines covered (87.28%)

2.62 hits per line

Uncovered Changes

Lines Coverage ∆ File
14
90.41
topiary/io_lens.py
3
87.16
0.05% topiary/ranking/nodes.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.11 - 24329397628.1 13 Apr 2026 06:46AM UTC 29
87.28
GitHub Action Run
2 python-3.12 - 24329397628.2 13 Apr 2026 06:46AM UTC 29
87.28
GitHub Action Run
3 python-3.10 - 24329397628.3 13 Apr 2026 06:47AM UTC 29
87.28
GitHub Action Run
Source Files on build 24329397628
  • Tree
  • List 29
  • Changed 4
  • Source Changed 4
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24329397628
  • Pull Request #117
  • PR Base - master (#24316538253)
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