lamindb.ULabel¶
- class lamindb.ULabel(name: str, description: str | None = None, reference: str | None = None, reference_type: str | None = None)¶
Bases:
Registry
,HasParents
,CanValidate
,TracksRun
,TracksUpdates
Universal labels (valid categories).
- Parameters:
name –
str
A name.description –
str
A description.reference –
str | None = None
For instance, an external ID or a URL.reference_type –
str | None = None
For instance,"url"
.
A
ULabel
record provides the easiest way to annotate an artifact or collection with a label:"My project"
,"curated"
, or"Batch X"
:>>> my_project = ULabel(name="My project") >>> my_project.save() >>> collection.ulabels.add(my_project)
In some cases, a label is measured within an artifact or collection a feature (a
Feature
record) denotes the column name in which the label is stored. For instance, the collection might contain measurements across 2 organism of the Iris flower:"setosa"
&"versicolor"
.See Tutorial: Features & labels to learn more.
Note
If you work with complex entities like cell lines, cell types, tissues, etc., consider using the pre-defined biological registries in
bionty
to label artifacts & collections.If you work with biological samples, likely, the only sustainable way of tracking metadata, is to create a custom schema module.
See also
Examples
Create a new label:
>>> my_project = ln.ULabel(name="My project") >>> my_project.save()
Label a artifact without associating it to a feature:
>>> ulabel = ln.ULabel.filter(name="My project").one() >>> artifact = ln.Artifact("./myfile.csv") >>> artifact.save() >>> artifact.ulabels.add(ulabel) >>> artifact.ulabels.list("name") ['My project']
Organize labels in a hierarchy:
>>> ulabels = ln.ULabel.lookup() # create a lookup >>> is_project = ln.ULabel(name="is_project") # create a super-category `is_project` >>> is_project.save() >>> ulabels.my_project.parents.add(is_project)
Query by
ULabel
:>>> ln.Artifact.filter(ulabels=project).first()
Fields
- created_at DateTimeField
Time of creation of record.
- created_by ForeignKey
Creator of record, a
User
.
- run ForeignKey
Last run that created or updated the record, a
Run
.
- updated_at DateTimeField
Time of last update to record.
- id AutoField
Internal id, valid only in one DB instance.
- uid CharField
A universal random id, valid across DB instances.
- name CharField
Name or title of ulabel (required).
- description TextField
A description (optional).
- reference CharField
A reference like URL or external ID.
- reference_type CharField
Type of reference, e.g., donor_id from Vendor X.
- previous_runs ManyToManyField
Sequence of runs that created or updated the record.
- parents ManyToManyField
Parent labels, useful to hierarchically group labels (optional).
Methods