Analyze the dataset and save a result#
import lamindb as ln
import lnschema_bionty as lb
ln.track()
💡 loaded instance: testuser1/test-facs (lamindb 0.55.2)
💡 notebook imports: lamindb==0.55.2 lnschema_bionty==0.31.2 scanpy==1.9.5
💡 Transform(id='zzJzdgJ763Dyz8', name='Analyze the dataset and save a result', short_name='facs4', version='0', type=notebook, updated_at=2023-10-10 15:46:01, created_by_id='DzTjkKse')
💡 Run(id='GMOu1feAl3sdZqeK8y0g', run_at=2023-10-10 15:46:01, transform_id='zzJzdgJ763Dyz8', created_by_id='DzTjkKse')
ln.Dataset.filter().df()
name | description | version | hash | reference | reference_type | transform_id | run_id | file_id | storage_id | initial_version_id | updated_at | created_by_id | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | |||||||||||||
QerZGf4taLaLa0UCUjEO | My versioned cytometry dataset | None | 1 | VsTnnzHN63ovNESaJtlRUQ | None | None | OWuTtS4SAponz8 | R7aH6AfJFQF8f46JiC2H | QerZGf4taLaLa0UCUjEO | None | None | 2023-10-10 15:45:30 | DzTjkKse |
QerZGf4taLaLa0UCUjCk | My versioned cytometry dataset | None | 2 | ZKQxIw0uAvtMtdZk8SAj | None | None | SmQmhrhigFPLz8 | q7FG1FkyFAdnRdyp17Hk | None | None | QerZGf4taLaLa0UCUjEO | 2023-10-10 15:45:46 | DzTjkKse |
dataset = ln.Dataset.filter(name="My versioned cytometry dataset", version="2").one()
adata = dataset.load(join="inner")
/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/site-packages/anndata/_core/anndata.py:1838: UserWarning: Observation names are not unique. To make them unique, call `.obs_names_make_unique`.
utils.warn_names_duplicates("obs")
The AnnData
has the reference to the individual files in the .obs
annotations:
adata.obs.file_id.cat.categories
Index(['9iRLixREI4t3uJwL6urF', 'QerZGf4taLaLa0UCUjEO'], dtype='object')
By default, the intersection of features is used:
adata.var.index
Index(['CD8', 'CD27', 'Ccr7', 'Cd4', 'CD45RA', 'CD3'], dtype='object')
Let us create a plot:
markers = lb.CellMarker.lookup()
import scanpy as sc
sc.pp.pca(adata)
sc.pl.pca(adata, color=markers.cd8.name, save="_cd8")
WARNING: saving figure to file figures/pca_cd8.pdf
file = ln.File("./figures/pca_cd8.pdf", description="My result on CD8")
file.save()
file.view_flow()
Given the image is part of the notebook, there isn’t an actual need to save it and you can also rely on the report that you’ll create when saving the notebook via the command line via:
lamin save <notebook_path>
# clean up test instance
!lamin delete --force test-facs
!rm -r test-flow
💡 deleting instance testuser1/test-facs
✅ deleted instance settings file: /home/runner/.lamin/instance--testuser1--test-facs.env
✅ instance cache deleted
✅ deleted '.lndb' sqlite file
❗ consider manually deleting your stored data: /home/runner/work/lamin-usecases/lamin-usecases/docs/test-facs
rm: cannot remove 'test-flow': No such file or directory