lamindb.curators.SomaExperimentCurator¶
- class lamindb.curators.SomaExperimentCurator(dataset, schema)¶
Bases:
SlotsCurator
Curator for
TileDB-SOMA
.- Parameters:
dataset (SOMAExperiment | Artifact) – The
tiledbsoma.Experiment
object.schema (Schema) – A
Schema
object that defines the validation constraints.
Example
curate_soma_experiment.py¶import lamindb as ln import bionty as bt import tiledbsoma as soma import tiledbsoma.io adata = ln.core.datasets.small_dataset1(otype="AnnData") tiledbsoma.io.from_anndata("small_dataset.tiledbsoma", adata, measurement_name="RNA") experiment = soma.Experiment.open("small_dataset.tiledbsoma") obs_schema = ln.Schema( name="soma_obs_schema", features=[ ln.Feature(name="cell_type_by_expert", dtype=bt.CellType).save(), ln.Feature(name="cell_type_by_model", dtype=bt.CellType).save(), ], ).save() var_schema = ln.Schema( name="soma_var_schema", features=[ ln.Feature(name="var_id", dtype=bt.Gene.ensembl_gene_id).save(), ], coerce_dtype=True, ).save() soma_schema = ln.Schema( name="soma_experiment_schema", otype="tiledbsoma", slots={ "obs": obs_schema, "ms:RNA.T": var_schema, }, ).save() curator = ln.curators.SomaExperimentCurator(experiment, soma_schema) curator.validate() artifact = curator.save_artifact( key="examples/soma_experiment.tiledbsoma", description="SOMA experiment with schema validation", ) assert artifact.schema == soma_schema artifact.describe()
See also
Attributes¶
- property slots: dict[str, DataFrameCurator]¶
Access sub curators by slot.
Methods¶
- save_artifact(*, key=None, description=None, revises=None, run=None)¶
Save an annotated artifact.
- Parameters:
key (
str
|None
, default:None
) – A path-like key to reference artifact in default storage, e.g.,"myfolder/myfile.fcs"
. Artifacts with the same key form a version family.description (
str
|None
, default:None
) – A description.revises (
Artifact
|None
, default:None
) – Previous version of the artifact. Is an alternative way to passingkey
to trigger a new version.run (
Run
|None
, default:None
) – The run that creates the artifact.
- Return type:
- Returns:
A saved artifact record.
- validate()¶
Validate dataset against Schema.
- Raises:
lamindb.errors.ValidationError – If validation fails.
- Return type:
None