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

pirl-unc / mhcgnomes / 33471982221
90%

Build:
DEFAULT BRANCH: main
Ran 01 Sep 2026 05:03AM UTC
Jobs 1
Files 41
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

01 Sep 2026 05:01AM UTC coverage: 89.361% (+0.09%) from 89.273%
33471982221

push

github

web-flow
Add the nine HLA class I gene fragments (#113) (#159)

IMGT/HLA names class I gene fragments N, R, S, T, U, W, X, Y and Z, which
species.yaml held back with a comment giving two reasons: adding them flips
bare "n", "s", "u" from mouse and rat haplotype shorthand into human genes,
and lets fragments with no deposited sequence accept allele fields.

Both are real, and they need different answers.

`alleles: none` marks a locus whose authority deposits nothing under it.
IPD-IMGT/HLA 3.65.0 Allelelist.txt gives zero alleles to HLA-X, HLA-Z,
HLA-DQB3, HLA-DPA3, MICC, MICD, MICE, PSMB8 and PSMB9. Allele.get_with_gene
refuses to build on those, so HLA-Z resolves and HLA-Z*01:01 does not -- which
also closes a live gap, since HLA-MICC*01:01 parses today.

The other seven fragments do have alleles -- W 13, T 9, S and U 7, N 5, Y 3,
R 2 -- so HLA-W*01:01:01:01 is a real name and parses. My earlier note on this
issue said all nine were allele-less; that came from the gene list rather than
the allele list.

`context only: true` keeps a gene out of species-less lookup, the gene-level
analogue of `context only prefixes`. Bare N stays RT1-n and bare S stays H2-s,
while HLA-N and parse("N", species="Homo sapiens") resolve. The guard is needed
in three places: the bare-token path, species inference from a gene name, and
parse_standard_allele_format, which returns before either and was still
resolving "N*01:01" to human.

P and V stay resolvable bare. They are equally single letters, but that
behaviour predates this and changing it is #130, not a side effect of adding
data.

test_nonsense_inputs.py listed HLA-X as "not a valid gene", which encoded our
gap as a fact about the nomenclature; replaced with positive coverage.

0 of 25,200 corpus names change. 15,996 tests pass.

Claude-Session: https://claude.ai/code/session_012s4siLj2Vm33eNMGjNSazH

4225 of 4728 relevant lines covered (89.36%)

0.89 hits per line

Coverage Regressions

Lines Coverage ∆ File
65
93.98
0.04% parser.py
56
89.91
0.32% species.py
34
85.19
0.15% function_api.py
5
93.44
0.07% allele.py
2
91.11
0.41% standard_format.py
Jobs
ID Job ID Ran Files Coverage
1 33471982221.1 01 Sep 2026 05:03AM UTC 41
89.36
GitHub Action Run
Source Files on build 33471982221
  • Tree
  • List 41
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33471982221
  • 38703ff0 on github
  • Prev Build on main (#33470360544)
  • Next Build on main (#33473650797)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc