lamindb 0.48a2__tar.gz → 0.48.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lamindb-0.48a2 → lamindb-0.48.1}/.github/workflows/build.yml +3 -3
- {lamindb-0.48a2 → lamindb-0.48.1}/.gitignore +7 -7
- {lamindb-0.48a2 → lamindb-0.48.1}/PKG-INFO +10 -8
- {lamindb-0.48a2 → lamindb-0.48.1}/README.md +5 -3
- lamindb-0.48a2/docs/biology/01-registries.ipynb → lamindb-0.48.1/docs/biology/00-registries.ipynb +54 -112
- lamindb-0.48a2/docs/biology/02-scrna.ipynb → lamindb-0.48.1/docs/biology/10-scrna.ipynb +241 -116
- lamindb-0.48a2/docs/biology/04-samples.ipynb → lamindb-0.48.1/docs/biology/11-scrna-1.ipynb +99 -117
- lamindb-0.48a2/docs/biology/03-flow.ipynb → lamindb-0.48.1/docs/biology/20-flow.ipynb +90 -31
- lamindb-0.48.1/docs/biology/30-spatial.ipynb +192 -0
- lamindb-0.48.1/docs/biology/40-multimodal.ipynb +320 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/changelog.md +14 -11
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/faq/acid.ipynb +0 -70
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/faq/idempotency.ipynb +9 -9
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/faq/track-run-inputs.ipynb +6 -6
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/guide/data-lineage.ipynb +203 -91
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/guide/index.md +6 -4
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/guide/select.ipynb +21 -3
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/guide/setup.ipynb +1 -1
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/guide/tutorial1.ipynb +224 -68
- lamindb-0.48.1/docs/ref/lamin-utils.md +3 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/reference.md +3 -3
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/__init__.py +15 -24
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_context.py +5 -2
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_dataset.py +6 -3
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_delete.py +6 -6
- lamindb-0.48.1/lamindb/_feature.py +124 -0
- lamindb-0.48.1/lamindb/_feature_manager.py +176 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_feature_set.py +63 -27
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_file.py +120 -76
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_from_values.py +88 -28
- lamindb-0.48.1/lamindb/_label.py +85 -0
- lamindb-0.48.1/lamindb/_logger.py +1 -0
- lamindb-0.48.1/lamindb/_manager.py +52 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_orm.py +157 -33
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_queryset.py +37 -35
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_save.py +19 -9
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_transform.py +12 -3
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_view.py +1 -1
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/__init__.py +4 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/_settings.py +1 -1
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/_view_parents.py +70 -34
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/datasets/__init__.py +12 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/datasets/_core.py +116 -65
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/storage/__init__.py +1 -5
- lamindb-0.48.1/lamindb/dev/storage/_backed_access.py +591 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/storage/file.py +3 -1
- {lamindb-0.48a2 → lamindb-0.48.1}/noxfile.py +4 -1
- {lamindb-0.48a2 → lamindb-0.48.1}/pyproject.toml +4 -4
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/changelog.md +1 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_load_instance.py +1 -1
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_hub_core.py +11 -10
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_hub_crud.py +25 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/CHANGELOG.md +6 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/__init__.py +2 -6
- lamindb-0.48.1/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +71 -0
- lamindb-0.48.1/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +125 -0
- lamindb-0.48.1/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +81 -0
- {lamindb-0.48a2/sub → lamindb-0.48.1/sub/lamindb-setup}/lnschema-core/lnschema_core/models.py +337 -285
- lamindb-0.48.1/sub/lamindb-setup/tests/hub/test_instance.py +78 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/tests/test_init_instance.py +29 -0
- lamindb-0.48.1/sub/lamindb-setup/tests/test_load_instance.py +57 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/CHANGELOG.md +13 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/__init__.py +4 -7
- lamindb-0.48.1/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +71 -0
- lamindb-0.48.1/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +125 -0
- lamindb-0.48.1/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +135 -0
- {lamindb-0.48a2/sub/lamindb-setup → lamindb-0.48.1/sub}/lnschema-core/lnschema_core/models.py +612 -314
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/conftest.py +1 -1
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_feature.py +28 -5
- lamindb-0.48.1/tests/test_feature_manager.py +101 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_feature_set.py +20 -14
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_file.py +51 -43
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_from_values.py +7 -9
- lamindb-0.48.1/tests/test_manager.py +15 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_orm.py +11 -5
- lamindb-0.48.1/tests/test_queryset.py +88 -0
- lamindb-0.48.1/tests/test_transform.py +6 -0
- lamindb-0.48a2/docs/biology/features.md +0 -10
- lamindb-0.48a2/docs/ref/lamin-logger.md +0 -3
- lamindb-0.48a2/lamindb/_category.py +0 -42
- lamindb-0.48a2/lamindb/_feature.py +0 -89
- lamindb-0.48a2/lamindb/_logger.py +0 -1
- lamindb-0.48a2/lamindb/_manager.py +0 -45
- lamindb-0.48a2/lamindb/dev/storage/_backed_access.py +0 -465
- lamindb-0.48a2/sub/lamindb-setup/tests/hub/test_instance.py +0 -42
- lamindb-0.48a2/sub/lamindb-setup/tests/test_load_instance.py +0 -17
- lamindb-0.48a2/sub/lnschema-bionty/.github/workflows/build.yml +0 -51
- lamindb-0.48a2/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -25
- lamindb-0.48a2/sub/lnschema-bionty/.gitignore +0 -119
- lamindb-0.48a2/sub/lnschema-bionty/.pre-commit-config.yaml +0 -65
- lamindb-0.48a2/sub/lnschema-bionty/README.md +0 -5
- lamindb-0.48a2/sub/lnschema-bionty/docs/changelog.md +0 -141
- lamindb-0.48a2/sub/lnschema-bionty/docs/index.md +0 -11
- lamindb-0.48a2/sub/lnschema-bionty/docs/reference.md +0 -5
- lamindb-0.48a2/sub/lnschema-bionty/lamin-project.yaml +0 -5
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/__init__.py +0 -81
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -115
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/dev/__init__.py +0 -10
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/dev/_settings.py +0 -43
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -73
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial.py +0 -766
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/migrations/0002_rename_gene_type_gene_biotype_and_more.py +0 -46
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/migrations/0003_alter_biontysource_entity_alter_biontysource_source_and_more.py +0 -85
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/migrations/0004_alter_cellline_bionty_source_and_more.py +0 -151
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/migrations/0005_rename_short_name_cellline_abbr_and_more.py +0 -137
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/migrations/0006_alter_biontysource_options_alter_cellline_options_and_more.py +0 -60
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/migrations/0007_rename_readout_experimental_factor.py +0 -67
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/migrations/0008_remove_gene_hgnc_id_remove_gene_mgi_id_and_more.py +0 -82
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/migrations/0009_alter_gene_ensembl_gene_id.py +0 -17
- lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty/models.py +0 -697
- lamindb-0.48a2/sub/lnschema-bionty/noxfile.py +0 -20
- lamindb-0.48a2/sub/lnschema-bionty/pyproject.toml +0 -46
- lamindb-0.48a2/sub/lnschema-bionty/tests/test_hash_id.py +0 -10
- lamindb-0.48a2/sub/lnschema-bionty/tests/test_integrity.py +0 -13
- lamindb-0.48a2/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -2
- lamindb-0.48a2/sub/lnschema-core/LICENSE +0 -201
- lamindb-0.48a2/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- lamindb-0.48a2/tests/test_manager.py +0 -12
- lamindb-0.48a2/tests/test_queryset.py +0 -61
- {lamindb-0.48a2 → lamindb-0.48.1}/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/.gitmodules +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/.pre-commit-config.yaml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/LICENSE +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/biology/test_notebooks.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/bionty.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/faq/index.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/faq/ingest.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/faq/notebooks.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/guide/schemas.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/guide/stream.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/guide/test_notebooks.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/index.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/lnschema-bionty.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/nbproject.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/readfcs.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/ref/lamindb.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/ref/lnschema-bionty.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/storage/add-replace-stage.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/storage/index.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamin-project.yaml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/_select.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/datasets/_fake.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/hashing.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/storage/_anndata_sizes.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/storage/_zarr.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/storage/object.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/dev/utils.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/schema/__init__.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/schema/_core.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/setup/dev/__init__.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/lamindb/types.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/.gitmodules +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/faq/edge-cases-login-init.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/faq/index.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/faq/multi-session.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/faq/switch-environment.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/faq/test-sqlite-sync.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/guide/01-init-instance.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/guide/02-load-instance.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/guide/03-set-storage.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/guide/04-schema-modules.ipynb +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/guide/index.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/guide/migrate.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/guide/setup-user.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/docs/test_notebooks.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamin-project.yaml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/__main__.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_check_instance_setup.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_docstrings.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_info.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_notebook.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_set.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_settings.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_settings_load.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_settings_store.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/__init__.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_cloud_sqlite_locker.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_deprecated.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_django.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_docs.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_hub_client.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_hub_utils.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_instance.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_load.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_save.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_store.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_user.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_setup_bionty_sources.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_setup_schema.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/_storage.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lamindb_setup/dev/upath.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/.gitignore +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/LICENSE +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/README.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/noxfile.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/noxfile.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/pyproject.toml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/tests/hub/test_signup_signin.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/tests/hub/test_storage.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/tests/test_bionty.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/tests/test_login.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/tests/test_migrate.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/tests/test_set_storage.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lamindb-setup/tests/test_signup.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.48a2/sub/lnschema-bionty → lamindb-0.48.1/sub/lnschema-core}/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.48a2/sub/lnschema-bionty → lamindb-0.48.1/sub/lnschema-core}/LICENSE +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
- {lamindb-0.48a2/sub/lnschema-bionty/lnschema_bionty → lamindb-0.48.1/sub/lnschema-core/lnschema_core}/migrations/__init__.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test-files/pbmc68k.h5ad +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_cache.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_context.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_dataset.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_db.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_hashing.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_settings.py +0 -0
- {lamindb-0.48a2 → lamindb-0.48.1}/tests/test_storage.py +0 -0
@@ -39,17 +39,17 @@ jobs:
|
|
39
39
|
path: ~/.cache/pre-commit
|
40
40
|
key: pre-commit-${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml') }}
|
41
41
|
- name: cache postgres
|
42
|
-
if: ${{ matrix.group == 'faq' }}
|
42
|
+
if: ${{ matrix.group == 'faq' || matrix.group == 'unit' }}
|
43
43
|
id: cache-postgres
|
44
44
|
uses: actions/cache@v3
|
45
45
|
with:
|
46
46
|
path: ~/postgres.tar
|
47
47
|
key: cache-postgres-0
|
48
48
|
- name: cache postgres miss
|
49
|
-
if: ${{ steps.cache-postgres.outputs.cache-hit != 'true' && matrix.group == 'faq' }}
|
49
|
+
if: ${{ steps.cache-postgres.outputs.cache-hit != 'true' && matrix.group == 'faq' || matrix.group == 'unit' }}
|
50
50
|
run: docker pull postgres:latest && docker image save postgres:latest --output ~/postgres.tar
|
51
51
|
- name: cache postgres use
|
52
|
-
if: ${{ steps.cache-postgres.outputs.cache-hit == 'true' && matrix.group == 'faq' }}
|
52
|
+
if: ${{ steps.cache-postgres.outputs.cache-hit == 'true' && matrix.group == 'faq' || matrix.group == 'unit' }}
|
53
53
|
run: docker image load --input ~/postgres.tar
|
54
54
|
- name: install Python deps
|
55
55
|
run: |
|
@@ -1,5 +1,4 @@
|
|
1
1
|
# LaminDB
|
2
|
-
test-inherit*
|
3
2
|
docs/guide/data-validation.ipynb
|
4
3
|
docs/guide/knowledge.ipynb
|
5
4
|
docs/guide/lnschema-bionty.ipynb
|
@@ -37,12 +36,12 @@ docs/faq/mydata_postgres/
|
|
37
36
|
docs/guide/myobjects/
|
38
37
|
docs/faq/test-run-inputs/
|
39
38
|
docs/intro/paradisi05_laminopathic_nuclei.jpg
|
40
|
-
|
41
|
-
|
42
|
-
test-
|
43
|
-
test-
|
44
|
-
test-
|
45
|
-
test-
|
39
|
+
docs/guide/figures/
|
40
|
+
suo22/
|
41
|
+
docs/biology/test-flow/
|
42
|
+
docs/biology/test-scrna/
|
43
|
+
docs/biology/test-registries/
|
44
|
+
docs/biology/test-multimodal/
|
46
45
|
# General
|
47
46
|
.DS_Store
|
48
47
|
|
@@ -184,6 +183,7 @@ _build
|
|
184
183
|
*.zip
|
185
184
|
*.feather
|
186
185
|
*.h5ad
|
186
|
+
*.h5mu
|
187
187
|
*.parquet
|
188
188
|
*.bam
|
189
189
|
*.fastq.gz
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.48.1
|
4
4
|
Summary: LaminDB: Manage R&D data & analyses.
|
5
5
|
Author-email: Lamin Labs <laminlabs@gmail.com>
|
6
6
|
Requires-Python: >=3.8
|
@@ -8,9 +8,9 @@ Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: Programming Language :: Python :: 3.8
|
9
9
|
Classifier: Programming Language :: Python :: 3.9
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
11
|
-
Requires-Dist: lnschema_core==0.
|
12
|
-
Requires-Dist: lamindb_setup==0.49.
|
13
|
-
Requires-Dist:
|
11
|
+
Requires-Dist: lnschema_core==0.42.2
|
12
|
+
Requires-Dist: lamindb_setup==0.49.1
|
13
|
+
Requires-Dist: lamin_utils==0.9.3
|
14
14
|
Requires-Dist: erdiagram>=0.1.2
|
15
15
|
Requires-Dist: rapidfuzz
|
16
16
|
Requires-Dist: pydantic[dotenv]
|
@@ -25,7 +25,7 @@ Requires-Dist: botocore==1.29.76 ; extra == "aws"
|
|
25
25
|
Requires-Dist: urllib3<2 ; extra == "aws"
|
26
26
|
Requires-Dist: boto3==1.26.76 ; extra == "aws"
|
27
27
|
Requires-Dist: fsspec[s3]==2023.5.0 ; extra == "aws"
|
28
|
-
Requires-Dist: lnschema_bionty==0.
|
28
|
+
Requires-Dist: lnschema_bionty==0.28.2 ; extra == "bionty"
|
29
29
|
Requires-Dist: pre-commit ; extra == "dev"
|
30
30
|
Requires-Dist: nox ; extra == "dev"
|
31
31
|
Requires-Dist: laminci>=0.3 ; extra == "dev"
|
@@ -73,7 +73,7 @@ Update 2023-06-14:
|
|
73
73
|
|
74
74
|
## Introduction
|
75
75
|
|
76
|
-
LaminDB is
|
76
|
+
LaminDB is an open-source Python library to:
|
77
77
|
|
78
78
|
- Manage files & datasets while tracking provenance across pipelines, notebooks & app uploads.
|
79
79
|
- Manage biological registries, ontologies, features & schemas.
|
@@ -83,7 +83,7 @@ LaminDB is a free & open-source Python library to:
|
|
83
83
|
|
84
84
|
LaminApp is a data management app built on LaminDB. If LaminDB ~ git, LaminApp ~ GitHub.
|
85
85
|
|
86
|
-
LaminApp, support, code templates & auto-dispatched integration tests for a BioTech data & analytics platform are currently only available on an enterprise plan. LaminApp is available for your cloud
|
86
|
+
LaminApp, support, code templates & auto-dispatched integration tests for a BioTech data & analytics platform are currently only available on an enterprise plan. LaminApp is available for your cloud infrastructure or hosted by us.
|
87
87
|
|
88
88
|
## Quickstart
|
89
89
|
|
@@ -257,7 +257,7 @@ pip install lamindb # basic data management
|
|
257
257
|
You can configure the installation using `extras`, e.g.,
|
258
258
|
|
259
259
|
```shell
|
260
|
-
pip install lamindb[jupyter,bionty,fcs,aws]
|
260
|
+
pip install 'lamindb[jupyter,bionty,fcs,aws]'
|
261
261
|
```
|
262
262
|
|
263
263
|
Supported `extras` are:
|
@@ -313,6 +313,8 @@ LaminDB consists of the `lamindb` Python package (repository [here](https://gith
|
|
313
313
|
- [lnschema-bionty](https://github.com/laminlabs/lnschema-bionty): Bionty schema, ORMs that are coupled to Bionty's entities.
|
314
314
|
- [lnschema-lamin1](https://github.com/laminlabs/lnschema-lamin1): Exemplary configured schema to track samples, treatments, etc.
|
315
315
|
- [nbproject](https://github.com/laminlabs/nbproject): Parse metadata from Jupyter notebooks.
|
316
|
+
- [lamin-utils](https://github.com/laminlabs/lamin-utils): Utilities for LaminDB and Bionty.
|
317
|
+
- [readfcs](https://github.com/laminlabs/readfcs): FCS file reader.
|
316
318
|
|
317
319
|
LaminHub & LaminApp are not open-sourced, and neither are templates that model lab operations.
|
318
320
|
|
@@ -19,7 +19,7 @@ Update 2023-06-14:
|
|
19
19
|
|
20
20
|
## Introduction
|
21
21
|
|
22
|
-
LaminDB is
|
22
|
+
LaminDB is an open-source Python library to:
|
23
23
|
|
24
24
|
- Manage files & datasets while tracking provenance across pipelines, notebooks & app uploads.
|
25
25
|
- Manage biological registries, ontologies, features & schemas.
|
@@ -29,7 +29,7 @@ LaminDB is a free & open-source Python library to:
|
|
29
29
|
|
30
30
|
LaminApp is a data management app built on LaminDB. If LaminDB ~ git, LaminApp ~ GitHub.
|
31
31
|
|
32
|
-
LaminApp, support, code templates & auto-dispatched integration tests for a BioTech data & analytics platform are currently only available on an enterprise plan. LaminApp is available for your cloud
|
32
|
+
LaminApp, support, code templates & auto-dispatched integration tests for a BioTech data & analytics platform are currently only available on an enterprise plan. LaminApp is available for your cloud infrastructure or hosted by us.
|
33
33
|
|
34
34
|
## Quickstart
|
35
35
|
|
@@ -203,7 +203,7 @@ pip install lamindb # basic data management
|
|
203
203
|
You can configure the installation using `extras`, e.g.,
|
204
204
|
|
205
205
|
```shell
|
206
|
-
pip install lamindb[jupyter,bionty,fcs,aws]
|
206
|
+
pip install 'lamindb[jupyter,bionty,fcs,aws]'
|
207
207
|
```
|
208
208
|
|
209
209
|
Supported `extras` are:
|
@@ -259,6 +259,8 @@ LaminDB consists of the `lamindb` Python package (repository [here](https://gith
|
|
259
259
|
- [lnschema-bionty](https://github.com/laminlabs/lnschema-bionty): Bionty schema, ORMs that are coupled to Bionty's entities.
|
260
260
|
- [lnschema-lamin1](https://github.com/laminlabs/lnschema-lamin1): Exemplary configured schema to track samples, treatments, etc.
|
261
261
|
- [nbproject](https://github.com/laminlabs/nbproject): Parse metadata from Jupyter notebooks.
|
262
|
+
- [lamin-utils](https://github.com/laminlabs/lamin-utils): Utilities for LaminDB and Bionty.
|
263
|
+
- [readfcs](https://github.com/laminlabs/readfcs): FCS file reader.
|
262
264
|
|
263
265
|
LaminHub & LaminApp are not open-sourced, and neither are templates that model lab operations.
|
264
266
|
|
lamindb-0.48a2/docs/biology/01-registries.ipynb → lamindb-0.48.1/docs/biology/00-registries.ipynb
RENAMED
@@ -13,9 +13,15 @@
|
|
13
13
|
"cell_type": "markdown",
|
14
14
|
"metadata": {},
|
15
15
|
"source": [
|
16
|
-
"
|
16
|
+
"Here, you'll learn how to collaborate on biological registries across dry & wetlab.\n",
|
17
17
|
"\n",
|
18
|
-
"
|
18
|
+
"What's special is that LaminDB allows you to leverage ontologies for it, based on plug-in {mod}`lnschema_bionty`.\n",
|
19
|
+
"\n",
|
20
|
+
"```{note}\n",
|
21
|
+
"\n",
|
22
|
+
"Registries can anchor dry & wetlab work to help find, access & model data. No more ambiguity about model dimensions and labels!\n",
|
23
|
+
"\n",
|
24
|
+
"```\n",
|
19
25
|
"\n",
|
20
26
|
"```{toctree}\n",
|
21
27
|
":hidden:\n",
|
@@ -30,14 +36,16 @@
|
|
30
36
|
"cell_type": "markdown",
|
31
37
|
"metadata": {},
|
32
38
|
"source": [
|
33
|
-
"Let us start with an instance that has
|
39
|
+
"Let us start with an instance that has `lnschema_bionty` mounted:"
|
34
40
|
]
|
35
41
|
},
|
36
42
|
{
|
37
43
|
"cell_type": "code",
|
38
44
|
"execution_count": null,
|
39
45
|
"metadata": {
|
40
|
-
"tags": [
|
46
|
+
"tags": [
|
47
|
+
"hide-output"
|
48
|
+
]
|
41
49
|
},
|
42
50
|
"outputs": [],
|
43
51
|
"source": [
|
@@ -69,26 +77,20 @@
|
|
69
77
|
"cell_type": "markdown",
|
70
78
|
"metadata": {},
|
71
79
|
"source": [
|
72
|
-
"Let
|
80
|
+
"Let's consider a public ontology for cell types:"
|
73
81
|
]
|
74
82
|
},
|
75
83
|
{
|
76
84
|
"cell_type": "code",
|
77
85
|
"execution_count": null,
|
78
|
-
"metadata": {
|
86
|
+
"metadata": {
|
87
|
+
"tags": [
|
88
|
+
"hide-output"
|
89
|
+
]
|
90
|
+
},
|
79
91
|
"outputs": [],
|
80
92
|
"source": [
|
81
|
-
"celltype_bt = lb.CellType.bionty() # same as bionty.CellType()
|
82
|
-
"\n",
|
83
|
-
"celltype_bt"
|
84
|
-
]
|
85
|
-
},
|
86
|
-
{
|
87
|
-
"attachments": {},
|
88
|
-
"cell_type": "markdown",
|
89
|
-
"metadata": {},
|
90
|
-
"source": [
|
91
|
-
"### Search a cell type"
|
93
|
+
"celltype_bt = lb.CellType.bionty() # if you know bionty, is same as bionty.CellType()"
|
92
94
|
]
|
93
95
|
},
|
94
96
|
{
|
@@ -97,15 +99,7 @@
|
|
97
99
|
"metadata": {},
|
98
100
|
"outputs": [],
|
99
101
|
"source": [
|
100
|
-
"celltype_bt
|
101
|
-
]
|
102
|
-
},
|
103
|
-
{
|
104
|
-
"attachments": {},
|
105
|
-
"cell_type": "markdown",
|
106
|
-
"metadata": {},
|
107
|
-
"source": [
|
108
|
-
"### Look up a cell type with auto-completion"
|
102
|
+
"celltype_bt"
|
109
103
|
]
|
110
104
|
},
|
111
105
|
{
|
@@ -113,7 +107,7 @@
|
|
113
107
|
"cell_type": "markdown",
|
114
108
|
"metadata": {},
|
115
109
|
"source": [
|
116
|
-
"
|
110
|
+
"We can use it to search cell types:"
|
117
111
|
]
|
118
112
|
},
|
119
113
|
{
|
@@ -122,7 +116,7 @@
|
|
122
116
|
"metadata": {},
|
123
117
|
"outputs": [],
|
124
118
|
"source": [
|
125
|
-
"
|
119
|
+
"celltype_bt.search(\"gamma delta T cell\").head(3)"
|
126
120
|
]
|
127
121
|
},
|
128
122
|
{
|
@@ -130,16 +124,7 @@
|
|
130
124
|
"cell_type": "markdown",
|
131
125
|
"metadata": {},
|
132
126
|
"source": [
|
133
|
-
"
|
134
|
-
]
|
135
|
-
},
|
136
|
-
{
|
137
|
-
"cell_type": "code",
|
138
|
-
"execution_count": null,
|
139
|
-
"metadata": {},
|
140
|
-
"outputs": [],
|
141
|
-
"source": [
|
142
|
-
"len(celltype_bt_lookup)"
|
127
|
+
"And we can also use it to look up cell types with auto-complete:"
|
143
128
|
]
|
144
129
|
},
|
145
130
|
{
|
@@ -148,8 +133,8 @@
|
|
148
133
|
"metadata": {},
|
149
134
|
"outputs": [],
|
150
135
|
"source": [
|
151
|
-
"
|
152
|
-
"
|
136
|
+
"celltype_bt_lookup = celltype_bt.lookup()\n",
|
137
|
+
"celltype_bt_lookup.gamma_delta_t_cell"
|
153
138
|
]
|
154
139
|
},
|
155
140
|
{
|
@@ -165,7 +150,7 @@
|
|
165
150
|
"cell_type": "markdown",
|
166
151
|
"metadata": {},
|
167
152
|
"source": [
|
168
|
-
"You can create a
|
153
|
+
"You can create a registry record directly by passing the result of a Bionty search or lookup:"
|
169
154
|
]
|
170
155
|
},
|
171
156
|
{
|
@@ -174,7 +159,7 @@
|
|
174
159
|
"metadata": {},
|
175
160
|
"outputs": [],
|
176
161
|
"source": [
|
177
|
-
"celltype_record = lb.CellType(
|
162
|
+
"celltype_record = lb.CellType(celltype_bt_lookup.gamma_delta_t_cell)\n",
|
178
163
|
"\n",
|
179
164
|
"celltype_record"
|
180
165
|
]
|
@@ -184,59 +169,37 @@
|
|
184
169
|
"cell_type": "markdown",
|
185
170
|
"metadata": {},
|
186
171
|
"source": [
|
187
|
-
"
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
"
|
197
|
-
|
198
|
-
},
|
199
|
-
{
|
200
|
-
"attachments": {},
|
201
|
-
"cell_type": "markdown",
|
202
|
-
"metadata": {},
|
203
|
-
"source": [
|
204
|
-
"Save the record to the DB to seed an in-house ontology:"
|
172
|
+
"When we save this record to the registry, logging informs us that we're also saving parent ontology terms.\n",
|
173
|
+
"\n",
|
174
|
+
"\n",
|
175
|
+
"```{dropdown} Will I always see a 100 parents being saved?\n",
|
176
|
+
"\n",
|
177
|
+
"No, this only happens a single time.\n",
|
178
|
+
"\n",
|
179
|
+
"- If we accidentally save the same record again, lamindb will recognize that the record and all parents are already in the registry.\n",
|
180
|
+
"- If we save another record that has overlapping parents, only new parents will be saved.\n",
|
181
|
+
"\n",
|
182
|
+
"```"
|
205
183
|
]
|
206
184
|
},
|
207
185
|
{
|
208
186
|
"cell_type": "code",
|
209
187
|
"execution_count": null,
|
210
|
-
"metadata": {
|
188
|
+
"metadata": {
|
189
|
+
"tags": [
|
190
|
+
"hide-output"
|
191
|
+
]
|
192
|
+
},
|
211
193
|
"outputs": [],
|
212
194
|
"source": [
|
213
195
|
"celltype_record.save()"
|
214
196
|
]
|
215
197
|
},
|
216
198
|
{
|
217
|
-
"attachments": {},
|
218
|
-
"cell_type": "markdown",
|
219
|
-
"metadata": {},
|
220
|
-
"source": [
|
221
|
-
"This cell type can now be queried from the DB:"
|
222
|
-
]
|
223
|
-
},
|
224
|
-
{
|
225
|
-
"cell_type": "code",
|
226
|
-
"execution_count": null,
|
227
|
-
"metadata": {},
|
228
|
-
"outputs": [],
|
229
|
-
"source": [
|
230
|
-
"gd_tcell_record = lb.CellType.select(name=celltype_record.name).one()\n",
|
231
|
-
"gd_tcell_record"
|
232
|
-
]
|
233
|
-
},
|
234
|
-
{
|
235
|
-
"attachments": {},
|
236
199
|
"cell_type": "markdown",
|
237
200
|
"metadata": {},
|
238
201
|
"source": [
|
239
|
-
"
|
202
|
+
"View the parents:"
|
240
203
|
]
|
241
204
|
},
|
242
205
|
{
|
@@ -245,15 +208,14 @@
|
|
245
208
|
"metadata": {},
|
246
209
|
"outputs": [],
|
247
210
|
"source": [
|
248
|
-
"
|
211
|
+
"celltype_record.view_parents()"
|
249
212
|
]
|
250
213
|
},
|
251
214
|
{
|
252
|
-
"attachments": {},
|
253
215
|
"cell_type": "markdown",
|
254
216
|
"metadata": {},
|
255
217
|
"source": [
|
256
|
-
"
|
218
|
+
"Or access them directly:"
|
257
219
|
]
|
258
220
|
},
|
259
221
|
{
|
@@ -262,7 +224,7 @@
|
|
262
224
|
"metadata": {},
|
263
225
|
"outputs": [],
|
264
226
|
"source": [
|
265
|
-
"
|
227
|
+
"celltype_record.parents.df()"
|
266
228
|
]
|
267
229
|
},
|
268
230
|
{
|
@@ -270,33 +232,9 @@
|
|
270
232
|
"cell_type": "markdown",
|
271
233
|
"metadata": {},
|
272
234
|
"source": [
|
273
|
-
"
|
274
|
-
]
|
275
|
-
},
|
276
|
-
{
|
277
|
-
"cell_type": "code",
|
278
|
-
"execution_count": null,
|
279
|
-
"metadata": {
|
280
|
-
"tags": [
|
281
|
-
"hide-cell"
|
282
|
-
]
|
283
|
-
},
|
284
|
-
"outputs": [],
|
285
|
-
"source": [
|
286
|
-
"distance = 5\n",
|
235
|
+
"This cell type and all its parents can now be queried & searched in the registry using `lb.CellType.select` and `lb.CellType.search`.\n",
|
287
236
|
"\n",
|
288
|
-
"
|
289
|
-
"for d in range(1, distance + 1):\n",
|
290
|
-
" msg = f\"Depth = {d}\"\n",
|
291
|
-
" if d == 1:\n",
|
292
|
-
" condition = \"children__name\"\n",
|
293
|
-
" else:\n",
|
294
|
-
" condition = \"children__\" + condition\n",
|
295
|
-
" records = lb.CellType.select(**{condition: gd_tcell_record.name}).list()\n",
|
296
|
-
" msg += f\", {len(records)} records found:\"\n",
|
297
|
-
" print(msg)\n",
|
298
|
-
" print(records)\n",
|
299
|
-
" results.append(records)"
|
237
|
+
"Further down the guide, we'll see how this will help us to annotate and validate files & datasets!"
|
300
238
|
]
|
301
239
|
},
|
302
240
|
{
|
@@ -468,7 +406,11 @@
|
|
468
406
|
{
|
469
407
|
"cell_type": "code",
|
470
408
|
"execution_count": null,
|
471
|
-
"metadata": {
|
409
|
+
"metadata": {
|
410
|
+
"tags": [
|
411
|
+
"hide-output"
|
412
|
+
]
|
413
|
+
},
|
472
414
|
"outputs": [],
|
473
415
|
"source": [
|
474
416
|
"ln.save(cell_types)"
|