Covariates¶
Covariates are what the model is told about the sample besides the image. Every one of them is optional, and a model accepts only the ones its card declares.
| Kind | Container | Charges | Item cap | Size cap |
|---|---|---|---|---|
bulk_rna |
table |
— | — | 64 MiB |
tissue |
enum |
— | — | — |
disease |
enum |
— | — | — |
None of them charges a quota counter: they are small, and pricing a single word would be theatre.
tissue and disease¶
One value each, from a fixed vocabulary. They are labels, not free text, so that a model conditioned on them sees the same token you meant. A value outside the vocabulary is refused rather than mapped to a nearest neighbour.
bulk_rna¶
A bulk expression profile for the same sample, as a table.
| Part | Contract |
|---|---|
| Layouts | long, wide |
| Units | counts, tpm |
| Minimum gene coverage | 60 % of the model's input gene set |
Long layout is one row per gene; wide layout is one row of values under gene column names. Either is accepted, and gene names are resolved through the same gene table as everything else, so previous symbols and aliases work.
Coverage is checked before anything runs. A table that covers less than the
stated fraction of the model's input gene set is refused with
bulk_rna_coverage_too_low rather
than padded with zeros: a zero in an expression table is a measurement, and
inventing it changes the answer without telling you.
Bulk RNA is used in one of two ways, and the model's card says which. A calibration layer needs no retraining and its output is labelled as calibrated; a model with a bulk branch was trained with it. The distinction matters when you compare results, which is why it is on the card and in the result file's provenance rather than in a release note.