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

pirl-unc / mhcgnomes / 33473650797
90%

Build:
DEFAULT BRANCH: main
Ran 01 Sep 2026 05:29AM 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:27AM UTC coverage: 89.393% (+0.03%) from 89.361%
33473650797

push

github

web-flow
Do not assign a species to a gene symbol shared across lineages (#130) (#161)

parse_gene_without_species ranked every species declaring a digit-bearing gene
name and returned whichever had the longest gene list. That was written for
BLB2, whose two declarers are Galliformes sp. and its own descendant Gallus
gallus. Applied to DRB1 it ranked 45 unrelated declarers -- humans, cattle,
dogs, horses -- and returned Macaca fascicularis.

The ranking now runs only when the declarers lie in a single lineage.
Otherwise the symbol names no species and the parse returns None, which is
what #108 established for input that justifies nothing. DRB1*01:01,
DQA1*01:01, DQB1*05:01, DPA1*01:03 and DPB1*04:01 all stop claiming a macaque.
With the default species left alone they still read as human, so the ordinary
case is untouched.

BF2 was the one real casualty. IEDB publishes chicken alleles under the bare
form -- BF2*2101, BF2*0401, BF2*1301 and more, 170 assay entries between them
-- while GenBank EU430728.1 and EF643463.1 are both "Numida meleagris MHC
class I antigen (BF2) mRNA", so neither species could simply be dropped. The
guineafowl's BF2 is marked `context only`, the property #113 added: NumiMele-BF2
resolves and the bare form stays with the chicken. The attested side gets the
bare name, as AGENTS.md already says for prefixes.

Also fixes a provenance bug found on the way. infer_species_from_prefix falls
back to a gene name unique to one species and returns an empty matched string
to say that nothing in the input matched; species_named_in counted it anyway.
So "A8*01:01" reported species_source == "explicit" and
require_explicit_species=True accepted a string that names no species. 98 gene
names took that route.

Filed #160 for the reason Ia1 no longer resolves: the tokenizer lower-cases
before declares_gene_with_same_case is consulted, so the case-aware ranking key
has never fired in the normal path.

0 of 36,752 corpus names change; the corpus was rebuilt... (continued)

4239 of 4742 relevant lines covered (89.39%)

0.89 hits per line

Coverage Regressions

Lines Coverage ∆ File
63
94.06
0.08% parser.py
28
89.91
0.0% species.py
Jobs
ID Job ID Ran Files Coverage
1 33473650797.1 01 Sep 2026 05:29AM UTC 41
89.39
GitHub Action Run
Source Files on build 33473650797
  • Tree
  • List 41
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33473650797
  • 33faa622 on github
  • Prev Build on main (#33471982221)
  • Next Build on main (#33474521325)
  • 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