You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@jmh579 linked this from the brapiR2 review, so here's the client-library side of it.
brapiR2 is an R client for BrAPI v2.1, just through rOpenSci peer review. The test server was enough to exercise every endpoint, but not to catch the bugs that mattered each of those only appeared on real Breedbase data. Roughly in order of value, these would have caught them:
Observation units at more than one level (plot and plant, say) within one study, which is what this issue asks for.
A study with several traits, some measured on only some units. Missing observations were the first real-data failure: building a wide trait table broke when a trait was absent for some units.
Two or three trials across several locations and seasons, so multi-environment analyses have something to work with.
Genotype data linked to the phenotyped germplasm: a variant set whose call sets cover the germplasm in the trials, with a few hundred markers so a dosage matrix can be built.
A multi-generation pedigree, so parents, siblings and progeny are all populated.
Some realistic messiness: Breedbase-style trait names (name - unit|ONTOLOGY:id), a value or two with stray whitespace, and a few nulls.
It doesn't need to be large tens of germplasm and a few hundred observation units would exercise pagination and pivoting without slowing anyone's CI.
Separately, /pedigree returns the same records with or without germplasmDbId, so the filter doesn't appear to be applied. Happy to open a separate issue if that isn't intended.
Activity
josh45-source commentedon Sep 24, 2026
@jmh579 linked this from the brapiR2 review, so here's the client-library side of it.
brapiR2 is an R client for BrAPI v2.1, just through rOpenSci peer review. The test server was enough to exercise every endpoint, but not to catch the bugs that mattered each of those only appeared on real Breedbase data. Roughly in order of value, these would have caught them:
name - unit|ONTOLOGY:id), a value or two with stray whitespace, and a few nulls.It doesn't need to be large tens of germplasm and a few hundred observation units would exercise pagination and pivoting without slowing anyone's CI.
Separately,
/pedigreereturns the same records with or withoutgermplasmDbId, so the filter doesn't appear to be applied. Happy to open a separate issue if that isn't intended.