diff --git a/articles/development.html b/articles/development.html index 7e477ec..f67940a 100644 --- a/articles/development.html +++ b/articles/development.html @@ -211,13 +211,18 @@
db <- connect()
-#> ! schema module 'bionty' is not installed → no access to its labels & registries (resolve via `pip install bionty`)
#> ! schema module 'ourprojects' is not installed → no access to its labels & registries (resolve via `pip install ourprojects`)
+#> ! schema module 'bionty' is not installed → no access to its labels & registries (resolve via `pip install bionty`)
#> → connected lamindb: laminlabs/cellxgene
It is used to manage all datasets and metadata entities.
LaminDB tracks which code is used to create data. To track the @@ -156,7 +156,7 @@
adata <- artifact$load()
-#> | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========= | 14% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================ | 24% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================= | 34% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |============================== | 44% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================ | 64% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |========================================================== | 84% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
+#> | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========= | 14% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================ | 24% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================= | 34% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |===================================== | 54% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |=================================================== | 74% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |========================================================== | 84% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================= | 94% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
adata
#> AnnData object with n_obs × n_vars = 17612 × 23254
#> obs: 'n_genes', 'n_UMIs', 'log10_n_UMIs', 'log10_n_genes', 'Cell_Type', 'cell_type_ontology_term_id', 'organism_ontology_term_id', 'tissue_ontology_term_id', 'assay_ontology_term_id', 'disease_ontology_term_id', 'self_reported_ethnicity_ontology_term_id', 'development_stage_ontology_term_id', 'sex_ontology_term_id', 'donor_id', 'is_primary_data', 'suspension_type', 'cell_type', 'assay', 'disease', 'organism', 'sex', 'tissue', 'self_reported_ethnicity', 'development_stage'
diff --git a/pkgdown.yml b/pkgdown.yml
index 5247e8a..8db8672 100644
--- a/pkgdown.yml
+++ b/pkgdown.yml
@@ -9,7 +9,7 @@ articles:
module_bionty: module_bionty.html
module_core: module_core.html
module_wetlab: module_wetlab.html
-last_built: 2024-11-26T10:20Z
+last_built: 2024-11-27T11:57Z
urls:
reference: https://laminr.lamin.ai/reference
article: https://laminr.lamin.ai/articles
diff --git a/search.json b/search.json
index c6afc86..1e88b0d 100644
--- a/search.json
+++ b/search.json
@@ -1 +1 @@
-[{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":null,"dir":"","previous_headings":"","what":"laminr v0.2.0","title":"laminr v0.2.0","text":"release adds support creating new artifacts LaminDB instance.","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"new-functionality","dir":"","previous_headings":"","what":"NEW FUNCTIONALITY","title":"laminr v0.2.0","text":"Add support loaders (PR #81). Currently supported: .csv, .h5ad, .html, .jpg, .json, .parquet, .png, .rds, .svg, .tsv, .yaml. Add from_df() method Registry class create new artifacts data frames (PR #78) Create TemporaryRecord classes new artifacts saved database (PR #78) Add delete() method Record class (PR #78) Add track() finish() methods Instance class (PR #83) Add from_path() method Registry class create new artifacts paths (PR #85) Add from_anndata() method Registry class create new artifacts AnnData objects (PR #85) Add RStudio add-saving notebook (PR #90).","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"major-changes","dir":"","previous_headings":"","what":"MAJOR CHANGES","title":"laminr v0.2.0","text":"Running connect(slug = NULL) now connects default instance allowed create records. default instance must changed using Lamin CLI. (PR #78) User setting stored global option first time connect() run (PR #78)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"minor-changes","dir":"","previous_headings":"","what":"MINOR CHANGES","title":"laminr v0.2.0","text":"Adjusted argument order Instance$track() improved Python error handling (PR #89)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"testing","dir":"","previous_headings":"","what":"TESTING","title":"laminr v0.2.0","text":"Add test creating artifacts data frames (PR #78). Add tests creating artifacts paths AnnData objects (PR #85)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"documentation","dir":"","previous_headings":"","what":"DOCUMENTATION","title":"laminr v0.2.0","text":"Updated installation instructions {laminr} released CRAN (PR #74). Updated architecture vignette include new methods new TemporaryRecord class (PR #78, PR #83, PR #85) Updated development vignette new functionality (PR #78, PR #83, PR #85)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"laminr-v010","dir":"","previous_headings":"","what":"laminr v0.1.0","title":"laminr v0.2.0","text":"First CRAN release LaminDB API client R. release focuses connecting LaminDB instance, fetching individual record instance, fetching related data record. Features: Connect LaminDB instance Auto-generate modules classes instance schema Fetch record Fetch record’s related data Fetch record summary table Cache S3 artifact Load AnnData artifact information, please visit package website.","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"new-functionality-1","dir":"","previous_headings":"","what":"NEW FUNCTIONALITY","title":"laminr v0.2.0","text":"Query instance settings Lamin Hub (PR #8). Read user settings env file created lamin Python package (PR #2, PR #8). Add to_string() print() methods Record class (incomplete) describe() method Artifact() class (PR #22). Add to_string() print() methods remaining classes (PR #31) Add InstanceAPI$get_records() Registry$df() methods (PR #54) Add RelatedRecords class RelatedRecords$df() method (PR #59)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"major-changes-1","dir":"","previous_headings":"","what":"MAJOR CHANGES","title":"laminr v0.2.0","text":"Refactored internal class data structures better modularity extensibility (PR #8). Added GitHub actions project (PR #11): Standard R-CMD-check workflow. Linting action. Commands roxygenizing (/document) restyling source code (/style). Allow unauthenticated users connect instance ran lamin connect beforehand (PR #19).","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"minor-changes-1","dir":"","previous_headings":"","what":"MINOR CHANGES","title":"laminr v0.2.0","text":"complain foreign keys found record, also complain (PR #13). Define current user current instance lamin-cli prior testing generating documentation CI (PR #23). Add progress bars Artifact$cache() (PR #58) Remove link tables object print output (PR #55) Improve checking suggested packages provide installation instructions missing (PR #56) Add status code API error messages (PR #70) Adjust colours print output (PR #69) Modify Registry print output separate relational fields module (PR #71)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"testing-1","dir":"","previous_headings":"","what":"TESTING","title":"laminr v0.2.0","text":"Add simple unit test queries laminlabs/lamindata (PR #27). Added unit test InstanceAPI class (PR #30). Add regular expression API test missing records (PR #70)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"documentation-1","dir":"","previous_headings":"","what":"DOCUMENTATION","title":"laminr v0.2.0","text":"Update README new set instructions simplify (PR #14). Add pkgdown website project (PR #13). simplify README, move detailed usage description separate vignette (PR #13). Generate vignettes using Quarto (PR #13). Add vignette showcase laminr usage (PR #18). Replace mentions lamin load lamin connect (PR #29). Improve README (PR #29). Set Python requirements lamindb[aws] now (PR #33). changed lamin_cli laminlabs/lamin-cli#90 solved. Improve documentation installing suggested dependencies required (PR #56). Update README give better overview package (PR #67). Rename usage vignette laminr added overview core concepts LaminDB (PR #67). Update architecture vignette relate class structure package core concepts (PR #67). Add development vignette document list current, planned unplanned functionality (PR #67). Add vignettes document registries core, bionty, wetlab modules (PR #67).","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"bug-fixes","dir":"","previous_headings":"","what":"BUG FIXES","title":"laminr v0.2.0","text":"Fixed parsing env files ~/.lamin due changes lamindb-setup Python package (PR #12). Return NULL record’s related field empty (PR #28). Add alternative error message message returned API (PR #30). Handle error detail returned API list (PR #59) Manually install OpenBLAS macOS (PR #62). Switch Python 3.12 able install scipy macOS (PR #66).","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"laminr-v001","dir":"","previous_headings":"","what":"laminr v0.0.1","title":"laminr v0.2.0","text":"Initial POC implementation LaminDB API client R. Functionality: Connect LaminDB instance Fetch instance schema Auto-generate classes schema See available modules classes Get record Get record’s related data Cache S3 artifact Load AnnData artifact","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache License","title":"Apache License","text":"Version 2.0, January 2004 ","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"1. Definitions","title":"Apache License","text":"“License” shall mean terms conditions use, reproduction, distribution defined Sections 1 9 document. “Licensor” shall mean copyright owner entity authorized copyright owner granting License. “Legal Entity” shall mean union acting entity entities control, controlled , common control entity. purposes definition, “control” means () power, direct indirect, cause direction management entity, whether contract otherwise, (ii) ownership fifty percent (50%) outstanding shares, (iii) beneficial ownership entity. “” (“”) shall mean individual Legal Entity exercising permissions granted License. “Source” form shall mean preferred form making modifications, including limited software source code, documentation source, configuration files. “Object” form shall mean form resulting mechanical transformation translation Source form, including limited compiled object code, generated documentation, conversions media types. “Work” shall mean work authorship, whether Source Object form, made available License, indicated copyright notice included attached work (example provided Appendix ). “Derivative Works” shall mean work, whether Source Object form, based (derived ) Work editorial revisions, annotations, elaborations, modifications represent, whole, original work authorship. purposes License, Derivative Works shall include works remain separable , merely link (bind name) interfaces , Work Derivative Works thereof. “Contribution” shall mean work authorship, including original version Work modifications additions Work Derivative Works thereof, intentionally submitted Licensor inclusion Work copyright owner individual Legal Entity authorized submit behalf copyright owner. purposes definition, “submitted” means form electronic, verbal, written communication sent Licensor representatives, including limited communication electronic mailing lists, source code control systems, issue tracking systems managed , behalf , Licensor purpose discussing improving Work, excluding communication conspicuously marked otherwise designated writing copyright owner “Contribution.” “Contributor” shall mean Licensor individual Legal Entity behalf Contribution received Licensor subsequently incorporated within Work.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_2-grant-of-copyright-license","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"2. Grant of Copyright License","title":"Apache License","text":"Subject terms conditions License, Contributor hereby grants perpetual, worldwide, non-exclusive, -charge, royalty-free, irrevocable copyright license reproduce, prepare Derivative Works , publicly display, publicly perform, sublicense, distribute Work Derivative Works Source Object form.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_3-grant-of-patent-license","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"3. Grant of Patent License","title":"Apache License","text":"Subject terms conditions License, Contributor hereby grants perpetual, worldwide, non-exclusive, -charge, royalty-free, irrevocable (except stated section) patent license make, made, use, offer sell, sell, import, otherwise transfer Work, license applies patent claims licensable Contributor necessarily infringed Contribution(s) alone combination Contribution(s) Work Contribution(s) submitted. institute patent litigation entity (including cross-claim counterclaim lawsuit) alleging Work Contribution incorporated within Work constitutes direct contributory patent infringement, patent licenses granted License Work shall terminate date litigation filed.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_4-redistribution","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"4. Redistribution","title":"Apache License","text":"may reproduce distribute copies Work Derivative Works thereof medium, without modifications, Source Object form, provided meet following conditions: () must give recipients Work Derivative Works copy License; (b) must cause modified files carry prominent notices stating changed files; (c) must retain, Source form Derivative Works distribute, copyright, patent, trademark, attribution notices Source form Work, excluding notices pertain part Derivative Works; (d) Work includes “NOTICE” text file part distribution, Derivative Works distribute must include readable copy attribution notices contained within NOTICE file, excluding notices pertain part Derivative Works, least one following places: within NOTICE text file distributed part Derivative Works; within Source form documentation, provided along Derivative Works; , within display generated Derivative Works, wherever third-party notices normally appear. contents NOTICE file informational purposes modify License. may add attribution notices within Derivative Works distribute, alongside addendum NOTICE text Work, provided additional attribution notices construed modifying License. may add copyright statement modifications may provide additional different license terms conditions use, reproduction, distribution modifications, Derivative Works whole, provided use, reproduction, distribution Work otherwise complies conditions stated License.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_5-submission-of-contributions","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"5. Submission of Contributions","title":"Apache License","text":"Unless explicitly state otherwise, Contribution intentionally submitted inclusion Work Licensor shall terms conditions License, without additional terms conditions. Notwithstanding , nothing herein shall supersede modify terms separate license agreement may executed Licensor regarding Contributions.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_6-trademarks","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"6. Trademarks","title":"Apache License","text":"License grant permission use trade names, trademarks, service marks, product names Licensor, except required reasonable customary use describing origin Work reproducing content NOTICE file.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_7-disclaimer-of-warranty","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"7. Disclaimer of Warranty","title":"Apache License","text":"Unless required applicable law agreed writing, Licensor provides Work (Contributor provides Contributions) “” BASIS, WITHOUT WARRANTIES CONDITIONS KIND, either express implied, including, without limitation, warranties conditions TITLE, NON-INFRINGEMENT, MERCHANTABILITY, FITNESS PARTICULAR PURPOSE. solely responsible determining appropriateness using redistributing Work assume risks associated exercise permissions License.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_8-limitation-of-liability","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"8. Limitation of Liability","title":"Apache License","text":"event legal theory, whether tort (including negligence), contract, otherwise, unless required applicable law (deliberate grossly negligent acts) agreed writing, shall Contributor liable damages, including direct, indirect, special, incidental, consequential damages character arising result License use inability use Work (including limited damages loss goodwill, work stoppage, computer failure malfunction, commercial damages losses), even Contributor advised possibility damages.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_9-accepting-warranty-or-additional-liability","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"9. Accepting Warranty or Additional Liability","title":"Apache License","text":"redistributing Work Derivative Works thereof, may choose offer, charge fee , acceptance support, warranty, indemnity, liability obligations /rights consistent License. However, accepting obligations, may act behalf sole responsibility, behalf Contributor, agree indemnify, defend, hold Contributor harmless liability incurred , claims asserted , Contributor reason accepting warranty additional liability. END TERMS CONDITIONS","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"appendix-how-to-apply-the-apache-license-to-your-work","dir":"","previous_headings":"","what":"APPENDIX: How to apply the Apache License to your work","title":"Apache License","text":"apply Apache License work, attach following boilerplate notice, fields enclosed brackets [] replaced identifying information. (Don’t include brackets!) text enclosed appropriate comment syntax file format. also recommend file class name description purpose included “printed page” copyright notice easier identification within third-party archives.","code":"Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License."},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"core-concepts","dir":"Articles","previous_headings":"","what":"Core concepts","title":"Architecture","text":"LaminDB built around key ideas: LaminDB instance self-contained environment storing managing data metadata. can think like database project directory. instance : Schema: Defines structure metadata. Storage: actual data files stored (locally, S3, etc.). Database: Stores metadata records registries. information instances, see ?connect() ?Instance. module LaminDB collection related registries provide functionality specific domain. example: core: Provides registries general data management (Artifacts, Collections, Transforms, etc.). module included default every LaminDB instance. bionty: Offers registries managing biological entities (genes, proteins, cell types) links public ontologies. wetlab: Includes registries managing experimental metadata (samples, treatments, etc.). many … Modules help organize system make easier find specific registries need. information modules, see ?Module. core module documented module_core vignette: vignette(\"module_core\", package = \"laminr\"). registry centralized collection related records. ’s like table database, row represents specific entity. Examples registries include: Artifacts: Datasets, models, data entities. Collections: Groupings related artifacts. Transforms: Data processing operations. Features: Variables measurements within datasets. Labels: Annotations classifications applied data. registry defined structure specific fields hold relevant information. information registries, see ?Registry. core registries documented module_core vignette: vignette(\"module_core\", package = \"laminr\"). field single piece information within registry. ’s analogous column database table. example, Artifact registry might fields like: key: Storage key, relative path within storage location. storage: Storage location, e.g. S3 GCP bucket local directory. description: description artifact. created_by: user created artifact. Fields define type data can stored registry provide way organize query metadata. information fields, see ?Field. fields core registries documented module_core vignette: vignette(\"module_core\", package = \"laminr\"). record single entry within registry. ’s like row database table. record combines multiple fields represent specific entity. example, record Artifact registry might represent single dataset key, storage location, description, creator, relevant information. essence, instances contain modules. module contains registries, turn hold records. Every record composed multiple fields. hierarchical structure allows flexible organized management data metadata within LaminDB.","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"instance","dir":"Articles","previous_headings":"","what":"Instance","title":"Architecture","text":"LaminDB instance self-contained environment storing managing data metadata. can think like database project directory. instance : Schema: Defines structure metadata. Storage: actual data files stored (locally, S3, etc.). Database: Stores metadata records registries. information instances, see ?connect() ?Instance.","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"module","dir":"Articles","previous_headings":"","what":"Module","title":"Architecture","text":"module LaminDB collection related registries provide functionality specific domain. example: core: Provides registries general data management (Artifacts, Collections, Transforms, etc.). module included default every LaminDB instance. bionty: Offers registries managing biological entities (genes, proteins, cell types) links public ontologies. wetlab: Includes registries managing experimental metadata (samples, treatments, etc.). many … Modules help organize system make easier find specific registries need. information modules, see ?Module. core module documented module_core vignette: vignette(\"module_core\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"registry","dir":"Articles","previous_headings":"","what":"Registry","title":"Architecture","text":"registry centralized collection related records. ’s like table database, row represents specific entity. Examples registries include: Artifacts: Datasets, models, data entities. Collections: Groupings related artifacts. Transforms: Data processing operations. Features: Variables measurements within datasets. Labels: Annotations classifications applied data. registry defined structure specific fields hold relevant information. information registries, see ?Registry. core registries documented module_core vignette: vignette(\"module_core\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"field","dir":"Articles","previous_headings":"","what":"Field","title":"Architecture","text":"field single piece information within registry. ’s analogous column database table. example, Artifact registry might fields like: key: Storage key, relative path within storage location. storage: Storage location, e.g. S3 GCP bucket local directory. description: description artifact. created_by: user created artifact. Fields define type data can stored registry provide way organize query metadata. information fields, see ?Field. fields core registries documented module_core vignette: vignette(\"module_core\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"record","dir":"Articles","previous_headings":"","what":"Record","title":"Architecture","text":"record single entry within registry. ’s like row database table. record combines multiple fields represent specific entity. example, record Artifact registry might represent single dataset key, storage location, description, creator, relevant information.","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"putting-it-together","dir":"Articles","previous_headings":"","what":"Putting it together","title":"Architecture","text":"essence, instances contain modules. module contains registries, turn hold records. Every record composed multiple fields. hierarchical structure allows flexible organized management data metadata within LaminDB.","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"class-structure","dir":"Articles","previous_headings":"","what":"Class structure","title":"Architecture","text":"laminr package provides set classes mirror core concepts LaminDB. classes allow interact instances, modules, registries, fields, records programmatic way. package provides two sets classes: base classes sugar syntax classes. classes provide core functionality interacting LaminDB instances, modules, registries, fields, records. classes documented via ?Instance, ?Module, ?Registry, ?Field, ?Record. class diagram illustrates relationships classes. However, intended used directly cases. Instead, sugar syntax classes provide user-friendly interface working LaminDB data. sugar syntax classes provide user-friendly way interact LaminDB data. classes designed make easier access manipulate instances, modules, registries, fields, records. example, get artifact specific ID using base classes, might write: sugar syntax classes, can achieve result concisely: sugar syntax achieved creating RichInstance RichRecord classes inherit Instance Record, respectively. classes provide additional methods properties simplify working LaminDB data. class diagram illustrates relationships sugar syntax classes laminr package. classes provide user-friendly interface interacting LaminDB data.","code":"classDiagram %% # nolint start laminr --> Instance laminr --> UserSettings laminr --> InstanceSettings Instance --> InstanceAPI Instance --> Module Module --> Registry Registry --> Field Registry --> Record Field --> RelatedRecords Record --> RelatedRecords UserSettings --> InstanceSettings InstanceSettings --> Instance InstanceAPI --> Module Instance --> Registry InstanceAPI --> Registry Instance --> Record InstanceAPI --> Record Instance --> RelatedRecords InstanceAPI --> RelatedRecords %% Methods must be on one line to be shown in the right diagram section %% Use \\n for newlines and #emsp; to create indents in the rendered %% diagram when necessary class laminr{ +connect(String slug): RichInstance } class UserSettings{ +initialize(...): UserSettings +email: String +access_token: String +uid: String +uuid: String +handle: String +name: String } class InstanceSettings{ +initialize(...): InstanceSettings +owner: String +name: String +id: String +schema_id: String +api_url: String } class Instance{ +initialize(\\n#emsp;InstanceSettings Instance_settings, API api, \\n#emsp;Map schema\\n): Instance +get_modules(): Module[] +get_module(String module_name): Module +get_module_names(): String[] +get_api(): InstanceAPI +get_settings(): InstanceSettings +get_py_lamin(Boolean check, String what): PythonModule +track(String path, String transform): NULL +finish(): NULL +is_default: Boolean } class InstanceAPI{ +initialize(InstanceSettings Instance_settings) +get_schema(): Map +get_record(...): Map +get_records(...): Map +delete_record(...): NULL } class Module{ +initialize(\\n#emsp;Instance Instance, API api, String module_name,\\n#emsp;Map module_schema\\n): Module +name: String +get_registries(): Registry[] +get_registry(String registry_name): Registry +get_registry_names(): String[] } class Registry{ +initialize(\\n#emsp;Instance Instance, Module module, API api,\\n#emsp;String registry_name, Map registry_schema\\n): Registry +name: String +class_name: String +is_link_table: Bool +get_fields(): Field[] +get_field(String field_name): Field +get_field_names(): String[] +get(\\n#emsp;String id_or_uid, Bool include_foreign_keys,\\n#emsp;List~String~ select, Bool verbose\\n): RichRecord +get_record_class(): RichRecordClass +get_temporary_record_class(): TemporaryRecordClass +df(Integer limit, Bool verbose): DataFrame +from_df(\\n#emsp;DataFrame dataframe, String key,\\n#emsp;String description, String run\\n): TemporaryRecord +from_path(\\n#emsp;Path path, String key, String description, String run\\n): TemporaryRecord +from_anndata(\\n#emsp;AnnData adata, String key, String description, String run\\n): TemporaryRecord } class Field{ +initialize(\\n#emsp;String type, String through, String field_name,\\n#emsp;String registry_name, String column_name, String module_name,\\n#emsp;Bool is_link_table, String relation_type, String related_field_name,\\n#emsp;String related_registry_name, String related_module_name\\n): Field +type: String +through: Map +field_name: String +registry_name: String +column_name: String +module_name: String +is_link_table: Bool +relation_type: String +related_field_name: String +related_registry_name: String +related_module_name: String } class Record{ +initialize(\\n#emsp;Instance Instance, Registry registry,\\n#emsp;API api, Map data\\n): Record +get_value(String field_name): Any +delete(): NULL } class RelatedRecords{ +initialize(\\n#emsp;Instance instance, Registry registry, Field field,\\n#emsp;String related_to, API api\\n): RelatedRecords +df(): DataFrame +field: Field } %% # nolint end db <- connect(\"laminlabs/cellxgene\") artifact <- db$get_module(\"core\")$get_registry(\"artifact\")$get(\"KBW89Mf7IGcekja2hADu\") artifact$get_value(\"id\") db <- connect(\"laminlabs/cellxgene\") artifact <- db$Artifact$get(\"KBW89Mf7IGcekja2hADu\") artifact$id classDiagram %% # nolint start %% --- Copied from base diagram -------------------------------------------- laminr --> UserSettings laminr --> InstanceSettings Instance --> InstanceAPI Instance --> Module Module --> Registry Registry --> Field Field --> RelatedRecords Record --> RelatedRecords UserSettings --> InstanceSettings InstanceSettings --> Instance InstanceAPI --> Module Instance --> Registry InstanceAPI --> Registry Instance --> Record InstanceAPI --> Record Instance --> RelatedRecords InstanceAPI --> RelatedRecords %% ------------------------------------------------------------------------- %% --- New links for Rich classes ------------------------------------------ RichInstance --|> Instance laminr --> RichInstance Core --|> Module RichInstance --> Core Bionty --|> Module RichInstance --> Bionty Registry --> RichRecord Registry --> TemporaryRecord RichRecord --|> Record TemporaryRecord --|> RichRecord Registry --> Artifact Artifact --|> RichRecord %% ------------------------------------------------------------------------- %% --- Copied from base diagram -------------------------------------------- class laminr{ +connect(String slug): RichInstance } class UserSettings{ +initialize(...): UserSettings +email: String +access_token: String +uid: String +uuid: String +handle: String +name: String } class InstanceSettings{ +initialize(...): InstanceSettings +owner: String +name: String +id: String +schema_id: String +api_url: String } class Instance{ +initialize(\\n#emsp;InstanceSettings Instance_settings, API api, \\n#emsp;Map schema\\n): Instance +get_modules(): Module[] +get_module(String module_name): Module +get_module_names(): String[] +get_api(): InstanceAPI +get_settings(): InstanceSettings +get_py_lamin(Boolean check, String what): PythonModule +track(String path, String transform): NULL +finish(): NULL +is_default: Boolean } class InstanceAPI{ +initialize(InstanceSettings Instance_settings) +get_schema(): Map +get_record(...): Map +get_records(...): Map +delete_record(...): NULL } class Module{ +initialize(\\n#emsp;Instance Instance, API api, String module_name,\\n#emsp;Map module_schema\\n): Module +name: String +get_registries(): Registry[] +get_registry(String registry_name): Registry +get_registry_names(): String[] } class Registry{ +initialize(\\n#emsp;Instance Instance, Module module, API api,\\n#emsp;String registry_name, Map registry_schema\\n): Registry +name: String +class_name: String +is_link_table: Bool +get_fields(): Field[] +get_field(String field_name): Field +get_field_names(): String[] +get(\\n#emsp;String id_or_uid, Bool include_foreign_keys,\\n#emsp;List~String~ select, Bool verbose\\n): RichRecord +get_record_class(): RichRecordClass +get_temporary_record_class(): TemporaryRecordClass +df(Integer limit, Bool verbose): DataFrame +from_df(\\n#emsp;DataFrame dataframe, String key,\\n#emsp;String description, String run\\n): TemporaryRecord +from_path(\\n#emsp;Path path, String key, String description, String run\\n): TemporaryRecord +from_anndata(\\n#emsp;AnnData adata, String key, String description, String run\\n): TemporaryRecord } class Field{ +initialize(\\n#emsp;String type, String through, String field_name,\\n#emsp;String registry_name, String column_name, String module_name,\\n#emsp;Bool is_link_table, String relation_type, String related_field_name,\\n#emsp;String related_registry_name, String related_module_name\\n): Field +type: String +through: Map +field_name: String +registry_name: String +column_name: String +module_name: String +is_link_table: Bool +relation_type: String +related_field_name: String +related_registry_name: String +related_module_name: String } class Record{ +initialize(\\n#emsp;Instance Instance, Registry registry,\\n#emsp;API api, Map data\\n): Record +get_value(String field_name): Any +delete(): NULL } class RelatedRecords{ +initialize(\\n#emsp;Instance instance, Registry registry, Field field,\\n#emsp;String related_to, API api\\n): RelatedRecords +df(): DataFrame +field: Field } %% ------------------------------------------------------------------------- %% --- New Rich classes ---------------------------------------------------- class RichInstance{ +initialize( #emsp;InstanceSettings Instance_settings, API api, #emsp;Map schema ): RichInstance +Registry Artifact +Registry Collection +...registry accessors... +Registry User +Bionty bionty } style RichInstance fill:#ffe1c9 class Core{ +Registry Artifact +Registry Collection +...registry accessors... +Registry User } style Core fill:#ffe1c9 class Bionty{ +Registry CellLine +Registry CellMarker +...registry accessors... +Registry Tissue } style Bionty fill:#ffe1c9 class RichRecord{ +...field value accessors... } style RichRecord fill:#ffe1c9 class TemporaryRecord{ +save(): NULL } style TemporaryRecord fill:#ffe1c9 class Artifact{ +...field value accessors... +cache(): String +load(): AnnData | DataFrame | ... +describe(): NULL } style Artifact fill:#ffe1c9 %% ------------------------------------------------------------------------- %% # nolint end"},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"base-classes","dir":"Articles","previous_headings":"","what":"Base classes","title":"Architecture","text":"classes provide core functionality interacting LaminDB instances, modules, registries, fields, records. classes documented via ?Instance, ?Module, ?Registry, ?Field, ?Record. class diagram illustrates relationships classes. However, intended used directly cases. Instead, sugar syntax classes provide user-friendly interface working LaminDB data.","code":"classDiagram %% # nolint start laminr --> Instance laminr --> UserSettings laminr --> InstanceSettings Instance --> InstanceAPI Instance --> Module Module --> Registry Registry --> Field Registry --> Record Field --> RelatedRecords Record --> RelatedRecords UserSettings --> InstanceSettings InstanceSettings --> Instance InstanceAPI --> Module Instance --> Registry InstanceAPI --> Registry Instance --> Record InstanceAPI --> Record Instance --> RelatedRecords InstanceAPI --> RelatedRecords %% Methods must be on one line to be shown in the right diagram section %% Use \\n for newlines and #emsp; to create indents in the rendered %% diagram when necessary class laminr{ +connect(String slug): RichInstance } class UserSettings{ +initialize(...): UserSettings +email: String +access_token: String +uid: String +uuid: String +handle: String +name: String } class InstanceSettings{ +initialize(...): InstanceSettings +owner: String +name: String +id: String +schema_id: String +api_url: String } class Instance{ +initialize(\\n#emsp;InstanceSettings Instance_settings, API api, \\n#emsp;Map schema\\n): Instance +get_modules(): Module[] +get_module(String module_name): Module +get_module_names(): String[] +get_api(): InstanceAPI +get_settings(): InstanceSettings +get_py_lamin(Boolean check, String what): PythonModule +track(String path, String transform): NULL +finish(): NULL +is_default: Boolean } class InstanceAPI{ +initialize(InstanceSettings Instance_settings) +get_schema(): Map +get_record(...): Map +get_records(...): Map +delete_record(...): NULL } class Module{ +initialize(\\n#emsp;Instance Instance, API api, String module_name,\\n#emsp;Map module_schema\\n): Module +name: String +get_registries(): Registry[] +get_registry(String registry_name): Registry +get_registry_names(): String[] } class Registry{ +initialize(\\n#emsp;Instance Instance, Module module, API api,\\n#emsp;String registry_name, Map registry_schema\\n): Registry +name: String +class_name: String +is_link_table: Bool +get_fields(): Field[] +get_field(String field_name): Field +get_field_names(): String[] +get(\\n#emsp;String id_or_uid, Bool include_foreign_keys,\\n#emsp;List~String~ select, Bool verbose\\n): RichRecord +get_record_class(): RichRecordClass +get_temporary_record_class(): TemporaryRecordClass +df(Integer limit, Bool verbose): DataFrame +from_df(\\n#emsp;DataFrame dataframe, String key,\\n#emsp;String description, String run\\n): TemporaryRecord +from_path(\\n#emsp;Path path, String key, String description, String run\\n): TemporaryRecord +from_anndata(\\n#emsp;AnnData adata, String key, String description, String run\\n): TemporaryRecord } class Field{ +initialize(\\n#emsp;String type, String through, String field_name,\\n#emsp;String registry_name, String column_name, String module_name,\\n#emsp;Bool is_link_table, String relation_type, String related_field_name,\\n#emsp;String related_registry_name, String related_module_name\\n): Field +type: String +through: Map +field_name: String +registry_name: String +column_name: String +module_name: String +is_link_table: Bool +relation_type: String +related_field_name: String +related_registry_name: String +related_module_name: String } class Record{ +initialize(\\n#emsp;Instance Instance, Registry registry,\\n#emsp;API api, Map data\\n): Record +get_value(String field_name): Any +delete(): NULL } class RelatedRecords{ +initialize(\\n#emsp;Instance instance, Registry registry, Field field,\\n#emsp;String related_to, API api\\n): RelatedRecords +df(): DataFrame +field: Field } %% # nolint end"},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"sugar-syntax-classes","dir":"Articles","previous_headings":"","what":"Sugar syntax classes","title":"Architecture","text":"sugar syntax classes provide user-friendly way interact LaminDB data. classes designed make easier access manipulate instances, modules, registries, fields, records. example, get artifact specific ID using base classes, might write: sugar syntax classes, can achieve result concisely: sugar syntax achieved creating RichInstance RichRecord classes inherit Instance Record, respectively. classes provide additional methods properties simplify working LaminDB data.","code":"db <- connect(\"laminlabs/cellxgene\") artifact <- db$get_module(\"core\")$get_registry(\"artifact\")$get(\"KBW89Mf7IGcekja2hADu\") artifact$get_value(\"id\") db <- connect(\"laminlabs/cellxgene\") artifact <- db$Artifact$get(\"KBW89Mf7IGcekja2hADu\") artifact$id"},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"class-diagram","dir":"Articles","previous_headings":"","what":"Class diagram","title":"Architecture","text":"class diagram illustrates relationships sugar syntax classes laminr package. classes provide user-friendly interface interacting LaminDB data.","code":"classDiagram %% # nolint start %% --- Copied from base diagram -------------------------------------------- laminr --> UserSettings laminr --> InstanceSettings Instance --> InstanceAPI Instance --> Module Module --> Registry Registry --> Field Field --> RelatedRecords Record --> RelatedRecords UserSettings --> InstanceSettings InstanceSettings --> Instance InstanceAPI --> Module Instance --> Registry InstanceAPI --> Registry Instance --> Record InstanceAPI --> Record Instance --> RelatedRecords InstanceAPI --> RelatedRecords %% ------------------------------------------------------------------------- %% --- New links for Rich classes ------------------------------------------ RichInstance --|> Instance laminr --> RichInstance Core --|> Module RichInstance --> Core Bionty --|> Module RichInstance --> Bionty Registry --> RichRecord Registry --> TemporaryRecord RichRecord --|> Record TemporaryRecord --|> RichRecord Registry --> Artifact Artifact --|> RichRecord %% ------------------------------------------------------------------------- %% --- Copied from base diagram -------------------------------------------- class laminr{ +connect(String slug): RichInstance } class UserSettings{ +initialize(...): UserSettings +email: String +access_token: String +uid: String +uuid: String +handle: String +name: String } class InstanceSettings{ +initialize(...): InstanceSettings +owner: String +name: String +id: String +schema_id: String +api_url: String } class Instance{ +initialize(\\n#emsp;InstanceSettings Instance_settings, API api, \\n#emsp;Map schema\\n): Instance +get_modules(): Module[] +get_module(String module_name): Module +get_module_names(): String[] +get_api(): InstanceAPI +get_settings(): InstanceSettings +get_py_lamin(Boolean check, String what): PythonModule +track(String path, String transform): NULL +finish(): NULL +is_default: Boolean } class InstanceAPI{ +initialize(InstanceSettings Instance_settings) +get_schema(): Map +get_record(...): Map +get_records(...): Map +delete_record(...): NULL } class Module{ +initialize(\\n#emsp;Instance Instance, API api, String module_name,\\n#emsp;Map module_schema\\n): Module +name: String +get_registries(): Registry[] +get_registry(String registry_name): Registry +get_registry_names(): String[] } class Registry{ +initialize(\\n#emsp;Instance Instance, Module module, API api,\\n#emsp;String registry_name, Map registry_schema\\n): Registry +name: String +class_name: String +is_link_table: Bool +get_fields(): Field[] +get_field(String field_name): Field +get_field_names(): String[] +get(\\n#emsp;String id_or_uid, Bool include_foreign_keys,\\n#emsp;List~String~ select, Bool verbose\\n): RichRecord +get_record_class(): RichRecordClass +get_temporary_record_class(): TemporaryRecordClass +df(Integer limit, Bool verbose): DataFrame +from_df(\\n#emsp;DataFrame dataframe, String key,\\n#emsp;String description, String run\\n): TemporaryRecord +from_path(\\n#emsp;Path path, String key, String description, String run\\n): TemporaryRecord +from_anndata(\\n#emsp;AnnData adata, String key, String description, String run\\n): TemporaryRecord } class Field{ +initialize(\\n#emsp;String type, String through, String field_name,\\n#emsp;String registry_name, String column_name, String module_name,\\n#emsp;Bool is_link_table, String relation_type, String related_field_name,\\n#emsp;String related_registry_name, String related_module_name\\n): Field +type: String +through: Map +field_name: String +registry_name: String +column_name: String +module_name: String +is_link_table: Bool +relation_type: String +related_field_name: String +related_registry_name: String +related_module_name: String } class Record{ +initialize(\\n#emsp;Instance Instance, Registry registry,\\n#emsp;API api, Map data\\n): Record +get_value(String field_name): Any +delete(): NULL } class RelatedRecords{ +initialize(\\n#emsp;Instance instance, Registry registry, Field field,\\n#emsp;String related_to, API api\\n): RelatedRecords +df(): DataFrame +field: Field } %% ------------------------------------------------------------------------- %% --- New Rich classes ---------------------------------------------------- class RichInstance{ +initialize( #emsp;InstanceSettings Instance_settings, API api, #emsp;Map schema ): RichInstance +Registry Artifact +Registry Collection +...registry accessors... +Registry User +Bionty bionty } style RichInstance fill:#ffe1c9 class Core{ +Registry Artifact +Registry Collection +...registry accessors... +Registry User } style Core fill:#ffe1c9 class Bionty{ +Registry CellLine +Registry CellMarker +...registry accessors... +Registry Tissue } style Bionty fill:#ffe1c9 class RichRecord{ +...field value accessors... } style RichRecord fill:#ffe1c9 class TemporaryRecord{ +save(): NULL } style TemporaryRecord fill:#ffe1c9 class Artifact{ +...field value accessors... +cache(): String +load(): AnnData | DataFrame | ... +describe(): NULL } style Artifact fill:#ffe1c9 %% ------------------------------------------------------------------------- %% # nolint end"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"key-concepts-in-lamindb","dir":"Articles","previous_headings":"","what":"Key Concepts in LaminDB","title":"Concepts and features","text":"diving practical usage {laminr}, ’s helpful understand core concepts LaminDB. detailed explanation, refer Architecture vignette (vignette(\"architecture\", package = \"laminr\")). Instance: LaminDB instance self-contained environment storing managing data metadata. Think like database project directory. instance schema, storage location, metadata database. Module: module collection related registries provide specific functionality. example, core module contains essential registries general data management, bionty module provides registries biological entities like genes proteins. Registry: registry centralized collection related records, similar table database. registry holds specific type metadata, information artifacts, transforms, features. Record: record single entry within registry, analogous row database table. record represents specific entity combines multiple fields information. Field: field single piece information within record, like column database table. example, artifact record might fields name, description, creation date.","code":""},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"initial-setup","dir":"Articles","previous_headings":"","what":"Initial setup","title":"Concepts and features","text":"Now, let’s set environment use {laminr}.","code":""},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"python-setup","dir":"Articles","previous_headings":"Initial setup","what":"Python setup","title":"Concepts and features","text":"Install lamindb Python package. Connect LaminDB instance:","code":"pip install lamindb[aws] lamin connect laminlabs/cellxgene"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"r-setup","dir":"Articles","previous_headings":"Initial setup","what":"R setup","title":"Concepts and features","text":"Install {laminr} package. (Optional) Install suggested dependencies. includes packages like {anndata} working AnnData objects {s3} interacting S3 storage.","code":"install.packages(\"laminr\") install.packages(\"laminr\", dependencies = TRUE)"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"connecting-to-lamindb-from-r","dir":"Articles","previous_headings":"","what":"Connecting to LaminDB from R","title":"Concepts and features","text":"Connect laminlabs/cellxgene instance R session: db object now represents connection LaminDB instance. can explore available registries (like Artifact, Collection, Feature, etc.) simply printing db object: registries correspond Python classes LaminDB. access registries within specific modules, use $ operator. example, access bionty module: bionty registries also corresponding Python classes.","code":"library(laminr) db <- connect(\"laminlabs/cellxgene\") db #> cellxgene #> Core registries #> $Run #> $User #> $Param #> $ULabel #> $Feature #> $Storage #> $Artifact #> $Transform #> $Collection #> $FeatureSet #> $ParamValue #> $FeatureValue #> Additional modules #> bionty #> ourprojects db$bionty #> bionty #> Registries #> $Gene #> $Source #> $Tissue #> $Disease #> $Pathway #> $Protein #> $CellLine #> $CellType #> $Organism #> $Ethnicity #> $Phenotype #> $CellMarker #> $DevelopmentalStage #> $ExperimentalFactor"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"working-with-registries","dir":"Articles","previous_headings":"","what":"Working with registries","title":"Concepts and features","text":"Let’s use Artifact registry example. registry stores datasets, models, data entities. see available functions Artifact registry, print registry object: can also get data frame summarising records associated registry.","code":"db$Artifact #> Artifact #> Simple fields #> id: AutoField #> key: CharField #> uid: CharField #> hash: CharField #> size: BigIntegerField #> type: CharField #> suffix: CharField #> version: CharField #> is_latest: BooleanField #> n_objects: BigIntegerField #> created_at: DateTimeField #> updated_at: DateTimeField #> visibility: SmallIntegerField #> description: CharField #> n_observations: BigIntegerField #> Relational fields #> run: Run (many-to-one) #> storage: Storage (many-to-one) #> ulabels: ULabel (many-to-many) #> transform: Transform (many-to-one) #> created_by: User (many-to-one) #> collections: Collection (many-to-many) #> feature_sets: FeatureSet (many-to-many) #> input_of_runs: Run (many-to-many) #> Bionty fields #> genes: bionty$Gene (many-to-many) #> tissues: bionty$Tissue (many-to-many) #> diseases: bionty$Disease (many-to-many) #> pathways: bionty$Pathway (many-to-many) #> proteins: bionty$Protein (many-to-many) #> organisms: bionty$Organism (many-to-many) #> cell_lines: bionty$CellLine (many-to-many) #> cell_types: bionty$CellType (many-to-many) #> phenotypes: bionty$Phenotype (many-to-many) #> ethnicities: bionty$Ethnicity (many-to-many) #> cell_markers: bionty$CellMarker (many-to-many) #> developmental_stages: bionty$DevelopmentalStage (many-to-many) #> experimental_factors: bionty$ExperimentalFactor (many-to-many) #> Ourprojects fields #> projects: ourprojects$Project (many-to-many) #> references: ourprojects$Reference (many-to-many) db$Artifact$df(limit = 5) #> n_objects suffix #> 1 290 #> 2 330 #> 3 NA .txt #> 4 NA .html #> 5 NA .h5ad #> key #> 1 cell-census/2023-12-15/soma #> 2 cell-census/2024-07-01/soma #> 3 #> 4 #> 5 cell-census/2023-07-25/h5ads/7a0a8891-9a22-4549-a55b-c2aca23c3a2a.h5ad #> uid visibility hash size is_latest #> 1 FYMewVq5twKMDXVy0000 1 Mfyw8VuqftX5REITfQH_yg 635848093433 FALSE #> 2 FYMewVq5twKMDXVy0001 1 bzrXBPNvitSVKvb3GG38_w 870700998221 TRUE #> 3 5rnsIP61m6O2Rkt00000 0 WBwnXEQjGKfD3_LVRPS7PQ 9043 TRUE #> 4 n1EkazEYk7wZjdUB0000 0 dQGbiqShQnkLuxP54_2puw 647365 TRUE #> 5 tczTlSHFPOcAcBnfyxKA 1 UlsVvBz9kMzn2r9RdoAAOg 1297573950 FALSE #> description X_accessor n_observations type #> 1 Census 2023-12-15 tiledbsoma 68683222 dataset #> 2 Census 2024-07-01 tiledbsoma 115556140 dataset #> 3 requirements.txt NA #> 4 Report of run CPOQGmldHAqwAlLaPjia NA #> 5 Supercluster: Hippocampal CA1-3 AnnData 74979 #> X_hash_type updated_at created_at #> 1 md5-d 2024-09-17T13:00:13.714256+00:00 2024-07-12T12:12:16.091881+00:00 #> 2 md5-d 2024-09-17T13:01:23.739635+00:00 2024-07-16T12:52:01.424629+00:00 #> 3 md5 2024-11-25T12:20:22.807106+00:00 2024-11-25T12:20:22.806751+00:00 #> 4 md5 2024-11-25T12:20:35.499512+00:00 2024-11-25T12:20:35.499384+00:00 #> 5 md5-n 2024-01-24T07:10:21.725547+00:00 2023-11-28T21:46:12.685907+00:00 #> X_key_is_virtual version id #> 1 FALSE 2023-12-15 2846 #> 2 FALSE 2024-07-01 3665 #> 3 TRUE 3672 #> 4 TRUE 3673 #> 5 FALSE 2023-07-25 1270"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"working-with-records","dir":"Articles","previous_headings":"","what":"Working with records","title":"Concepts and features","text":"can fetch specific record registry using ID UID. instance, get artifact UID KBW89Mf7IGcekja2hADu: artifact contains AnnData object myeloid cell data. can view metadata: artifact records, can get detailed information: Access specific fields record using $ operator: fields record contain links related information. one--many many--many relationship, summary related information can retrieved data frame. Finally, artifact records , can download associated data: Currently, {laminr} primarily supports S3 storage. Support storage backends added future. information related planned features roadmap, please refer Development vignette (vignette(\"development\", package = \"laminr\")).","code":"artifact <- db$Artifact$get(\"KBW89Mf7IGcekja2hADu\") artifact #> Artifact(uid='KBW89Mf7IGcekja2hADu', description='Myeloid compartment', key='cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad', id=3659, run_id=27, hash='SZ5tB0T4YKfiUuUkAL09ZA', size=691757462, type='dataset', suffix='.h5ad', storage_id=2, version='2024-07-01', _accessor='AnnData', is_latest=TRUE, transform_id=22, _hash_type='md5-n', created_at='2024-07-12T12:34:10.345829+00:00', created_by_id=1, updated_at='2024-07-12T12:40:48.837026+00:00', visibility=1, n_observations=51552, _key_is_virtual=FALSE) artifact$describe() #> Artifact(uid='KBW89Mf7IGcekja2hADu', description='Myeloid compartment', key='cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad', id=3659, run_id=27, hash='SZ5tB0T4YKfiUuUkAL09ZA', size=691757462, type='dataset', suffix='.h5ad', storage_id=2, version='2024-07-01', _accessor='AnnData', is_latest=TRUE, transform_id=22, _hash_type='md5-n', created_at='2024-07-12T12:34:10.345829+00:00', created_by_id=1, updated_at='2024-07-12T12:40:48.837026+00:00', visibility=1, n_observations=51552, _key_is_virtual=FALSE) #> Provenance #> $storage = 's3://cellxgene-data-public' #> $transform = 'Census release 2024-07-01 (LTS)' #> $run = '2024-07-16T12:49:41.81955+00:00' #> $created_by = 'sunnyosun' artifact$id #> [1] 3659 artifact$uid #> [1] \"KBW89Mf7IGcekja2hADu\" artifact$key #> [1] \"cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad\" artifact$storage #> Storage(uid='oIYGbD74', root='s3://cellxgene-data-public', id=2, type='s3', region='us-west-2', created_at='2023-09-19T13:17:56.273068+00:00', created_by_id=1, updated_at='2023-10-16T15:04:08.998203+00:00') artifact$developmental_stages #> RelatedRecords(field_name='developmental_stages', relation_type='many-to-many', related_to='KBW89Mf7IGcekja2hADu') artifact$developmental_stages$df() #> id uid abbr name synonyms #> 1 422 1xebUrrX NA sixth decade human stage NA #> 2 423 3yuYMeZt NA seventh decade human stage NA #> 3 424 2EztBuvx NA eighth decade human stage NA #> created_at updated_at #> 1 2023-11-28T23:05:31.450102+00:00 2023-11-28T23:05:31.450106+00:00 #> 2 2023-11-28T23:05:31.450123+00:00 2023-11-28T23:05:31.450127+00:00 #> 3 2023-11-28T23:05:31.450144+00:00 2023-11-28T23:05:31.450149+00:00 #> description #> 1 Human Stage That Refers To An Individual Who Is Over 50 And Under 60 Years Old. #> 2 Human Stage That Refers To An Individual Who Is Over 60 And Under 70 Years Old. #> 3 Human Stage That Refers To An Individual Who Is Over 70 And Under 80 Years Old. #> ontology_id #> 1 HsapDv:0000240 #> 2 HsapDv:0000241 #> 3 HsapDv:0000242 artifact$cache() # Cache the data locally #> | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |== | 4% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========= | 14% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================ | 24% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================= | 34% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |============================== | 44% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |===================================== | 54% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================ | 64% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |=================================================== | 74% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |========================================================== | 84% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================= | 94% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100% artifact$load() # Load the data into memory #> ℹ s3://cellxgene-data-public/cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad already exists at /home/runner/.cache/lamindb/cellxgene-data-public/cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad #> AnnData object with n_obs × n_vars = 51552 × 36398 #> obs: 'donor_id', 'Predicted_labels_CellTypist', 'Majority_voting_CellTypist', 'Manually_curated_celltype', 'assay_ontology_term_id', 'cell_type_ontology_term_id', 'development_stage_ontology_term_id', 'disease_ontology_term_id', 'self_reported_ethnicity_ontology_term_id', 'is_primary_data', 'organism_ontology_term_id', 'sex_ontology_term_id', 'tissue_ontology_term_id', 'suspension_type', 'tissue_type', 'cell_type', 'assay', 'disease', 'organism', 'sex', 'tissue', 'self_reported_ethnicity', 'development_stage', 'observation_joinid' #> var: 'gene_symbols', 'feature_is_filtered', 'feature_name', 'feature_reference', 'feature_biotype', 'feature_length' #> uns: 'cell_type_ontology_term_id_colors', 'citation', 'default_embedding', 'schema_reference', 'schema_version', 'sex_ontology_term_id_colors', 'title' #> obsm: 'X_umap'"},{"path":"https://laminr.lamin.ai/articles/development.html","id":"features","dir":"Articles","previous_headings":"","what":"Features","title":"Feature List and Roadmap","text":"Connect LaminDB instance (connect()). Handle authentication authorization. Connect LaminDB instance without needing install lamin_cli Python package. Query exactly one record (Registry$get(...)): Fetch single record ID. $df(): Returns data frame record row. $(): Returns records QuerySet. $one(): Return exactly one record. $one_or_none(): Return one record NULL. Leverage relationships querying (Artifact$filter(created_by__handle__startswith = \"testuse\")$df()): Query records based relationships. : Example: Artifact$filter(suffix = \".jpg\", created_by = user) less / greater : Example: Artifact$filter(size__lt = 1e4) : Example: Artifact$filter(suffix_in = [\".jpg\", \".fastq.gz\"]) order : Example: Artifact$filter().order_by(\"created_at\") contains: Example: Artifact$filter(name__contains = \"test\") startswith: Example: Artifact$filter(name__startswith = \"test\") : Example: ... : Example: ... Search records (Registry$search(...)): Search records based query string. Pagination: Support pagination large query results. Field lookups: Provide convenient functions looking field values (e.g., Artifact$lookup(\"description\")). $from_df(): Create artifact data frame. $from_path(): Create artifact path. $from_anndata(): Create artifact AnnData. Save artifacts: Save artifacts LaminDB appropriate metadata. csv: Load data frame CSV file. fcs: Load flow cytometry data. h5ad: Load AnnData HDF5 file. h5mu: Load MuData HDF5 file. html: Load content HTML file. jpg: Load image JPG. json: Load data JSON file. parquet: Load data frame Parquet file. png: Load image PNG. rds: Load R object RDS file. svg: Load image SVG. tsv: Load data frame TSV file. yaml: Load data YAML file. zarr: Load AnnData Zarr store. s3: Interact S3 storage. gcp: Interact Google Cloud Storage. Version artifacts: Create new versions artifacts. Delete artifacts: Delete existing artifact. Manage artifact metadata: Add, update, delete artifact metadata. Work collections: Create, manage, query collections artifacts. Track code execution: Automatically track execution R scripts notebooks. Capture run context: Record information execution environment (e.g., package versions, parameters). Link code artifacts: Associate code execution generated artifacts. Visualize data lineage: Create visualizations data lineage dependencies. Finalize tracking: End save run. Validate data: Validate data predefined schemas constraints. Standardize data: Apply standardization rules ensure data consistency. Annotate data: Add annotations labels data. Use Curator class: Implement Curator class streamlined curation workflow. Access ontology data: Fetch data public ontologies (e.g., gene names, protein IDs). Search ontologies: Search entities within ontologies. Use ontology terms queries: Use ontology terms filter query data. Manage ontology versions: Access different versions ontologies. Create manage records bionty registries: Add, update, delete records genes, proteins, cell types, etc. Utilize hierarchical relationships: Navigate query based parent-child relationships ontologies. Manage synonyms: Add use synonyms biological entities. List available modules: Retrieve list available modules instance. Access module registries: Access registries within specific modules. (Advanced) Create custom modules: Define register custom schema modules. Upload data: Upload data files LaminDB storage. Download data: Download data files LaminDB storage. (Advanced) Support zero-copy data transfer: Implement efficient data transfer mechanisms.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"connect-to-an-instance","dir":"Articles","previous_headings":"","what":"Connect to an instance","title":"Feature List and Roadmap","text":"Connect LaminDB instance (connect()). Handle authentication authorization. Connect LaminDB instance without needing install lamin_cli Python package.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"query-search","dir":"Articles","previous_headings":"","what":"Query & search","title":"Feature List and Roadmap","text":"Query exactly one record (Registry$get(...)): Fetch single record ID. $df(): Returns data frame record row. $(): Returns records QuerySet. $one(): Return exactly one record. $one_or_none(): Return one record NULL. Leverage relationships querying (Artifact$filter(created_by__handle__startswith = \"testuse\")$df()): Query records based relationships. : Example: Artifact$filter(suffix = \".jpg\", created_by = user) less / greater : Example: Artifact$filter(size__lt = 1e4) : Example: Artifact$filter(suffix_in = [\".jpg\", \".fastq.gz\"]) order : Example: Artifact$filter().order_by(\"created_at\") contains: Example: Artifact$filter(name__contains = \"test\") startswith: Example: Artifact$filter(name__startswith = \"test\") : Example: ... : Example: ... Search records (Registry$search(...)): Search records based query string. Pagination: Support pagination large query results. Field lookups: Provide convenient functions looking field values (e.g., Artifact$lookup(\"description\")).","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"manage-data-metadata","dir":"Articles","previous_headings":"","what":"Manage data & metadata","title":"Feature List and Roadmap","text":"$from_df(): Create artifact data frame. $from_path(): Create artifact path. $from_anndata(): Create artifact AnnData. Save artifacts: Save artifacts LaminDB appropriate metadata. csv: Load data frame CSV file. fcs: Load flow cytometry data. h5ad: Load AnnData HDF5 file. h5mu: Load MuData HDF5 file. html: Load content HTML file. jpg: Load image JPG. json: Load data JSON file. parquet: Load data frame Parquet file. png: Load image PNG. rds: Load R object RDS file. svg: Load image SVG. tsv: Load data frame TSV file. yaml: Load data YAML file. zarr: Load AnnData Zarr store. s3: Interact S3 storage. gcp: Interact Google Cloud Storage. Version artifacts: Create new versions artifacts. Delete artifacts: Delete existing artifact. Manage artifact metadata: Add, update, delete artifact metadata. Work collections: Create, manage, query collections artifacts.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"track-notebooks-scripts","dir":"Articles","previous_headings":"","what":"Track notebooks & scripts","title":"Feature List and Roadmap","text":"Track code execution: Automatically track execution R scripts notebooks. Capture run context: Record information execution environment (e.g., package versions, parameters). Link code artifacts: Associate code execution generated artifacts. Visualize data lineage: Create visualizations data lineage dependencies. Finalize tracking: End save run.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"curate-datasets","dir":"Articles","previous_headings":"","what":"Curate datasets","title":"Feature List and Roadmap","text":"Validate data: Validate data predefined schemas constraints. Standardize data: Apply standardization rules ensure data consistency. Annotate data: Add annotations labels data. Use Curator class: Implement Curator class streamlined curation workflow.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"access-public-ontologies","dir":"Articles","previous_headings":"","what":"Access public ontologies","title":"Feature List and Roadmap","text":"Access ontology data: Fetch data public ontologies (e.g., gene names, protein IDs). Search ontologies: Search entities within ontologies. Use ontology terms queries: Use ontology terms filter query data. Manage ontology versions: Access different versions ontologies.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"manage-biological-registries","dir":"Articles","previous_headings":"","what":"Manage biological registries","title":"Feature List and Roadmap","text":"Create manage records bionty registries: Add, update, delete records genes, proteins, cell types, etc. Utilize hierarchical relationships: Navigate query based parent-child relationships ontologies. Manage synonyms: Add use synonyms biological entities.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"manage-schema-modules","dir":"Articles","previous_headings":"","what":"Manage schema modules","title":"Feature List and Roadmap","text":"List available modules: Retrieve list available modules instance. Access module registries: Access registries within specific modules. (Advanced) Create custom modules: Define register custom schema modules.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"transfer-data","dir":"Articles","previous_headings":"","what":"Transfer data","title":"Feature List and Roadmap","text":"Upload data: Upload data files LaminDB storage. Download data: Download data files LaminDB storage. (Advanced) Support zero-copy data transfer: Implement efficient data transfer mechanisms.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"roadmap","dir":"Articles","previous_headings":"","what":"Roadmap","title":"Feature List and Roadmap","text":"first version package allows users : Connect LaminDB instance. List records registry. Fetch one record ID UID. Cache S3 artifacts locally. Load AnnData artifacts. Expand query functionality comparators, relationships, pagination. Implement basic data metadata management features (create, save, load delete artifacts). Expand support different data formats storage backends. Implement code tracking. Implement data lineage visualization. Introduce data curation features (validation, standardization, annotation). Enhance support bionty registries ontology interactions. Implement advanced features like custom module creation zero-copy data transfer. Continuously improve performance, usability, documentation.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"version-0-1-0","dir":"Articles","previous_headings":"","what":"Version 0.1.0","title":"Feature List and Roadmap","text":"first version package allows users : Connect LaminDB instance. List records registry. Fetch one record ID UID. Cache S3 artifacts locally. Load AnnData artifacts.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"version-0-2-0","dir":"Articles","previous_headings":"","what":"Version 0.2.0","title":"Feature List and Roadmap","text":"Expand query functionality comparators, relationships, pagination. Implement basic data metadata management features (create, save, load delete artifacts). Expand support different data formats storage backends. Implement code tracking.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"version-0-3-0","dir":"Articles","previous_headings":"","what":"Version 0.3.0","title":"Feature List and Roadmap","text":"Implement data lineage visualization. Introduce data curation features (validation, standardization, annotation). Enhance support bionty registries ontology interactions.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"future-versions","dir":"Articles","previous_headings":"","what":"Future versions","title":"Feature List and Roadmap","text":"Implement advanced features like custom module creation zero-copy data transfer. Continuously improve performance, usability, documentation.","code":""},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"setup","dir":"Articles","previous_headings":"","what":"Setup","title":"Get started","text":"Install {laminr} CRAN: Install lamindb PyPI: Connect LaminDB instance command line: instance acts default instance everything follows. data tracking information added .","code":"install.packages(\"laminr\", dependencies = TRUE) pip install 'lamindb[aws]' lamin connect /"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"start-your-analysis","dir":"Articles","previous_headings":"","what":"Start your analysis","title":"Get started","text":"Load {laminr} get started. Create default database db object R session: used manage datasets metadata entities. LaminDB tracks code used create data. track current source code, run: Tip UID (\"I8BlHXFXqZOG0000\") obtained running db$track(path = \"your_file.R\") copying UID output.","code":"library(laminr) db <- connect() #> ! schema module 'bionty' is not installed → no access to its labels & registries (resolve via `pip install bionty`) #> ! schema module 'ourprojects' is not installed → no access to its labels & registries (resolve via `pip install ourprojects`) #> → connected lamindb: laminlabs/cellxgene db$track(\"I8BlHXFXqZOG0000\", path = \"laminr.Rmd\")"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"connect-to-other-instances","dir":"Articles","previous_headings":"","what":"Connect to other instances","title":"Get started","text":"possible connect LaminDB instance reading data. Connect public CELLxGENE instance:","code":"cellxgene <- connect(\"laminlabs/cellxgene\") cellxgene #> cellxgene #> Core registries #> $Run #> $User #> $Param #> $ULabel #> $Feature #> $Storage #> $Artifact #> $Transform #> $Collection #> $FeatureSet #> $ParamValue #> $FeatureValue #> Additional modules #> bionty #> ourprojects"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"download-a-dataset","dir":"Articles","previous_headings":"","what":"Download a dataset","title":"Get started","text":"Artifacts objects bundle data associated metadata. artifact can file folder typically dataset. Tip can view detailed information dataset LaminHub: https://lamin.ai/laminlabs/cellxgene/artifact/7dVluLROpalzEh8mNyxk. can search query CELLxGENE datasets : https://lamin.ai/laminlabs/cellxgene/artifacts. download dataset load memory, run: artifact contains AnnData object. Tip prefer path local file folder, call path <- artifact$cache().","code":"artifact <- cellxgene$Artifact$get(\"7dVluLROpalzEh8mNyxk\") artifact #> Artifact(uid='7dVluLROpalzEh8mNyxk', description='Renal cell carcinoma, pre aPD1, kidney Puck_200727_12', key='cell-census/2023-12-15/h5ads/02faf712-92d4-4589-bec7-13105059cf86.h5ad', id=1742, run_id=22, hash='YNYuokfAoDFxdaRILjmU9w', size=13997860, suffix='.h5ad', storage_id=2, version='2023-12-15', _accessor='AnnData', is_latest=TRUE, transform_id=16, _hash_type='md5-n', created_at='2024-01-11T09:13:23.143694+00:00', created_by_id=1, updated_at='2024-01-24T07:17:47.009288+00:00', visibility=1, n_observations=17612, _key_is_virtual=FALSE) adata <- artifact$load() #> | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========= | 14% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================ | 24% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================= | 34% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |============================== | 44% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================ | 64% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |========================================================== | 84% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100% adata #> AnnData object with n_obs × n_vars = 17612 × 23254 #> obs: 'n_genes', 'n_UMIs', 'log10_n_UMIs', 'log10_n_genes', 'Cell_Type', 'cell_type_ontology_term_id', 'organism_ontology_term_id', 'tissue_ontology_term_id', 'assay_ontology_term_id', 'disease_ontology_term_id', 'self_reported_ethnicity_ontology_term_id', 'development_stage_ontology_term_id', 'sex_ontology_term_id', 'donor_id', 'is_primary_data', 'suspension_type', 'cell_type', 'assay', 'disease', 'organism', 'sex', 'tissue', 'self_reported_ethnicity', 'development_stage' #> var: 'gene', 'n_beads', 'n_UMIs', 'feature_is_filtered', 'feature_name', 'feature_reference', 'feature_biotype' #> uns: 'Cell_Type_colors', 'schema_version', 'title' #> obsm: 'X_spatial'"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"work-with-the-dataset","dir":"Articles","previous_headings":"","what":"Work with the dataset","title":"Get started","text":"loaded dataset can perform analysis normally. , marker genes calculated provided cell type labels using {Seurat}.","code":"library(Seurat) #> Loading required package: SeuratObject #> Loading required package: sp #> 'SeuratObject' was built under R 4.4.0 but the current version is #> 4.4.2; it is recomended that you reinstall 'SeuratObject' as the ABI #> for R may have changed #> #> Attaching package: 'SeuratObject' #> The following objects are masked from 'package:base': #> #> intersect, t # Create a Seurat object seurat_obj <- CreateSeuratObject( counts = as(Matrix::t(adata$X), \"CsparseMatrix\"), meta.data = adata$obs ) # Add gene metadata seurat_obj[[\"RNA\"]] <- AddMetaData( GetAssay(seurat_obj), adata$var ) # Set cell identities to the provided cell type annotation Idents(seurat_obj) <- \"cell_type\" # Normalise the data seurat_obj <- NormalizeData(seurat_obj) #> Normalizing layer: counts # Test for marker genes (the output is a data.frame) markers <- FindAllMarkers( seurat_obj, features = Features(seurat_obj)[1:100] # Only test a few features for speed ) #> Calculating cluster fibroblast #> For a (much!) faster implementation of the Wilcoxon Rank Sum Test, #> (default method for FindMarkers) please install the presto package #> -------------------------------------------- #> install.packages('devtools') #> devtools::install_github('immunogenomics/presto') #> -------------------------------------------- #> After installation of presto, Seurat will automatically use the more #> efficient implementation (no further action necessary). #> This message will be shown once per session #> Calculating cluster epithelial cell #> Calculating cluster myeloid cell #> Calculating cluster malignant cell #> Warning: The following tests were not performed: #> Warning: When testing epithelial cell versus all: #> Cell group 1 has fewer than 3 cells # Display the marker genes knitr::kable(markers) # Plot the marker genes DotPlot(seurat_obj, features = unique(markers$gene)) + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5)) #> Warning: Scaling data with a low number of groups may produce misleading #> results"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"slice-the-tiledbsoma-array-store","dir":"Articles","previous_headings":"","what":"Slice the tiledbsoma array store","title":"Get started","text":"Alternatively accessing individual CELLxGENE datasets LaminDB, {cellxgene.census} package can used slice TileDB-SOMA array store CELLxGENE Census, concatenated version datasets CELLxGENE.","code":"library(cellxgene.census) census <- open_soma() organism <- \"Homo sapiens\" gene_filter <- \"feature_id %in% c('ENSG00000107317', 'ENSG00000106034')\" cell_filter <- \"cell_type == 'sympathetic neuron'\" cell_columns <- c( \"assay\", \"cell_type\", \"tissue\", \"tissue_general\", \"suspension_type\", \"disease\" ) seurat_obj2 <- get_seurat( census = census, organism = organism, var_value_filter = gene_filter, obs_value_filter = cell_filter, obs_column_names = cell_columns )"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"save-the-results","dir":"Articles","previous_headings":"","what":"Save the results","title":"Get started","text":"Save results new artifacts default LaminDB instance.","code":"seurat_path <- tempfile(fileext = \".rds\") saveRDS(seurat_obj, seurat_path) db$Artifact$from_df( markers, description = \"Marker genes for renal cell carcinoma dataset\" )$save() db$Artifact$from_path( seurat_path, description = \"Seurat object for renal cell carcinoma dataset\" )$save()"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"mark-the-analysis-as-finished","dir":"Articles","previous_headings":"","what":"Mark the analysis as finished","title":"Get started","text":"Mark analysis run finished create time stamp upload source code hub.","code":"db$finish()"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"save-a-notebook-report-not-needed-for--r-scripts","dir":"Articles","previous_headings":"Mark the analysis as finished","what":"Save a notebook report (not needed for .R scripts)","title":"Get started","text":"Save run report notebook (.Rmd .qmd file) instance: Render notebook HTML RStudio, click “Knit” button command line, run: Use rmarkdown package R: Save LaminDB instance using lamin CLI:","code":"Rscript -e 'rmarkdown::render(\"laminr.Rmd\")' rmarkdown::render(\"laminr.Rmd\") lamin save laminr.Rmd"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"further-reading","dir":"Articles","previous_headings":"","what":"Further reading","title":"Get started","text":"details {laminr} works see vignette(\"concepts_features\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"what-is-bionty","dir":"Articles","previous_headings":"","what":"What is bionty?","title":"Bionty Module","text":"bionty module extends LaminDB registries entities like genes, proteins, cell types, . leverages public ontologies ensure data consistency interoperability. Key features bionty include: Ontology Integration: Connect public ontologies like NCBI Taxonomy, Ensembl, UniProt, Cell Ontology, others. Hierarchical Relationships: Represent navigate relationships entities (e.g., parent-child relationships ontologies). Synonym Management: Handle synonyms abbreviations biological entities. Versioning: Track changes ontologies maintain historical versions.","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"gene","dir":"Articles","previous_headings":"","what":"Gene","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields","dir":"Articles","previous_headings":"Gene","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) symbol (character) biotype (character) synonyms (character) stable_id (character) created_at (POSIXct) updated_at (POSIXct) description (character) ncbi_gene_ids (character) ensembl_gene_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields","dir":"Articles","previous_headings":"Gene","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) organism (bionty$Organism) pathways (bionty$Pathway) artifacts (Artifact) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"source","dir":"Articles","previous_headings":"","what":"Source","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-1","dir":"Articles","previous_headings":"Source","what":"Simple fields","title":"Bionty Module","text":"id (integer) md5 (character) uid (character) url (character) name (character) in_db (logical) entity (character) version (character) organism (character) created_at (POSIXct) updated_at (POSIXct) description (character) currently_used (logical) source_website (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-1","dir":"Articles","previous_headings":"Source","what":"Relational fields","title":"Bionty Module","text":"run (Run) artifacts (Artifact) created_by (User) dataframe_artifact (Artifact)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"tissue","dir":"Articles","previous_headings":"","what":"Tissue","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-2","dir":"Articles","previous_headings":"Tissue","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-2","dir":"Articles","previous_headings":"Tissue","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$Tissue) children (bionty$Tissue) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"disease","dir":"Articles","previous_headings":"","what":"Disease","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-3","dir":"Articles","previous_headings":"Disease","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-3","dir":"Articles","previous_headings":"Disease","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$Disease) children (bionty$Disease) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"pathway","dir":"Articles","previous_headings":"","what":"Pathway","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-4","dir":"Articles","previous_headings":"Pathway","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-4","dir":"Articles","previous_headings":"Pathway","what":"Relational fields","title":"Bionty Module","text":"run (Run) genes (bionty$Gene) source (bionty$Source) parents (bionty$Pathway) children (bionty$Pathway) artifacts (Artifact) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"protein","dir":"Articles","previous_headings":"","what":"Protein","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-5","dir":"Articles","previous_headings":"Protein","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) name (character) length (integer64) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) gene_symbol (character) uniprotkb_id (character) ensembl_gene_ids (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-5","dir":"Articles","previous_headings":"Protein","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) organism (bionty$Organism) artifacts (Artifact) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"cellline","dir":"Articles","previous_headings":"","what":"CellLine","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-6","dir":"Articles","previous_headings":"CellLine","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-6","dir":"Articles","previous_headings":"CellLine","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$CellLine) children (bionty$CellLine) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"celltype","dir":"Articles","previous_headings":"","what":"CellType","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-7","dir":"Articles","previous_headings":"CellType","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-7","dir":"Articles","previous_headings":"CellType","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$CellType) children (bionty$CellType) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"organism","dir":"Articles","previous_headings":"","what":"Organism","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-8","dir":"Articles","previous_headings":"Organism","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character) scientific_name (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-8","dir":"Articles","previous_headings":"Organism","what":"Relational fields","title":"Bionty Module","text":"run (Run) genes (bionty$Gene) source (bionty$Source) parents (bionty$Organism) children (bionty$Organism) proteins (bionty$Protein) artifacts (Artifact) created_by (User) cell_markers (bionty$CellMarker)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"ethnicity","dir":"Articles","previous_headings":"","what":"Ethnicity","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-9","dir":"Articles","previous_headings":"Ethnicity","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-9","dir":"Articles","previous_headings":"Ethnicity","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$Ethnicity) children (bionty$Ethnicity) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"phenotype","dir":"Articles","previous_headings":"","what":"Phenotype","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-10","dir":"Articles","previous_headings":"Phenotype","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-10","dir":"Articles","previous_headings":"Phenotype","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$Phenotype) children (bionty$Phenotype) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"cellmarker","dir":"Articles","previous_headings":"","what":"CellMarker","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-11","dir":"Articles","previous_headings":"CellMarker","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) gene_symbol (character) ncbi_gene_id (character) uniprotkb_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-11","dir":"Articles","previous_headings":"CellMarker","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) organism (bionty$Organism) artifacts (Artifact) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"developmentalstage","dir":"Articles","previous_headings":"","what":"DevelopmentalStage","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-12","dir":"Articles","previous_headings":"DevelopmentalStage","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-12","dir":"Articles","previous_headings":"DevelopmentalStage","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$DevelopmentalStage) children (bionty$DevelopmentalStage) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"experimentalfactor","dir":"Articles","previous_headings":"","what":"ExperimentalFactor","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-13","dir":"Articles","previous_headings":"ExperimentalFactor","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) molecule (character) synonyms (character) created_at (POSIXct) instrument (character) updated_at (POSIXct) description (character) measurement (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-13","dir":"Articles","previous_headings":"ExperimentalFactor","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$ExperimentalFactor) children (bionty$ExperimentalFactor) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"key-concepts","dir":"Articles","previous_headings":"","what":"Key Concepts","title":"Core Module","text":"LaminDB, data metadata organized using system registries modules. Registries: Centralized collections related records, similar database tables. registry stores specific types metadata (e.g., artifacts, transforms, features). Modules: Groupings related registries provide domain-specific functionality. core module fundamental LaminDB instances includes essential registries general data management. modules (like bionty biological entities) can added extend functionality. Records Fields: record single entry within registry, analogous row database table. record comprises multiple fields, individual pieces information within record. comprehensive explanation LaminDB concepts {laminr}’s architecture, refer Architecture vignette: vignette(\"architecture\", package = \"laminr\"). learn connect LaminDB instance perform basic operations, see Getting started vignette: vignette(\"laminr\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"run","dir":"Articles","previous_headings":"","what":"Run","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields","dir":"Articles","previous_headings":"Run","what":"Simple fields","title":"Core Module","text":"id (integer64) uid (character) reference (character) created_at (POSIXct) started_at (POSIXct) finished_at (POSIXct) is_consecutive (logical) reference_type (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields","dir":"Articles","previous_headings":"Run","what":"Relational fields","title":"Core Module","text":"parent (Run) report (Artifact) transform (Transform) created_by (User) environment (Artifact) input_artifacts (Artifact) output_artifacts (Artifact) input_collections (Collection) output_collections (Collection)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"user","dir":"Articles","previous_headings":"","what":"User","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-1","dir":"Articles","previous_headings":"User","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) name (character) handle (character) created_at (POSIXct) updated_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-1","dir":"Articles","previous_headings":"User","what":"Relational fields","title":"Core Module","text":"created_runs (Run) created_artifacts (Artifact) created_transforms (Transform)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"param","dir":"Articles","previous_headings":"","what":"Param","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-2","dir":"Articles","previous_headings":"Param","what":"Simple fields","title":"Core Module","text":"id (integer64) name (character) dtype (character) created_at (POSIXct) updated_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-2","dir":"Articles","previous_headings":"Param","what":"Relational fields","title":"Core Module","text":"run (Run) values (ParamValue) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"ulabel","dir":"Articles","previous_headings":"","what":"ULabel","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-3","dir":"Articles","previous_headings":"ULabel","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) name (character) reference (character) created_at (POSIXct) updated_at (POSIXct) description (character) reference_type (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-3","dir":"Articles","previous_headings":"ULabel","what":"Relational fields","title":"Core Module","text":"run (Run) parents (ULabel) children (ULabel) artifacts (Artifact) created_by (User) transforms (Transform) collections (Collection)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"feature","dir":"Articles","previous_headings":"","what":"Feature","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-4","dir":"Articles","previous_headings":"Feature","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) name (character) unit (character) dtype (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-4","dir":"Articles","previous_headings":"Feature","what":"Relational fields","title":"Core Module","text":"run (Run) values (FeatureValue) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"storage","dir":"Articles","previous_headings":"","what":"Storage","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-5","dir":"Articles","previous_headings":"Storage","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) root (character) type (character) region (character) created_at (POSIXct) updated_at (POSIXct) description (character) instance_uid (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-5","dir":"Articles","previous_headings":"Storage","what":"Relational fields","title":"Core Module","text":"run (Run) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"artifact","dir":"Articles","previous_headings":"","what":"Artifact","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-6","dir":"Articles","previous_headings":"Artifact","what":"Simple fields","title":"Core Module","text":"id (integer) key (character) uid (character) hash (character) size (integer64) type (character) suffix (character) version (character) is_latest (logical) n_objects (integer64) created_at (POSIXct) updated_at (POSIXct) visibility (integer) description (character) n_observations (integer64)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-6","dir":"Articles","previous_headings":"Artifact","what":"Relational fields","title":"Core Module","text":"run (Run) storage (Storage) ulabels (ULabel) transform (Transform) created_by (User) collections (Collection) feature_sets (FeatureSet) input_of_runs (Run)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"transform","dir":"Articles","previous_headings":"","what":"Transform","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-7","dir":"Articles","previous_headings":"Transform","what":"Simple fields","title":"Core Module","text":"id (integer) key (character) uid (character) hash (character) name (character) type (character) version (character) is_latest (logical) reference (character) created_at (POSIXct) updated_at (POSIXct) description (character) source_code (character) reference_type (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-7","dir":"Articles","previous_headings":"Transform","what":"Relational fields","title":"Core Module","text":"runs (Run) ulabels (ULabel) created_by (User) successors (Transform) predecessors (Transform) output_artifacts (Artifact) output_collections (Collection)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"collection","dir":"Articles","previous_headings":"","what":"Collection","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-8","dir":"Articles","previous_headings":"Collection","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) hash (character) name (character) version (character) is_latest (logical) reference (character) created_at (POSIXct) updated_at (POSIXct) visibility (integer) description (character) reference_type (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-8","dir":"Articles","previous_headings":"Collection","what":"Relational fields","title":"Core Module","text":"run (Run) ulabels (ULabel) artifacts (Artifact) transform (Transform) created_by (User) input_of_runs (Run) meta_artifact (Artifact)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"featureset","dir":"Articles","previous_headings":"","what":"FeatureSet","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-9","dir":"Articles","previous_headings":"FeatureSet","what":"Simple fields","title":"Core Module","text":"n (IntegerField) id (integer) uid (character) hash (character) name (character) dtype (character) registry (character) created_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-9","dir":"Articles","previous_headings":"FeatureSet","what":"Relational fields","title":"Core Module","text":"run (Run) features (Feature) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"paramvalue","dir":"Articles","previous_headings":"","what":"ParamValue","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-10","dir":"Articles","previous_headings":"ParamValue","what":"Simple fields","title":"Core Module","text":"id (integer64) value (list) created_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-10","dir":"Articles","previous_headings":"ParamValue","what":"Relational fields","title":"Core Module","text":"runs (Run) param (Param) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"featurevalue","dir":"Articles","previous_headings":"","what":"FeatureValue","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-11","dir":"Articles","previous_headings":"FeatureValue","what":"Simple fields","title":"Core Module","text":"id (integer64) value (list) created_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-11","dir":"Articles","previous_headings":"FeatureValue","what":"Relational fields","title":"Core Module","text":"run (Run) feature (Feature) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"what-is-wetlab","dir":"Articles","previous_headings":"","what":"What is wetlab?","title":"Wetlab Module","text":"wetlab module extends LaminDB specialized registries capturing essential information wetlab experiments. registries include: Experiments: Represent overall experiments details like objectives, design, timelines. Biosamples: Capture information biological specimens used experiments (e.g., tissue, cells, blood). Techsamples: Represent processed derived samples created raw biological materials. Treatments: Model various types treatments applied samples, including compound treatments, environmental perturbations, genetic modifications. Treatment Targets: Specify targets treatments, genes, proteins, pathways. Wells: Represent individual wells microplates experimental setups.","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"well","dir":"Articles","previous_headings":"","what":"Well","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields","dir":"Articles","previous_headings":"Well","what":"Simple fields","title":"Wetlab Module","text":"id (integer) row (character) uid (character) name (character) column (IntegerField) created_at (POSIXct) updated_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields","dir":"Articles","previous_headings":"Well","what":"Relational fields","title":"Wetlab Module","text":"run (Run) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"compound","dir":"Articles","previous_headings":"","what":"Compound","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-1","dir":"Articles","previous_headings":"Compound","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) chembl_id (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-1","dir":"Articles","previous_headings":"Compound","what":"Relational fields","title":"Wetlab Module","text":"run (Run) source (bionty$Source) parents (wetlab$Compound) children (wetlab$Compound) artifacts (Artifact) compounds (wetlab$CompoundTreatment) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"biosample","dir":"Articles","previous_headings":"","what":"Biosample","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-2","dir":"Articles","previous_headings":"Biosample","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) batch (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-2","dir":"Articles","previous_headings":"Biosample","what":"Relational fields","title":"Wetlab Module","text":"run (Run) tissues (bionty$Tissue) diseases (bionty$Disease) organism (bionty$Organism) artifacts (Artifact) cell_lines (bionty$CellLine) cell_types (bionty$CellType) created_by (User) techsamples (wetlab$Techsample)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"experiment","dir":"Articles","previous_headings":"","what":"Experiment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-3","dir":"Articles","previous_headings":"Experiment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) date (DateField) name (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-3","dir":"Articles","previous_headings":"Experiment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"techsample","dir":"Articles","previous_headings":"","what":"Techsample","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-4","dir":"Articles","previous_headings":"Techsample","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) batch (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-4","dir":"Articles","previous_headings":"Techsample","what":"Relational fields","title":"Wetlab Module","text":"run (Run) artifacts (Artifact) biosamples (wetlab$Biosample) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"treatmenttarget","dir":"Articles","previous_headings":"","what":"TreatmentTarget","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-5","dir":"Articles","previous_headings":"TreatmentTarget","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-5","dir":"Articles","previous_headings":"TreatmentTarget","what":"Relational fields","title":"Wetlab Module","text":"run (Run) genes (bionty$Gene) pathways (bionty$Pathway) proteins (bionty$Protein) artifacts (Artifact) created_by (User) genetic_targets (wetlab$GeneticTreatment) compound_targets (wetlab$CompoundTreatment) environmental_targets (wetlab$EnvironmentalTreatment)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"genetictreatment","dir":"Articles","previous_headings":"","what":"GeneticTreatment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-6","dir":"Articles","previous_headings":"GeneticTreatment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) system (character) sequence (character) created_at (POSIXct) updated_at (POSIXct) on_target_score (FloatField) off_target_score (FloatField)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-6","dir":"Articles","previous_headings":"GeneticTreatment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) targets (wetlab$TreatmentTarget) artifacts (Artifact) created_by (User) genetic_treatments (wetlab$CombinationTreatment)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"compoundtreatment","dir":"Articles","previous_headings":"","what":"CompoundTreatment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-7","dir":"Articles","previous_headings":"CompoundTreatment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) duration (DurationField) created_at (POSIXct) updated_at (POSIXct) concentration (FloatField) concentration_unit (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-7","dir":"Articles","previous_headings":"CompoundTreatment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) targets (wetlab$TreatmentTarget) artifacts (Artifact) compounds (wetlab$Compound) created_by (User) compound_treatments (wetlab$CombinationTreatment)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"combinationtreatment","dir":"Articles","previous_headings":"","what":"CombinationTreatment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-8","dir":"Articles","previous_headings":"CombinationTreatment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-8","dir":"Articles","previous_headings":"CombinationTreatment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) genetics (wetlab$GeneticTreatment) artifacts (Artifact) compounds (wetlab$CompoundTreatment) created_by (User) environmentals (wetlab$EnvironmentalTreatment)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"environmentaltreatment","dir":"Articles","previous_headings":"","what":"EnvironmentalTreatment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-9","dir":"Articles","previous_headings":"EnvironmentalTreatment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) unit (character) value (FloatField) duration (DurationField) created_at (POSIXct) updated_at (POSIXct) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-9","dir":"Articles","previous_headings":"EnvironmentalTreatment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) targets (wetlab$TreatmentTarget) artifacts (Artifact) created_by (User) environmental_treatments (wetlab$CombinationTreatment)","code":""},{"path":"https://laminr.lamin.ai/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Robrecht Cannoodt. Author, maintainer. Luke Zappia. Author. Data Intuitive. Author. Lamin Labs. Author, copyright holder.","code":""},{"path":"https://laminr.lamin.ai/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Cannoodt R, Zappia L, Data Intuitive, Lamin Labs (2024). laminr: Client 'LaminDB'. R package version 0.2.0, https://github.com/laminlabs/laminr, https://laminr.lamin.ai.","code":"@Manual{, title = {laminr: Client for 'LaminDB'}, author = {Robrecht Cannoodt and Luke Zappia and {Data Intuitive} and {Lamin Labs}}, year = {2024}, note = {R package version 0.2.0, https://github.com/laminlabs/laminr}, url = {https://laminr.lamin.ai}, }"},{"path":"https://laminr.lamin.ai/index.html","id":"laminr-an-r-client-for-lamindb","dir":"","previous_headings":"","what":"Client for LaminDB","title":"Client for LaminDB","text":"{laminr} R client LaminDB.","code":""},{"path":"https://laminr.lamin.ai/index.html","id":"what-is-lamindb","dir":"","previous_headings":"","what":"What is LaminDB","title":"Client for LaminDB","text":"new LaminDB, ’s helpful start Lamin’s problem statement. LaminDB open-source data framework biology, built Python API structures data metadata, tracks analysis lineage, enables reproducible, scalable research. tools curating data public ontologies flexible dataset querying, LaminDB designed address core data challenges field. Please refer LaminDB’s introduction detailed introduction. LaminDB accompanied LaminHub data collaboration hub built LaminDB similar Github built git.","code":""},{"path":"https://laminr.lamin.ai/index.html","id":"features-of-laminr","dir":"","previous_headings":"","what":"Features of {laminr}","title":"Client for LaminDB","text":"Connect LaminDB instance list records registry. Fetch records ID UID. Currently supported storage backends: s3. Planned: gcs. Currently supported file formats: .csv, .h5ad, .html, .jpg, .json, .parquet, .png, .rds, .svg, .tsv, .yaml. Planned: .fcs, .h5mu, .zarr. Create records data frames, paths AnnData objects. Delete records. Track code R scripts notebooks. See development roadmap details (vignette(\"development\", package = \"laminr\")).","code":""},{"path":"https://laminr.lamin.ai/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Client for LaminDB","text":"Get started {laminr} installing package CRAN: also need install lamindb Python package:","code":"install.packages(\"laminr\") pip install lamindb[aws]"},{"path":"https://laminr.lamin.ai/index.html","id":"additional-packages","dir":"","previous_headings":"Installation","what":"Additional packages","title":"Client for LaminDB","text":"functionality requires additional packages. install use: also install package following tasks: {anndata} - Native AnnData support R {nanoparquet} - Reading .parquet files {readr} - Reading CSV/TSV files {reticulate} - Functionality requires Python lamindb package {rsvg} - Reading SVG files {s3} - Fetching datasets AWS S3 choose install packages now prompted whenever one required.","code":"install.packages(\"laminr\", dependencies = TRUE)"},{"path":"https://laminr.lamin.ai/index.html","id":"getting-started","dir":"","previous_headings":"","what":"Getting started","title":"Client for LaminDB","text":"best way get started {laminr} explore package vignettes (available laminr.lamin.ai): Getting Started: Learn basics explore practical examples (vignette(\"laminr\", package = \"laminr\")). Package Architecture: Get better understanding {laminr} works (vignette(\"architecture\", package = \"laminr\")). information specific modules functionalities, check following vignettes: Core Module: Learn core registries available LaminDB instance (vignette(\"module_core\", package = \"laminr\")). Bionty Module: Explore bionty module biology-related entities (vignette(\"module_bionty\", package = \"laminr\")).","code":""},{"path":"https://laminr.lamin.ai/index.html","id":"learn-more","dir":"","previous_headings":"","what":"Learn more","title":"Client for LaminDB","text":"information LaminDB features, check following resources: LaminDB website LaminDB documentation","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":null,"dir":"Reference","previous_headings":"","what":"Field — Field","title":"Field — Field","text":"field registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"active-bindings","dir":"Reference","previous_headings":"","what":"Active bindings","title":"Field — Field","text":"type (character(1)) type field. (list() NULL) value field. field_name (character(1)) field name. registry_name (character(1)) registry name. column_name (character(1)) column name. module_name (character(1)) module name. is_link_table (logical(1)) Whether field link table. relation_type (character(1) NULL) relation type. Can one : \"one--many\", \"many--one\", \"many--many\". related_field_name (character(1) NULL) related field name. related_registry_name (character(1) NULL) related registry name. related_module_name (character(1) NULL) related module name.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Field — Field","text":"Field$new() Field$print() Field$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Field — Field","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Field — Field","text":"","code":"Field$new( type, through, field_name, registry_name, column_name, module_name, is_link_table, relation_type, related_field_name, related_registry_name, related_module_name )"},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Field — Field","text":"type type field. Can one : \"IntegerField\", \"JSONField\", \"OneToOneField\", \"SmallIntegerField\", \"BigIntegerField\", \"AutoField\", \"BigAutoField\", \"BooleanField\", \"TextField\", \"DateTimeField\", \"ManyToManyField\", \"CharField\", \"ForeignKey\" relation type one--many, many--one, many--many, value named list keys 'left_key', 'right_key', 'link_table_name'. field_name name field registry. Example: \"name\". registry_name name registry. Example: \"user\". column_name name column database. Example: \"name\". module_name name module. Example: \"core\". is_link_table Whether field link table. relation_type type relation. Can NULL one : \"one--one\", \"many--one\", \"many--many\". related_field_name name related field related registry. Example: \"name\". related_registry_name name related registry. Example: \"user\". related_module_name name related module. Example: \"core\".","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Field — Field","text":"Print Field","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Field — Field","text":"","code":"Field$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Field — Field","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Field — Field","text":"Create string representation Field","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Field — Field","text":"","code":"Field$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Field — Field","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Field — Field","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":null,"dir":"Reference","previous_headings":"","what":"Instance — Instance","title":"Instance — Instance","text":"Connect LaminDB instance using connect() function. instance object provides access modules registries instance.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Instance — Instance","text":"Note connecting instance via connect(), receive \"richer\" version Instance class documented , providing direct access core registries additional modules. See vignette \"Package Architecture\" information: vignette(\"architecture\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"active-bindings","dir":"Reference","previous_headings":"","what":"Active bindings","title":"Instance — Instance","text":"is_default (logical(1)) Whether default instance.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Instance — Instance","text":"Instance$new() Instance$get_modules() Instance$get_module() Instance$get_module_names() Instance$get_settings() Instance$get_api() Instance$get_py_lamin() Instance$track() Instance$finish() Instance$print() Instance$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Instance — Instance","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$new(settings, api, schema, is_default, py_lamin)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"settings settings instance api API instance schema schema instance is_default Logical, whether default instance py_lamin Python lamindb module object","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-modules-","dir":"Reference","previous_headings":"","what":"Method get_modules()","title":"Instance — Instance","text":"Get modules instance.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_modules()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"list Module objects.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-module-","dir":"Reference","previous_headings":"","what":"Method get_module()","title":"Instance — Instance","text":"Get module name.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_module(module_name)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"module_name name module.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"Module object.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-module-names-","dir":"Reference","previous_headings":"","what":"Method get_module_names()","title":"Instance — Instance","text":"Get names modules. Example: c(\"core\", \"bionty\").","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_module_names()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"character vector module names.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-settings-","dir":"Reference","previous_headings":"","what":"Method get_settings()","title":"Instance — Instance","text":"Get instance settings. Note: method intended internal use may removed future.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_settings()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"settings instance.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-api-","dir":"Reference","previous_headings":"","what":"Method get_api()","title":"Instance — Instance","text":"Get instance API. Note: method intended internal use may removed future.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_api()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"API instance.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-py-lamin-","dir":"Reference","previous_headings":"","what":"Method get_py_lamin()","title":"Instance — Instance","text":"Get Python lamindb module","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_py_lamin(check = FALSE, what = \"This functionality\")"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"check Logical, whether perform checks python module requested , used check messages","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"Python lamindb module.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-track-","dir":"Reference","previous_headings":"","what":"Method track()","title":"Instance — Instance","text":"Start run tracked data lineage","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$track(transform = NULL, path = NULL)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"transform UID specifying data transformation path Path R script document track","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"details-1","dir":"Reference","previous_headings":"","what":"Details","title":"Instance — Instance","text":"Calling track() transform = NULL return UID, providing UID path start run","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-finish-","dir":"Reference","previous_headings":"","what":"Method finish()","title":"Instance — Instance","text":"Finish tracked run","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$finish()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Instance — Instance","text":"Print Instance","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Instance — Instance","text":"Create string representation Instance","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Instance — Instance","text":"","code":"if (FALSE) { # \\dontrun{ # Connect to an instance db <- connect(\"laminlabs/cellxgene\") # fetch an artifact artifact <- db$Artifact$get(\"KBW89Mf7IGcekja2hADu\") # describe the artifact artifact$describe() # view field artifact$id # load dataset artifact$load() } # }"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":null,"dir":"Reference","previous_headings":"","what":"Module — Module","title":"Module — Module","text":"LaminDB module containing one registries.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"active-bindings","dir":"Reference","previous_headings":"","what":"Active bindings","title":"Module — Module","text":"name (character(1)) Get name module.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Module — Module","text":"Module$new() Module$get_registries() Module$get_registry() Module$get_registry_names() Module$print() Module$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Module — Module","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$new(instance, api, module_name, module_schema)"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module — Module","text":"instance instance module belongs . api API instance. module_name name module. module_schema schema module.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-get-registries-","dir":"Reference","previous_headings":"","what":"Method get_registries()","title":"Module — Module","text":"Get registries module.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$get_registries()"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Module — Module","text":"list Registry objects.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-get-registry-","dir":"Reference","previous_headings":"","what":"Method get_registry()","title":"Module — Module","text":"Get registry name.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$get_registry(registry_name)"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module — Module","text":"registry_name name registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Module — Module","text":"Registry object.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-get-registry-names-","dir":"Reference","previous_headings":"","what":"Method get_registry_names()","title":"Module — Module","text":"Get names registries module. E.g. c(\"User\", \"Artifact\").","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$get_registry_names()"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Module — Module","text":"character vector registry names.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Module — Module","text":"Print Module","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module — Module","text":"style Logical, whether output styled using ANSI codes.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Module — Module","text":"Create string representation Module","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module — Module","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Module — Module","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":null,"dir":"Reference","previous_headings":"","what":"Record — Record","title":"Record — Record","text":"record registry.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Record — Record","text":"Record$new() Record$delete() Record$print() Record$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Record — Record","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Record — Record","text":"","code":"Record$new(instance, registry, api, data)"},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Record — Record","text":"instance instance record belongs . registry registry record belongs . api API instance. data data record.","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"method-delete-","dir":"Reference","previous_headings":"","what":"Method delete()","title":"Record — Record","text":"Delete Record","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Record — Record","text":"","code":"Record$delete(verbose = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Record — Record","text":"verbose Whether print details API call","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Record — Record","text":"TRUE invisibly deletion successful","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Record — Record","text":"Print Record","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Record — Record","text":"","code":"Record$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Record — Record","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Record — Record","text":"Create string representation Record","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Record — Record","text":"","code":"Record$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Record — Record","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Record — Record","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":null,"dir":"Reference","previous_headings":"","what":"Registry — Registry","title":"Registry — Registry","text":"registry module.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"active-bindings","dir":"Reference","previous_headings":"","what":"Active bindings","title":"Registry — Registry","text":"module (Module) instance registry belongs . name (character(1)) API instance. class_name (character(1)) class name registry. is_link_table (logical(1)) Whether registry link table.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Registry — Registry","text":"Registry$new() Registry$get() Registry$df() Registry$from_df() Registry$from_path() Registry$from_anndata() Registry$get_fields() Registry$get_field() Registry$get_field_names() Registry$get_record_class() Registry$get_temporary_record_class() Registry$print() Registry$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Registry — Registry","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$new(instance, module, api, registry_name, registry_schema)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"instance instance registry belongs . module module registry belongs . api API instance. registry_name name registry. registry_schema schema registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"Registry — Registry","text":"Get record ID UID.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get(id_or_uid, include_foreign_keys = FALSE, verbose = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"id_or_uid ID UID record. include_foreign_keys Logical, whether include foreign keys record. verbose Logical, whether print verbose output.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"Record object.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-df-","dir":"Reference","previous_headings":"","what":"Method df()","title":"Registry — Registry","text":"Get data frame summarising records registry","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$df(limit = 100, verbose = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"limit Maximum number records return verbose Boolean, whether print progress messages","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"data.frame containing available records","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-from-df-","dir":"Reference","previous_headings":"","what":"Method from_df()","title":"Registry — Registry","text":"Create record data frame","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$from_df(dataframe, key = NULL, description = NULL, run = NULL)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"dataframe data.frame create record key relative path within default storage description string describing record run Run object creates record","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Registry — Registry","text":"Creating records possible default instance, requires Python lamindb module implemented core Artifact registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"TemporaryRecord object containing new record. saved database temp_record$save() called.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-from-path-","dir":"Reference","previous_headings":"","what":"Method from_path()","title":"Registry — Registry","text":"Create record path","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$from_path(path, key = NULL, description = NULL, run = NULL)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"path Path create record key relative path within default storage description string describing record run Run object creates record","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"details-1","dir":"Reference","previous_headings":"","what":"Details","title":"Registry — Registry","text":"Creating records possible default instance, requires Python lamindb module implemented core Artifact registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"TemporaryRecord object containing new record. saved database temp_record$save() called.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-from-anndata-","dir":"Reference","previous_headings":"","what":"Method from_anndata()","title":"Registry — Registry","text":"Create record AnnData","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$from_anndata(adata, key = NULL, description = NULL, run = NULL)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"adata anndata::AnnData object create record key relative path within default storage description string describing record run Run object creates record","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"details-2","dir":"Reference","previous_headings":"","what":"Details","title":"Registry — Registry","text":"Creating records possible default instance, requires Python lamindb module implemented core Artifact registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"TemporaryRecord object containing new record. saved database temp_record$save() called.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-fields-","dir":"Reference","previous_headings":"","what":"Method get_fields()","title":"Registry — Registry","text":"Get fields registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_fields()"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"list Field objects.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-field-","dir":"Reference","previous_headings":"","what":"Method get_field()","title":"Registry — Registry","text":"Get field name.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_field(field_name)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"field_name name field.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"Field object.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-field-names-","dir":"Reference","previous_headings":"","what":"Method get_field_names()","title":"Registry — Registry","text":"Get field names registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_field_names()"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"character vector field names.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-record-class-","dir":"Reference","previous_headings":"","what":"Method get_record_class()","title":"Registry — Registry","text":"Get record class registry. Note: method intended internal use may removed future.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_record_class()"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"Record class.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-temporary-record-class-","dir":"Reference","previous_headings":"","what":"Method get_temporary_record_class()","title":"Registry — Registry","text":"Get temporary record class registry. Note: method intended internal use may removed future.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_temporary_record_class()"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"TemporaryRecord class.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Registry — Registry","text":"Print Registry","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Registry — Registry","text":"Create string representation Registry","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":null,"dir":"Reference","previous_headings":"","what":"RelatedRecords — RelatedRecords","title":"RelatedRecords — RelatedRecords","text":"container accessing records one--many many--many relationship.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"RelatedRecords — RelatedRecords","text":"RelatedRecords$new() RelatedRecords$df() RelatedRecords$print() RelatedRecords$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"RelatedRecords — RelatedRecords","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"RelatedRecords — RelatedRecords","text":"","code":"RelatedRecords$new(instance, registry, field, related_to, api)"},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"RelatedRecords — RelatedRecords","text":"instance instance records list belongs . registry registry records list belongs . field field associated records list. related_to ID UID parent records related . api API instance.","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"method-df-","dir":"Reference","previous_headings":"","what":"Method df()","title":"RelatedRecords — RelatedRecords","text":"Get data frame summarising records registry","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"RelatedRecords — RelatedRecords","text":"","code":"RelatedRecords$df(limit = 100, verbose = FALSE)"},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"RelatedRecords — RelatedRecords","text":"limit Maximum number records return verbose Boolean, whether print progress messages","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"RelatedRecords — RelatedRecords","text":"data.frame containing available records","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"RelatedRecords — RelatedRecords","text":"Print RelatedRecords","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"RelatedRecords — RelatedRecords","text":"","code":"RelatedRecords$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"RelatedRecords — RelatedRecords","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"RelatedRecords — RelatedRecords","text":"Create string representation RelatedRecords","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"RelatedRecords — RelatedRecords","text":"","code":"RelatedRecords$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"RelatedRecords — RelatedRecords","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"RelatedRecords — RelatedRecords","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/connect.html","id":null,"dir":"Reference","previous_headings":"","what":"Connect to instance — connect","title":"Connect to instance — connect","text":"Note prior connecting instance, need authenticate lamin login. slug provided, default instance loaded, set running lamin connect .","code":""},{"path":"https://laminr.lamin.ai/reference/connect.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Connect to instance — connect","text":"","code":"connect(slug = NULL)"},{"path":"https://laminr.lamin.ai/reference/connect.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Connect to instance — connect","text":"slug instance slug account_handle/instance_name URL. instance owned , suffices pass instance name. slug provided, default instance loaded.","code":""},{"path":"https://laminr.lamin.ai/reference/connect.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Connect to instance — connect","text":"","code":"if (FALSE) { # \\dontrun{ # first run 'lamin login' to authenticate instance <- connect(\"laminlabs/cellxgene\") instance } # }"},{"path":"https://laminr.lamin.ai/reference/laminr-package.html","id":null,"dir":"Reference","previous_headings":"","what":"laminr: Interface for 'LaminDB' — laminr-package","title":"laminr: Interface for 'LaminDB' — laminr-package","text":"Interact 'LaminDB'. 'LaminDB' open-source data framework biology. package allows query download data 'LaminDB' instances.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/laminr-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"laminr: Interface for 'LaminDB' — laminr-package","text":"Maintainer: Robrecht Cannoodt robrecht@data-intuitive.com (ORCID) Authors: Luke Zappia luke@data-intuitive.com (ORCID) Data Intuitive info@data-intuitive.com Lamin Labs open-source@lamin.ai [copyright holder]","code":""}]
+[{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":null,"dir":"","previous_headings":"","what":"laminr v0.2.0","title":"laminr v0.2.0","text":"release adds support creating new artifacts LaminDB instance.","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"new-functionality","dir":"","previous_headings":"","what":"NEW FUNCTIONALITY","title":"laminr v0.2.0","text":"Add support loaders (PR #81). Currently supported: .csv, .h5ad, .html, .jpg, .json, .parquet, .png, .rds, .svg, .tsv, .yaml. Add from_df() method Registry class create new artifacts data frames (PR #78) Create TemporaryRecord classes new artifacts saved database (PR #78) Add delete() method Record class (PR #78) Add track() finish() methods Instance class (PR #83) Add from_path() method Registry class create new artifacts paths (PR #85) Add from_anndata() method Registry class create new artifacts AnnData objects (PR #85) Add RStudio add-saving notebook (PR #90).","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"major-changes","dir":"","previous_headings":"","what":"MAJOR CHANGES","title":"laminr v0.2.0","text":"Running connect(slug = NULL) now connects default instance allowed create records. default instance must changed using Lamin CLI. (PR #78) User setting stored global option first time connect() run (PR #78)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"minor-changes","dir":"","previous_headings":"","what":"MINOR CHANGES","title":"laminr v0.2.0","text":"Adjusted argument order Instance$track() improved Python error handling (PR #89)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"testing","dir":"","previous_headings":"","what":"TESTING","title":"laminr v0.2.0","text":"Add test creating artifacts data frames (PR #78). Add tests creating artifacts paths AnnData objects (PR #85)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"documentation","dir":"","previous_headings":"","what":"DOCUMENTATION","title":"laminr v0.2.0","text":"Updated installation instructions {laminr} released CRAN (PR #74). Updated architecture vignette include new methods new TemporaryRecord class (PR #78, PR #83, PR #85) Updated development vignette new functionality (PR #78, PR #83, PR #85)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"laminr-v010","dir":"","previous_headings":"","what":"laminr v0.1.0","title":"laminr v0.2.0","text":"First CRAN release LaminDB API client R. release focuses connecting LaminDB instance, fetching individual record instance, fetching related data record. Features: Connect LaminDB instance Auto-generate modules classes instance schema Fetch record Fetch record’s related data Fetch record summary table Cache S3 artifact Load AnnData artifact information, please visit package website.","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"new-functionality-1","dir":"","previous_headings":"","what":"NEW FUNCTIONALITY","title":"laminr v0.2.0","text":"Query instance settings Lamin Hub (PR #8). Read user settings env file created lamin Python package (PR #2, PR #8). Add to_string() print() methods Record class (incomplete) describe() method Artifact() class (PR #22). Add to_string() print() methods remaining classes (PR #31) Add InstanceAPI$get_records() Registry$df() methods (PR #54) Add RelatedRecords class RelatedRecords$df() method (PR #59)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"major-changes-1","dir":"","previous_headings":"","what":"MAJOR CHANGES","title":"laminr v0.2.0","text":"Refactored internal class data structures better modularity extensibility (PR #8). Added GitHub actions project (PR #11): Standard R-CMD-check workflow. Linting action. Commands roxygenizing (/document) restyling source code (/style). Allow unauthenticated users connect instance ran lamin connect beforehand (PR #19).","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"minor-changes-1","dir":"","previous_headings":"","what":"MINOR CHANGES","title":"laminr v0.2.0","text":"complain foreign keys found record, also complain (PR #13). Define current user current instance lamin-cli prior testing generating documentation CI (PR #23). Add progress bars Artifact$cache() (PR #58) Remove link tables object print output (PR #55) Improve checking suggested packages provide installation instructions missing (PR #56) Add status code API error messages (PR #70) Adjust colours print output (PR #69) Modify Registry print output separate relational fields module (PR #71)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"testing-1","dir":"","previous_headings":"","what":"TESTING","title":"laminr v0.2.0","text":"Add simple unit test queries laminlabs/lamindata (PR #27). Added unit test InstanceAPI class (PR #30). Add regular expression API test missing records (PR #70)","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"documentation-1","dir":"","previous_headings":"","what":"DOCUMENTATION","title":"laminr v0.2.0","text":"Update README new set instructions simplify (PR #14). Add pkgdown website project (PR #13). simplify README, move detailed usage description separate vignette (PR #13). Generate vignettes using Quarto (PR #13). Add vignette showcase laminr usage (PR #18). Replace mentions lamin load lamin connect (PR #29). Improve README (PR #29). Set Python requirements lamindb[aws] now (PR #33). changed lamin_cli laminlabs/lamin-cli#90 solved. Improve documentation installing suggested dependencies required (PR #56). Update README give better overview package (PR #67). Rename usage vignette laminr added overview core concepts LaminDB (PR #67). Update architecture vignette relate class structure package core concepts (PR #67). Add development vignette document list current, planned unplanned functionality (PR #67). Add vignettes document registries core, bionty, wetlab modules (PR #67).","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"bug-fixes","dir":"","previous_headings":"","what":"BUG FIXES","title":"laminr v0.2.0","text":"Fixed parsing env files ~/.lamin due changes lamindb-setup Python package (PR #12). Return NULL record’s related field empty (PR #28). Add alternative error message message returned API (PR #30). Handle error detail returned API list (PR #59) Manually install OpenBLAS macOS (PR #62). Switch Python 3.12 able install scipy macOS (PR #66).","code":""},{"path":"https://laminr.lamin.ai/CHANGELOG.html","id":"laminr-v001","dir":"","previous_headings":"","what":"laminr v0.0.1","title":"laminr v0.2.0","text":"Initial POC implementation LaminDB API client R. Functionality: Connect LaminDB instance Fetch instance schema Auto-generate classes schema See available modules classes Get record Get record’s related data Cache S3 artifact Load AnnData artifact","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache License","title":"Apache License","text":"Version 2.0, January 2004 ","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"1. Definitions","title":"Apache License","text":"“License” shall mean terms conditions use, reproduction, distribution defined Sections 1 9 document. “Licensor” shall mean copyright owner entity authorized copyright owner granting License. “Legal Entity” shall mean union acting entity entities control, controlled , common control entity. purposes definition, “control” means () power, direct indirect, cause direction management entity, whether contract otherwise, (ii) ownership fifty percent (50%) outstanding shares, (iii) beneficial ownership entity. “” (“”) shall mean individual Legal Entity exercising permissions granted License. “Source” form shall mean preferred form making modifications, including limited software source code, documentation source, configuration files. “Object” form shall mean form resulting mechanical transformation translation Source form, including limited compiled object code, generated documentation, conversions media types. “Work” shall mean work authorship, whether Source Object form, made available License, indicated copyright notice included attached work (example provided Appendix ). “Derivative Works” shall mean work, whether Source Object form, based (derived ) Work editorial revisions, annotations, elaborations, modifications represent, whole, original work authorship. purposes License, Derivative Works shall include works remain separable , merely link (bind name) interfaces , Work Derivative Works thereof. “Contribution” shall mean work authorship, including original version Work modifications additions Work Derivative Works thereof, intentionally submitted Licensor inclusion Work copyright owner individual Legal Entity authorized submit behalf copyright owner. purposes definition, “submitted” means form electronic, verbal, written communication sent Licensor representatives, including limited communication electronic mailing lists, source code control systems, issue tracking systems managed , behalf , Licensor purpose discussing improving Work, excluding communication conspicuously marked otherwise designated writing copyright owner “Contribution.” “Contributor” shall mean Licensor individual Legal Entity behalf Contribution received Licensor subsequently incorporated within Work.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_2-grant-of-copyright-license","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"2. Grant of Copyright License","title":"Apache License","text":"Subject terms conditions License, Contributor hereby grants perpetual, worldwide, non-exclusive, -charge, royalty-free, irrevocable copyright license reproduce, prepare Derivative Works , publicly display, publicly perform, sublicense, distribute Work Derivative Works Source Object form.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_3-grant-of-patent-license","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"3. Grant of Patent License","title":"Apache License","text":"Subject terms conditions License, Contributor hereby grants perpetual, worldwide, non-exclusive, -charge, royalty-free, irrevocable (except stated section) patent license make, made, use, offer sell, sell, import, otherwise transfer Work, license applies patent claims licensable Contributor necessarily infringed Contribution(s) alone combination Contribution(s) Work Contribution(s) submitted. institute patent litigation entity (including cross-claim counterclaim lawsuit) alleging Work Contribution incorporated within Work constitutes direct contributory patent infringement, patent licenses granted License Work shall terminate date litigation filed.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_4-redistribution","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"4. Redistribution","title":"Apache License","text":"may reproduce distribute copies Work Derivative Works thereof medium, without modifications, Source Object form, provided meet following conditions: () must give recipients Work Derivative Works copy License; (b) must cause modified files carry prominent notices stating changed files; (c) must retain, Source form Derivative Works distribute, copyright, patent, trademark, attribution notices Source form Work, excluding notices pertain part Derivative Works; (d) Work includes “NOTICE” text file part distribution, Derivative Works distribute must include readable copy attribution notices contained within NOTICE file, excluding notices pertain part Derivative Works, least one following places: within NOTICE text file distributed part Derivative Works; within Source form documentation, provided along Derivative Works; , within display generated Derivative Works, wherever third-party notices normally appear. contents NOTICE file informational purposes modify License. may add attribution notices within Derivative Works distribute, alongside addendum NOTICE text Work, provided additional attribution notices construed modifying License. may add copyright statement modifications may provide additional different license terms conditions use, reproduction, distribution modifications, Derivative Works whole, provided use, reproduction, distribution Work otherwise complies conditions stated License.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_5-submission-of-contributions","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"5. Submission of Contributions","title":"Apache License","text":"Unless explicitly state otherwise, Contribution intentionally submitted inclusion Work Licensor shall terms conditions License, without additional terms conditions. Notwithstanding , nothing herein shall supersede modify terms separate license agreement may executed Licensor regarding Contributions.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_6-trademarks","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"6. Trademarks","title":"Apache License","text":"License grant permission use trade names, trademarks, service marks, product names Licensor, except required reasonable customary use describing origin Work reproducing content NOTICE file.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_7-disclaimer-of-warranty","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"7. Disclaimer of Warranty","title":"Apache License","text":"Unless required applicable law agreed writing, Licensor provides Work (Contributor provides Contributions) “” BASIS, WITHOUT WARRANTIES CONDITIONS KIND, either express implied, including, without limitation, warranties conditions TITLE, NON-INFRINGEMENT, MERCHANTABILITY, FITNESS PARTICULAR PURPOSE. solely responsible determining appropriateness using redistributing Work assume risks associated exercise permissions License.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_8-limitation-of-liability","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"8. Limitation of Liability","title":"Apache License","text":"event legal theory, whether tort (including negligence), contract, otherwise, unless required applicable law (deliberate grossly negligent acts) agreed writing, shall Contributor liable damages, including direct, indirect, special, incidental, consequential damages character arising result License use inability use Work (including limited damages loss goodwill, work stoppage, computer failure malfunction, commercial damages losses), even Contributor advised possibility damages.","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"id_9-accepting-warranty-or-additional-liability","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"9. Accepting Warranty or Additional Liability","title":"Apache License","text":"redistributing Work Derivative Works thereof, may choose offer, charge fee , acceptance support, warranty, indemnity, liability obligations /rights consistent License. However, accepting obligations, may act behalf sole responsibility, behalf Contributor, agree indemnify, defend, hold Contributor harmless liability incurred , claims asserted , Contributor reason accepting warranty additional liability. END TERMS CONDITIONS","code":""},{"path":"https://laminr.lamin.ai/LICENSE.html","id":"appendix-how-to-apply-the-apache-license-to-your-work","dir":"","previous_headings":"","what":"APPENDIX: How to apply the Apache License to your work","title":"Apache License","text":"apply Apache License work, attach following boilerplate notice, fields enclosed brackets [] replaced identifying information. (Don’t include brackets!) text enclosed appropriate comment syntax file format. also recommend file class name description purpose included “printed page” copyright notice easier identification within third-party archives.","code":"Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License."},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"core-concepts","dir":"Articles","previous_headings":"","what":"Core concepts","title":"Architecture","text":"LaminDB built around key ideas: LaminDB instance self-contained environment storing managing data metadata. can think like database project directory. instance : Schema: Defines structure metadata. Storage: actual data files stored (locally, S3, etc.). Database: Stores metadata records registries. information instances, see ?connect() ?Instance. module LaminDB collection related registries provide functionality specific domain. example: core: Provides registries general data management (Artifacts, Collections, Transforms, etc.). module included default every LaminDB instance. bionty: Offers registries managing biological entities (genes, proteins, cell types) links public ontologies. wetlab: Includes registries managing experimental metadata (samples, treatments, etc.). many … Modules help organize system make easier find specific registries need. information modules, see ?Module. core module documented module_core vignette: vignette(\"module_core\", package = \"laminr\"). registry centralized collection related records. ’s like table database, row represents specific entity. Examples registries include: Artifacts: Datasets, models, data entities. Collections: Groupings related artifacts. Transforms: Data processing operations. Features: Variables measurements within datasets. Labels: Annotations classifications applied data. registry defined structure specific fields hold relevant information. information registries, see ?Registry. core registries documented module_core vignette: vignette(\"module_core\", package = \"laminr\"). field single piece information within registry. ’s analogous column database table. example, Artifact registry might fields like: key: Storage key, relative path within storage location. storage: Storage location, e.g. S3 GCP bucket local directory. description: description artifact. created_by: user created artifact. Fields define type data can stored registry provide way organize query metadata. information fields, see ?Field. fields core registries documented module_core vignette: vignette(\"module_core\", package = \"laminr\"). record single entry within registry. ’s like row database table. record combines multiple fields represent specific entity. example, record Artifact registry might represent single dataset key, storage location, description, creator, relevant information. essence, instances contain modules. module contains registries, turn hold records. Every record composed multiple fields. hierarchical structure allows flexible organized management data metadata within LaminDB.","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"instance","dir":"Articles","previous_headings":"","what":"Instance","title":"Architecture","text":"LaminDB instance self-contained environment storing managing data metadata. can think like database project directory. instance : Schema: Defines structure metadata. Storage: actual data files stored (locally, S3, etc.). Database: Stores metadata records registries. information instances, see ?connect() ?Instance.","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"module","dir":"Articles","previous_headings":"","what":"Module","title":"Architecture","text":"module LaminDB collection related registries provide functionality specific domain. example: core: Provides registries general data management (Artifacts, Collections, Transforms, etc.). module included default every LaminDB instance. bionty: Offers registries managing biological entities (genes, proteins, cell types) links public ontologies. wetlab: Includes registries managing experimental metadata (samples, treatments, etc.). many … Modules help organize system make easier find specific registries need. information modules, see ?Module. core module documented module_core vignette: vignette(\"module_core\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"registry","dir":"Articles","previous_headings":"","what":"Registry","title":"Architecture","text":"registry centralized collection related records. ’s like table database, row represents specific entity. Examples registries include: Artifacts: Datasets, models, data entities. Collections: Groupings related artifacts. Transforms: Data processing operations. Features: Variables measurements within datasets. Labels: Annotations classifications applied data. registry defined structure specific fields hold relevant information. information registries, see ?Registry. core registries documented module_core vignette: vignette(\"module_core\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"field","dir":"Articles","previous_headings":"","what":"Field","title":"Architecture","text":"field single piece information within registry. ’s analogous column database table. example, Artifact registry might fields like: key: Storage key, relative path within storage location. storage: Storage location, e.g. S3 GCP bucket local directory. description: description artifact. created_by: user created artifact. Fields define type data can stored registry provide way organize query metadata. information fields, see ?Field. fields core registries documented module_core vignette: vignette(\"module_core\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"record","dir":"Articles","previous_headings":"","what":"Record","title":"Architecture","text":"record single entry within registry. ’s like row database table. record combines multiple fields represent specific entity. example, record Artifact registry might represent single dataset key, storage location, description, creator, relevant information.","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"putting-it-together","dir":"Articles","previous_headings":"","what":"Putting it together","title":"Architecture","text":"essence, instances contain modules. module contains registries, turn hold records. Every record composed multiple fields. hierarchical structure allows flexible organized management data metadata within LaminDB.","code":""},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"class-structure","dir":"Articles","previous_headings":"","what":"Class structure","title":"Architecture","text":"laminr package provides set classes mirror core concepts LaminDB. classes allow interact instances, modules, registries, fields, records programmatic way. package provides two sets classes: base classes sugar syntax classes. classes provide core functionality interacting LaminDB instances, modules, registries, fields, records. classes documented via ?Instance, ?Module, ?Registry, ?Field, ?Record. class diagram illustrates relationships classes. However, intended used directly cases. Instead, sugar syntax classes provide user-friendly interface working LaminDB data. sugar syntax classes provide user-friendly way interact LaminDB data. classes designed make easier access manipulate instances, modules, registries, fields, records. example, get artifact specific ID using base classes, might write: sugar syntax classes, can achieve result concisely: sugar syntax achieved creating RichInstance RichRecord classes inherit Instance Record, respectively. classes provide additional methods properties simplify working LaminDB data. class diagram illustrates relationships sugar syntax classes laminr package. classes provide user-friendly interface interacting LaminDB data.","code":"classDiagram %% # nolint start laminr --> Instance laminr --> UserSettings laminr --> InstanceSettings Instance --> InstanceAPI Instance --> Module Module --> Registry Registry --> Field Registry --> Record Field --> RelatedRecords Record --> RelatedRecords UserSettings --> InstanceSettings InstanceSettings --> Instance InstanceAPI --> Module Instance --> Registry InstanceAPI --> Registry Instance --> Record InstanceAPI --> Record Instance --> RelatedRecords InstanceAPI --> RelatedRecords %% Methods must be on one line to be shown in the right diagram section %% Use \\n for newlines and #emsp; to create indents in the rendered %% diagram when necessary class laminr{ +connect(String slug): RichInstance } class UserSettings{ +initialize(...): UserSettings +email: String +access_token: String +uid: String +uuid: String +handle: String +name: String } class InstanceSettings{ +initialize(...): InstanceSettings +owner: String +name: String +id: String +schema_id: String +api_url: String } class Instance{ +initialize(\\n#emsp;InstanceSettings Instance_settings, API api, \\n#emsp;Map schema\\n): Instance +get_modules(): Module[] +get_module(String module_name): Module +get_module_names(): String[] +get_api(): InstanceAPI +get_settings(): InstanceSettings +get_py_lamin(Boolean check, String what): PythonModule +track(String path, String transform): NULL +finish(): NULL +is_default: Boolean } class InstanceAPI{ +initialize(InstanceSettings Instance_settings) +get_schema(): Map +get_record(...): Map +get_records(...): Map +delete_record(...): NULL } class Module{ +initialize(\\n#emsp;Instance Instance, API api, String module_name,\\n#emsp;Map module_schema\\n): Module +name: String +get_registries(): Registry[] +get_registry(String registry_name): Registry +get_registry_names(): String[] } class Registry{ +initialize(\\n#emsp;Instance Instance, Module module, API api,\\n#emsp;String registry_name, Map registry_schema\\n): Registry +name: String +class_name: String +is_link_table: Bool +get_fields(): Field[] +get_field(String field_name): Field +get_field_names(): String[] +get(\\n#emsp;String id_or_uid, Bool include_foreign_keys,\\n#emsp;List~String~ select, Bool verbose\\n): RichRecord +get_record_class(): RichRecordClass +get_temporary_record_class(): TemporaryRecordClass +df(Integer limit, Bool verbose): DataFrame +from_df(\\n#emsp;DataFrame dataframe, String key,\\n#emsp;String description, String run\\n): TemporaryRecord +from_path(\\n#emsp;Path path, String key, String description, String run\\n): TemporaryRecord +from_anndata(\\n#emsp;AnnData adata, String key, String description, String run\\n): TemporaryRecord } class Field{ +initialize(\\n#emsp;String type, String through, String field_name,\\n#emsp;String registry_name, String column_name, String module_name,\\n#emsp;Bool is_link_table, String relation_type, String related_field_name,\\n#emsp;String related_registry_name, String related_module_name\\n): Field +type: String +through: Map +field_name: String +registry_name: String +column_name: String +module_name: String +is_link_table: Bool +relation_type: String +related_field_name: String +related_registry_name: String +related_module_name: String } class Record{ +initialize(\\n#emsp;Instance Instance, Registry registry,\\n#emsp;API api, Map data\\n): Record +get_value(String field_name): Any +delete(): NULL } class RelatedRecords{ +initialize(\\n#emsp;Instance instance, Registry registry, Field field,\\n#emsp;String related_to, API api\\n): RelatedRecords +df(): DataFrame +field: Field } %% # nolint end db <- connect(\"laminlabs/cellxgene\") artifact <- db$get_module(\"core\")$get_registry(\"artifact\")$get(\"KBW89Mf7IGcekja2hADu\") artifact$get_value(\"id\") db <- connect(\"laminlabs/cellxgene\") artifact <- db$Artifact$get(\"KBW89Mf7IGcekja2hADu\") artifact$id classDiagram %% # nolint start %% --- Copied from base diagram -------------------------------------------- laminr --> UserSettings laminr --> InstanceSettings Instance --> InstanceAPI Instance --> Module Module --> Registry Registry --> Field Field --> RelatedRecords Record --> RelatedRecords UserSettings --> InstanceSettings InstanceSettings --> Instance InstanceAPI --> Module Instance --> Registry InstanceAPI --> Registry Instance --> Record InstanceAPI --> Record Instance --> RelatedRecords InstanceAPI --> RelatedRecords %% ------------------------------------------------------------------------- %% --- New links for Rich classes ------------------------------------------ RichInstance --|> Instance laminr --> RichInstance Core --|> Module RichInstance --> Core Bionty --|> Module RichInstance --> Bionty Registry --> RichRecord Registry --> TemporaryRecord RichRecord --|> Record TemporaryRecord --|> RichRecord Registry --> Artifact Artifact --|> RichRecord %% ------------------------------------------------------------------------- %% --- Copied from base diagram -------------------------------------------- class laminr{ +connect(String slug): RichInstance } class UserSettings{ +initialize(...): UserSettings +email: String +access_token: String +uid: String +uuid: String +handle: String +name: String } class InstanceSettings{ +initialize(...): InstanceSettings +owner: String +name: String +id: String +schema_id: String +api_url: String } class Instance{ +initialize(\\n#emsp;InstanceSettings Instance_settings, API api, \\n#emsp;Map schema\\n): Instance +get_modules(): Module[] +get_module(String module_name): Module +get_module_names(): String[] +get_api(): InstanceAPI +get_settings(): InstanceSettings +get_py_lamin(Boolean check, String what): PythonModule +track(String path, String transform): NULL +finish(): NULL +is_default: Boolean } class InstanceAPI{ +initialize(InstanceSettings Instance_settings) +get_schema(): Map +get_record(...): Map +get_records(...): Map +delete_record(...): NULL } class Module{ +initialize(\\n#emsp;Instance Instance, API api, String module_name,\\n#emsp;Map module_schema\\n): Module +name: String +get_registries(): Registry[] +get_registry(String registry_name): Registry +get_registry_names(): String[] } class Registry{ +initialize(\\n#emsp;Instance Instance, Module module, API api,\\n#emsp;String registry_name, Map registry_schema\\n): Registry +name: String +class_name: String +is_link_table: Bool +get_fields(): Field[] +get_field(String field_name): Field +get_field_names(): String[] +get(\\n#emsp;String id_or_uid, Bool include_foreign_keys,\\n#emsp;List~String~ select, Bool verbose\\n): RichRecord +get_record_class(): RichRecordClass +get_temporary_record_class(): TemporaryRecordClass +df(Integer limit, Bool verbose): DataFrame +from_df(\\n#emsp;DataFrame dataframe, String key,\\n#emsp;String description, String run\\n): TemporaryRecord +from_path(\\n#emsp;Path path, String key, String description, String run\\n): TemporaryRecord +from_anndata(\\n#emsp;AnnData adata, String key, String description, String run\\n): TemporaryRecord } class Field{ +initialize(\\n#emsp;String type, String through, String field_name,\\n#emsp;String registry_name, String column_name, String module_name,\\n#emsp;Bool is_link_table, String relation_type, String related_field_name,\\n#emsp;String related_registry_name, String related_module_name\\n): Field +type: String +through: Map +field_name: String +registry_name: String +column_name: String +module_name: String +is_link_table: Bool +relation_type: String +related_field_name: String +related_registry_name: String +related_module_name: String } class Record{ +initialize(\\n#emsp;Instance Instance, Registry registry,\\n#emsp;API api, Map data\\n): Record +get_value(String field_name): Any +delete(): NULL } class RelatedRecords{ +initialize(\\n#emsp;Instance instance, Registry registry, Field field,\\n#emsp;String related_to, API api\\n): RelatedRecords +df(): DataFrame +field: Field } %% ------------------------------------------------------------------------- %% --- New Rich classes ---------------------------------------------------- class RichInstance{ +initialize( #emsp;InstanceSettings Instance_settings, API api, #emsp;Map schema ): RichInstance +Registry Artifact +Registry Collection +...registry accessors... +Registry User +Bionty bionty } style RichInstance fill:#ffe1c9 class Core{ +Registry Artifact +Registry Collection +...registry accessors... +Registry User } style Core fill:#ffe1c9 class Bionty{ +Registry CellLine +Registry CellMarker +...registry accessors... +Registry Tissue } style Bionty fill:#ffe1c9 class RichRecord{ +...field value accessors... } style RichRecord fill:#ffe1c9 class TemporaryRecord{ +save(): NULL } style TemporaryRecord fill:#ffe1c9 class Artifact{ +...field value accessors... +cache(): String +load(): AnnData | DataFrame | ... +describe(): NULL } style Artifact fill:#ffe1c9 %% ------------------------------------------------------------------------- %% # nolint end"},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"base-classes","dir":"Articles","previous_headings":"","what":"Base classes","title":"Architecture","text":"classes provide core functionality interacting LaminDB instances, modules, registries, fields, records. classes documented via ?Instance, ?Module, ?Registry, ?Field, ?Record. class diagram illustrates relationships classes. However, intended used directly cases. Instead, sugar syntax classes provide user-friendly interface working LaminDB data.","code":"classDiagram %% # nolint start laminr --> Instance laminr --> UserSettings laminr --> InstanceSettings Instance --> InstanceAPI Instance --> Module Module --> Registry Registry --> Field Registry --> Record Field --> RelatedRecords Record --> RelatedRecords UserSettings --> InstanceSettings InstanceSettings --> Instance InstanceAPI --> Module Instance --> Registry InstanceAPI --> Registry Instance --> Record InstanceAPI --> Record Instance --> RelatedRecords InstanceAPI --> RelatedRecords %% Methods must be on one line to be shown in the right diagram section %% Use \\n for newlines and #emsp; to create indents in the rendered %% diagram when necessary class laminr{ +connect(String slug): RichInstance } class UserSettings{ +initialize(...): UserSettings +email: String +access_token: String +uid: String +uuid: String +handle: String +name: String } class InstanceSettings{ +initialize(...): InstanceSettings +owner: String +name: String +id: String +schema_id: String +api_url: String } class Instance{ +initialize(\\n#emsp;InstanceSettings Instance_settings, API api, \\n#emsp;Map schema\\n): Instance +get_modules(): Module[] +get_module(String module_name): Module +get_module_names(): String[] +get_api(): InstanceAPI +get_settings(): InstanceSettings +get_py_lamin(Boolean check, String what): PythonModule +track(String path, String transform): NULL +finish(): NULL +is_default: Boolean } class InstanceAPI{ +initialize(InstanceSettings Instance_settings) +get_schema(): Map +get_record(...): Map +get_records(...): Map +delete_record(...): NULL } class Module{ +initialize(\\n#emsp;Instance Instance, API api, String module_name,\\n#emsp;Map module_schema\\n): Module +name: String +get_registries(): Registry[] +get_registry(String registry_name): Registry +get_registry_names(): String[] } class Registry{ +initialize(\\n#emsp;Instance Instance, Module module, API api,\\n#emsp;String registry_name, Map registry_schema\\n): Registry +name: String +class_name: String +is_link_table: Bool +get_fields(): Field[] +get_field(String field_name): Field +get_field_names(): String[] +get(\\n#emsp;String id_or_uid, Bool include_foreign_keys,\\n#emsp;List~String~ select, Bool verbose\\n): RichRecord +get_record_class(): RichRecordClass +get_temporary_record_class(): TemporaryRecordClass +df(Integer limit, Bool verbose): DataFrame +from_df(\\n#emsp;DataFrame dataframe, String key,\\n#emsp;String description, String run\\n): TemporaryRecord +from_path(\\n#emsp;Path path, String key, String description, String run\\n): TemporaryRecord +from_anndata(\\n#emsp;AnnData adata, String key, String description, String run\\n): TemporaryRecord } class Field{ +initialize(\\n#emsp;String type, String through, String field_name,\\n#emsp;String registry_name, String column_name, String module_name,\\n#emsp;Bool is_link_table, String relation_type, String related_field_name,\\n#emsp;String related_registry_name, String related_module_name\\n): Field +type: String +through: Map +field_name: String +registry_name: String +column_name: String +module_name: String +is_link_table: Bool +relation_type: String +related_field_name: String +related_registry_name: String +related_module_name: String } class Record{ +initialize(\\n#emsp;Instance Instance, Registry registry,\\n#emsp;API api, Map data\\n): Record +get_value(String field_name): Any +delete(): NULL } class RelatedRecords{ +initialize(\\n#emsp;Instance instance, Registry registry, Field field,\\n#emsp;String related_to, API api\\n): RelatedRecords +df(): DataFrame +field: Field } %% # nolint end"},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"sugar-syntax-classes","dir":"Articles","previous_headings":"","what":"Sugar syntax classes","title":"Architecture","text":"sugar syntax classes provide user-friendly way interact LaminDB data. classes designed make easier access manipulate instances, modules, registries, fields, records. example, get artifact specific ID using base classes, might write: sugar syntax classes, can achieve result concisely: sugar syntax achieved creating RichInstance RichRecord classes inherit Instance Record, respectively. classes provide additional methods properties simplify working LaminDB data.","code":"db <- connect(\"laminlabs/cellxgene\") artifact <- db$get_module(\"core\")$get_registry(\"artifact\")$get(\"KBW89Mf7IGcekja2hADu\") artifact$get_value(\"id\") db <- connect(\"laminlabs/cellxgene\") artifact <- db$Artifact$get(\"KBW89Mf7IGcekja2hADu\") artifact$id"},{"path":"https://laminr.lamin.ai/articles/architecture.html","id":"class-diagram","dir":"Articles","previous_headings":"","what":"Class diagram","title":"Architecture","text":"class diagram illustrates relationships sugar syntax classes laminr package. classes provide user-friendly interface interacting LaminDB data.","code":"classDiagram %% # nolint start %% --- Copied from base diagram -------------------------------------------- laminr --> UserSettings laminr --> InstanceSettings Instance --> InstanceAPI Instance --> Module Module --> Registry Registry --> Field Field --> RelatedRecords Record --> RelatedRecords UserSettings --> InstanceSettings InstanceSettings --> Instance InstanceAPI --> Module Instance --> Registry InstanceAPI --> Registry Instance --> Record InstanceAPI --> Record Instance --> RelatedRecords InstanceAPI --> RelatedRecords %% ------------------------------------------------------------------------- %% --- New links for Rich classes ------------------------------------------ RichInstance --|> Instance laminr --> RichInstance Core --|> Module RichInstance --> Core Bionty --|> Module RichInstance --> Bionty Registry --> RichRecord Registry --> TemporaryRecord RichRecord --|> Record TemporaryRecord --|> RichRecord Registry --> Artifact Artifact --|> RichRecord %% ------------------------------------------------------------------------- %% --- Copied from base diagram -------------------------------------------- class laminr{ +connect(String slug): RichInstance } class UserSettings{ +initialize(...): UserSettings +email: String +access_token: String +uid: String +uuid: String +handle: String +name: String } class InstanceSettings{ +initialize(...): InstanceSettings +owner: String +name: String +id: String +schema_id: String +api_url: String } class Instance{ +initialize(\\n#emsp;InstanceSettings Instance_settings, API api, \\n#emsp;Map schema\\n): Instance +get_modules(): Module[] +get_module(String module_name): Module +get_module_names(): String[] +get_api(): InstanceAPI +get_settings(): InstanceSettings +get_py_lamin(Boolean check, String what): PythonModule +track(String path, String transform): NULL +finish(): NULL +is_default: Boolean } class InstanceAPI{ +initialize(InstanceSettings Instance_settings) +get_schema(): Map +get_record(...): Map +get_records(...): Map +delete_record(...): NULL } class Module{ +initialize(\\n#emsp;Instance Instance, API api, String module_name,\\n#emsp;Map module_schema\\n): Module +name: String +get_registries(): Registry[] +get_registry(String registry_name): Registry +get_registry_names(): String[] } class Registry{ +initialize(\\n#emsp;Instance Instance, Module module, API api,\\n#emsp;String registry_name, Map registry_schema\\n): Registry +name: String +class_name: String +is_link_table: Bool +get_fields(): Field[] +get_field(String field_name): Field +get_field_names(): String[] +get(\\n#emsp;String id_or_uid, Bool include_foreign_keys,\\n#emsp;List~String~ select, Bool verbose\\n): RichRecord +get_record_class(): RichRecordClass +get_temporary_record_class(): TemporaryRecordClass +df(Integer limit, Bool verbose): DataFrame +from_df(\\n#emsp;DataFrame dataframe, String key,\\n#emsp;String description, String run\\n): TemporaryRecord +from_path(\\n#emsp;Path path, String key, String description, String run\\n): TemporaryRecord +from_anndata(\\n#emsp;AnnData adata, String key, String description, String run\\n): TemporaryRecord } class Field{ +initialize(\\n#emsp;String type, String through, String field_name,\\n#emsp;String registry_name, String column_name, String module_name,\\n#emsp;Bool is_link_table, String relation_type, String related_field_name,\\n#emsp;String related_registry_name, String related_module_name\\n): Field +type: String +through: Map +field_name: String +registry_name: String +column_name: String +module_name: String +is_link_table: Bool +relation_type: String +related_field_name: String +related_registry_name: String +related_module_name: String } class Record{ +initialize(\\n#emsp;Instance Instance, Registry registry,\\n#emsp;API api, Map data\\n): Record +get_value(String field_name): Any +delete(): NULL } class RelatedRecords{ +initialize(\\n#emsp;Instance instance, Registry registry, Field field,\\n#emsp;String related_to, API api\\n): RelatedRecords +df(): DataFrame +field: Field } %% ------------------------------------------------------------------------- %% --- New Rich classes ---------------------------------------------------- class RichInstance{ +initialize( #emsp;InstanceSettings Instance_settings, API api, #emsp;Map schema ): RichInstance +Registry Artifact +Registry Collection +...registry accessors... +Registry User +Bionty bionty } style RichInstance fill:#ffe1c9 class Core{ +Registry Artifact +Registry Collection +...registry accessors... +Registry User } style Core fill:#ffe1c9 class Bionty{ +Registry CellLine +Registry CellMarker +...registry accessors... +Registry Tissue } style Bionty fill:#ffe1c9 class RichRecord{ +...field value accessors... } style RichRecord fill:#ffe1c9 class TemporaryRecord{ +save(): NULL } style TemporaryRecord fill:#ffe1c9 class Artifact{ +...field value accessors... +cache(): String +load(): AnnData | DataFrame | ... +describe(): NULL } style Artifact fill:#ffe1c9 %% ------------------------------------------------------------------------- %% # nolint end"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"key-concepts-in-lamindb","dir":"Articles","previous_headings":"","what":"Key Concepts in LaminDB","title":"Concepts and features","text":"diving practical usage {laminr}, ’s helpful understand core concepts LaminDB. detailed explanation, refer Architecture vignette (vignette(\"architecture\", package = \"laminr\")). Instance: LaminDB instance self-contained environment storing managing data metadata. Think like database project directory. instance schema, storage location, metadata database. Module: module collection related registries provide specific functionality. example, core module contains essential registries general data management, bionty module provides registries biological entities like genes proteins. Registry: registry centralized collection related records, similar table database. registry holds specific type metadata, information artifacts, transforms, features. Record: record single entry within registry, analogous row database table. record represents specific entity combines multiple fields information. Field: field single piece information within record, like column database table. example, artifact record might fields name, description, creation date.","code":""},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"initial-setup","dir":"Articles","previous_headings":"","what":"Initial setup","title":"Concepts and features","text":"Now, let’s set environment use {laminr}.","code":""},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"python-setup","dir":"Articles","previous_headings":"Initial setup","what":"Python setup","title":"Concepts and features","text":"Install lamindb Python package. Connect LaminDB instance:","code":"pip install lamindb[aws] lamin connect laminlabs/cellxgene"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"r-setup","dir":"Articles","previous_headings":"Initial setup","what":"R setup","title":"Concepts and features","text":"Install {laminr} package. (Optional) Install suggested dependencies. includes packages like {anndata} working AnnData objects {s3} interacting S3 storage.","code":"install.packages(\"laminr\") install.packages(\"laminr\", dependencies = TRUE)"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"connecting-to-lamindb-from-r","dir":"Articles","previous_headings":"","what":"Connecting to LaminDB from R","title":"Concepts and features","text":"Connect laminlabs/cellxgene instance R session: db object now represents connection LaminDB instance. can explore available registries (like Artifact, Collection, Feature, etc.) simply printing db object: registries correspond Python classes LaminDB. access registries within specific modules, use $ operator. example, access bionty module: bionty registries also corresponding Python classes.","code":"library(laminr) db <- connect(\"laminlabs/cellxgene\") db #> cellxgene #> Core registries #> $Run #> $User #> $Param #> $ULabel #> $Feature #> $Storage #> $Artifact #> $Transform #> $Collection #> $FeatureSet #> $ParamValue #> $FeatureValue #> Additional modules #> bionty #> ourprojects db$bionty #> bionty #> Registries #> $Gene #> $Source #> $Tissue #> $Disease #> $Pathway #> $Protein #> $CellLine #> $CellType #> $Organism #> $Ethnicity #> $Phenotype #> $CellMarker #> $DevelopmentalStage #> $ExperimentalFactor"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"working-with-registries","dir":"Articles","previous_headings":"","what":"Working with registries","title":"Concepts and features","text":"Let’s use Artifact registry example. registry stores datasets, models, data entities. see available functions Artifact registry, print registry object: can also get data frame summarising records associated registry.","code":"db$Artifact #> Artifact #> Simple fields #> id: AutoField #> key: CharField #> uid: CharField #> hash: CharField #> size: BigIntegerField #> type: CharField #> suffix: CharField #> version: CharField #> is_latest: BooleanField #> n_objects: BigIntegerField #> created_at: DateTimeField #> updated_at: DateTimeField #> visibility: SmallIntegerField #> description: CharField #> n_observations: BigIntegerField #> Relational fields #> run: Run (many-to-one) #> storage: Storage (many-to-one) #> ulabels: ULabel (many-to-many) #> transform: Transform (many-to-one) #> created_by: User (many-to-one) #> collections: Collection (many-to-many) #> feature_sets: FeatureSet (many-to-many) #> input_of_runs: Run (many-to-many) #> Bionty fields #> genes: bionty$Gene (many-to-many) #> tissues: bionty$Tissue (many-to-many) #> diseases: bionty$Disease (many-to-many) #> pathways: bionty$Pathway (many-to-many) #> proteins: bionty$Protein (many-to-many) #> organisms: bionty$Organism (many-to-many) #> cell_lines: bionty$CellLine (many-to-many) #> cell_types: bionty$CellType (many-to-many) #> phenotypes: bionty$Phenotype (many-to-many) #> ethnicities: bionty$Ethnicity (many-to-many) #> cell_markers: bionty$CellMarker (many-to-many) #> developmental_stages: bionty$DevelopmentalStage (many-to-many) #> experimental_factors: bionty$ExperimentalFactor (many-to-many) #> Ourprojects fields #> projects: ourprojects$Project (many-to-many) #> references: ourprojects$Reference (many-to-many) db$Artifact$df(limit = 5) #> n_objects suffix #> 1 290 #> 2 330 #> 3 NA .txt #> 4 NA .html #> 5 NA .h5ad #> key #> 1 cell-census/2023-12-15/soma #> 2 cell-census/2024-07-01/soma #> 3 #> 4 #> 5 cell-census/2023-07-25/h5ads/7a0a8891-9a22-4549-a55b-c2aca23c3a2a.h5ad #> uid visibility hash size is_latest #> 1 FYMewVq5twKMDXVy0000 1 Mfyw8VuqftX5REITfQH_yg 635848093433 FALSE #> 2 FYMewVq5twKMDXVy0001 1 bzrXBPNvitSVKvb3GG38_w 870700998221 TRUE #> 3 5rnsIP61m6O2Rkt00000 0 WBwnXEQjGKfD3_LVRPS7PQ 9043 TRUE #> 4 n1EkazEYk7wZjdUB0000 0 dQGbiqShQnkLuxP54_2puw 647365 TRUE #> 5 tczTlSHFPOcAcBnfyxKA 1 UlsVvBz9kMzn2r9RdoAAOg 1297573950 FALSE #> description X_accessor n_observations type #> 1 Census 2023-12-15 tiledbsoma 68683222 dataset #> 2 Census 2024-07-01 tiledbsoma 115556140 dataset #> 3 requirements.txt NA #> 4 Report of run CPOQGmldHAqwAlLaPjia NA #> 5 Supercluster: Hippocampal CA1-3 AnnData 74979 #> X_hash_type updated_at created_at #> 1 md5-d 2024-09-17T13:00:13.714256+00:00 2024-07-12T12:12:16.091881+00:00 #> 2 md5-d 2024-09-17T13:01:23.739635+00:00 2024-07-16T12:52:01.424629+00:00 #> 3 md5 2024-11-25T12:20:22.807106+00:00 2024-11-25T12:20:22.806751+00:00 #> 4 md5 2024-11-25T12:20:35.499512+00:00 2024-11-25T12:20:35.499384+00:00 #> 5 md5-n 2024-01-24T07:10:21.725547+00:00 2023-11-28T21:46:12.685907+00:00 #> X_key_is_virtual version id #> 1 FALSE 2023-12-15 2846 #> 2 FALSE 2024-07-01 3665 #> 3 TRUE 3672 #> 4 TRUE 3673 #> 5 FALSE 2023-07-25 1270"},{"path":"https://laminr.lamin.ai/articles/concepts_features.html","id":"working-with-records","dir":"Articles","previous_headings":"","what":"Working with records","title":"Concepts and features","text":"can fetch specific record registry using ID UID. instance, get artifact UID KBW89Mf7IGcekja2hADu: artifact contains AnnData object myeloid cell data. can view metadata: artifact records, can get detailed information: Access specific fields record using $ operator: fields record contain links related information. one--many many--many relationship, summary related information can retrieved data frame. Finally, artifact records , can download associated data: Currently, {laminr} primarily supports S3 storage. Support storage backends added future. information related planned features roadmap, please refer Development vignette (vignette(\"development\", package = \"laminr\")).","code":"artifact <- db$Artifact$get(\"KBW89Mf7IGcekja2hADu\") artifact #> Artifact(uid='KBW89Mf7IGcekja2hADu', description='Myeloid compartment', key='cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad', id=3659, run_id=27, hash='SZ5tB0T4YKfiUuUkAL09ZA', size=691757462, type='dataset', suffix='.h5ad', storage_id=2, version='2024-07-01', _accessor='AnnData', is_latest=TRUE, transform_id=22, _hash_type='md5-n', created_at='2024-07-12T12:34:10.345829+00:00', created_by_id=1, updated_at='2024-07-12T12:40:48.837026+00:00', visibility=1, n_observations=51552, _key_is_virtual=FALSE) artifact$describe() #> Artifact(uid='KBW89Mf7IGcekja2hADu', description='Myeloid compartment', key='cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad', id=3659, run_id=27, hash='SZ5tB0T4YKfiUuUkAL09ZA', size=691757462, type='dataset', suffix='.h5ad', storage_id=2, version='2024-07-01', _accessor='AnnData', is_latest=TRUE, transform_id=22, _hash_type='md5-n', created_at='2024-07-12T12:34:10.345829+00:00', created_by_id=1, updated_at='2024-07-12T12:40:48.837026+00:00', visibility=1, n_observations=51552, _key_is_virtual=FALSE) #> Provenance #> $storage = 's3://cellxgene-data-public' #> $transform = 'Census release 2024-07-01 (LTS)' #> $run = '2024-07-16T12:49:41.81955+00:00' #> $created_by = 'sunnyosun' artifact$id #> [1] 3659 artifact$uid #> [1] \"KBW89Mf7IGcekja2hADu\" artifact$key #> [1] \"cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad\" artifact$storage #> Storage(uid='oIYGbD74', root='s3://cellxgene-data-public', id=2, type='s3', region='us-west-2', created_at='2023-09-19T13:17:56.273068+00:00', created_by_id=1, updated_at='2023-10-16T15:04:08.998203+00:00') artifact$developmental_stages #> RelatedRecords(field_name='developmental_stages', relation_type='many-to-many', related_to='KBW89Mf7IGcekja2hADu') artifact$developmental_stages$df() #> id uid abbr name synonyms #> 1 422 1xebUrrX NA sixth decade human stage NA #> 2 423 3yuYMeZt NA seventh decade human stage NA #> 3 424 2EztBuvx NA eighth decade human stage NA #> created_at updated_at #> 1 2023-11-28T23:05:31.450102+00:00 2023-11-28T23:05:31.450106+00:00 #> 2 2023-11-28T23:05:31.450123+00:00 2023-11-28T23:05:31.450127+00:00 #> 3 2023-11-28T23:05:31.450144+00:00 2023-11-28T23:05:31.450149+00:00 #> description #> 1 Human Stage That Refers To An Individual Who Is Over 50 And Under 60 Years Old. #> 2 Human Stage That Refers To An Individual Who Is Over 60 And Under 70 Years Old. #> 3 Human Stage That Refers To An Individual Who Is Over 70 And Under 80 Years Old. #> ontology_id #> 1 HsapDv:0000240 #> 2 HsapDv:0000241 #> 3 HsapDv:0000242 artifact$cache() # Cache the data locally #> | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |== | 4% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========= | 14% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================ | 24% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================= | 34% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |============================== | 44% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |===================================== | 54% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================ | 64% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |=================================================== | 74% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |========================================================== | 84% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================= | 94% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100% artifact$load() # Load the data into memory #> ℹ s3://cellxgene-data-public/cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad already exists at /home/runner/.cache/lamindb/cellxgene-data-public/cell-census/2024-07-01/h5ads/fe52003e-1460-4a65-a213-2bb1a508332f.h5ad #> AnnData object with n_obs × n_vars = 51552 × 36398 #> obs: 'donor_id', 'Predicted_labels_CellTypist', 'Majority_voting_CellTypist', 'Manually_curated_celltype', 'assay_ontology_term_id', 'cell_type_ontology_term_id', 'development_stage_ontology_term_id', 'disease_ontology_term_id', 'self_reported_ethnicity_ontology_term_id', 'is_primary_data', 'organism_ontology_term_id', 'sex_ontology_term_id', 'tissue_ontology_term_id', 'suspension_type', 'tissue_type', 'cell_type', 'assay', 'disease', 'organism', 'sex', 'tissue', 'self_reported_ethnicity', 'development_stage', 'observation_joinid' #> var: 'gene_symbols', 'feature_is_filtered', 'feature_name', 'feature_reference', 'feature_biotype', 'feature_length' #> uns: 'cell_type_ontology_term_id_colors', 'citation', 'default_embedding', 'schema_reference', 'schema_version', 'sex_ontology_term_id_colors', 'title' #> obsm: 'X_umap'"},{"path":"https://laminr.lamin.ai/articles/development.html","id":"features","dir":"Articles","previous_headings":"","what":"Features","title":"Feature List and Roadmap","text":"Connect LaminDB instance (connect()). Handle authentication authorization. Connect LaminDB instance without needing install lamin_cli Python package. Query exactly one record (Registry$get(...)): Fetch single record ID. $df(): Returns data frame record row. $(): Returns records QuerySet. $one(): Return exactly one record. $one_or_none(): Return one record NULL. Leverage relationships querying (Artifact$filter(created_by__handle__startswith = \"testuse\")$df()): Query records based relationships. : Example: Artifact$filter(suffix = \".jpg\", created_by = user) less / greater : Example: Artifact$filter(size__lt = 1e4) : Example: Artifact$filter(suffix_in = [\".jpg\", \".fastq.gz\"]) order : Example: Artifact$filter().order_by(\"created_at\") contains: Example: Artifact$filter(name__contains = \"test\") startswith: Example: Artifact$filter(name__startswith = \"test\") : Example: ... : Example: ... Search records (Registry$search(...)): Search records based query string. Pagination: Support pagination large query results. Field lookups: Provide convenient functions looking field values (e.g., Artifact$lookup(\"description\")). $from_df(): Create artifact data frame. $from_path(): Create artifact path. $from_anndata(): Create artifact AnnData. Save artifacts: Save artifacts LaminDB appropriate metadata. csv: Load data frame CSV file. fcs: Load flow cytometry data. h5ad: Load AnnData HDF5 file. h5mu: Load MuData HDF5 file. html: Load content HTML file. jpg: Load image JPG. json: Load data JSON file. parquet: Load data frame Parquet file. png: Load image PNG. rds: Load R object RDS file. svg: Load image SVG. tsv: Load data frame TSV file. yaml: Load data YAML file. zarr: Load AnnData Zarr store. s3: Interact S3 storage. gcp: Interact Google Cloud Storage. Version artifacts: Create new versions artifacts. Delete artifacts: Delete existing artifact. Manage artifact metadata: Add, update, delete artifact metadata. Work collections: Create, manage, query collections artifacts. Track code execution: Automatically track execution R scripts notebooks. Capture run context: Record information execution environment (e.g., package versions, parameters). Link code artifacts: Associate code execution generated artifacts. Visualize data lineage: Create visualizations data lineage dependencies. Finalize tracking: End save run. Validate data: Validate data predefined schemas constraints. Standardize data: Apply standardization rules ensure data consistency. Annotate data: Add annotations labels data. Use Curator class: Implement Curator class streamlined curation workflow. Access ontology data: Fetch data public ontologies (e.g., gene names, protein IDs). Search ontologies: Search entities within ontologies. Use ontology terms queries: Use ontology terms filter query data. Manage ontology versions: Access different versions ontologies. Create manage records bionty registries: Add, update, delete records genes, proteins, cell types, etc. Utilize hierarchical relationships: Navigate query based parent-child relationships ontologies. Manage synonyms: Add use synonyms biological entities. List available modules: Retrieve list available modules instance. Access module registries: Access registries within specific modules. (Advanced) Create custom modules: Define register custom schema modules. Upload data: Upload data files LaminDB storage. Download data: Download data files LaminDB storage. (Advanced) Support zero-copy data transfer: Implement efficient data transfer mechanisms.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"connect-to-an-instance","dir":"Articles","previous_headings":"","what":"Connect to an instance","title":"Feature List and Roadmap","text":"Connect LaminDB instance (connect()). Handle authentication authorization. Connect LaminDB instance without needing install lamin_cli Python package.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"query-search","dir":"Articles","previous_headings":"","what":"Query & search","title":"Feature List and Roadmap","text":"Query exactly one record (Registry$get(...)): Fetch single record ID. $df(): Returns data frame record row. $(): Returns records QuerySet. $one(): Return exactly one record. $one_or_none(): Return one record NULL. Leverage relationships querying (Artifact$filter(created_by__handle__startswith = \"testuse\")$df()): Query records based relationships. : Example: Artifact$filter(suffix = \".jpg\", created_by = user) less / greater : Example: Artifact$filter(size__lt = 1e4) : Example: Artifact$filter(suffix_in = [\".jpg\", \".fastq.gz\"]) order : Example: Artifact$filter().order_by(\"created_at\") contains: Example: Artifact$filter(name__contains = \"test\") startswith: Example: Artifact$filter(name__startswith = \"test\") : Example: ... : Example: ... Search records (Registry$search(...)): Search records based query string. Pagination: Support pagination large query results. Field lookups: Provide convenient functions looking field values (e.g., Artifact$lookup(\"description\")).","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"manage-data-metadata","dir":"Articles","previous_headings":"","what":"Manage data & metadata","title":"Feature List and Roadmap","text":"$from_df(): Create artifact data frame. $from_path(): Create artifact path. $from_anndata(): Create artifact AnnData. Save artifacts: Save artifacts LaminDB appropriate metadata. csv: Load data frame CSV file. fcs: Load flow cytometry data. h5ad: Load AnnData HDF5 file. h5mu: Load MuData HDF5 file. html: Load content HTML file. jpg: Load image JPG. json: Load data JSON file. parquet: Load data frame Parquet file. png: Load image PNG. rds: Load R object RDS file. svg: Load image SVG. tsv: Load data frame TSV file. yaml: Load data YAML file. zarr: Load AnnData Zarr store. s3: Interact S3 storage. gcp: Interact Google Cloud Storage. Version artifacts: Create new versions artifacts. Delete artifacts: Delete existing artifact. Manage artifact metadata: Add, update, delete artifact metadata. Work collections: Create, manage, query collections artifacts.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"track-notebooks-scripts","dir":"Articles","previous_headings":"","what":"Track notebooks & scripts","title":"Feature List and Roadmap","text":"Track code execution: Automatically track execution R scripts notebooks. Capture run context: Record information execution environment (e.g., package versions, parameters). Link code artifacts: Associate code execution generated artifacts. Visualize data lineage: Create visualizations data lineage dependencies. Finalize tracking: End save run.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"curate-datasets","dir":"Articles","previous_headings":"","what":"Curate datasets","title":"Feature List and Roadmap","text":"Validate data: Validate data predefined schemas constraints. Standardize data: Apply standardization rules ensure data consistency. Annotate data: Add annotations labels data. Use Curator class: Implement Curator class streamlined curation workflow.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"access-public-ontologies","dir":"Articles","previous_headings":"","what":"Access public ontologies","title":"Feature List and Roadmap","text":"Access ontology data: Fetch data public ontologies (e.g., gene names, protein IDs). Search ontologies: Search entities within ontologies. Use ontology terms queries: Use ontology terms filter query data. Manage ontology versions: Access different versions ontologies.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"manage-biological-registries","dir":"Articles","previous_headings":"","what":"Manage biological registries","title":"Feature List and Roadmap","text":"Create manage records bionty registries: Add, update, delete records genes, proteins, cell types, etc. Utilize hierarchical relationships: Navigate query based parent-child relationships ontologies. Manage synonyms: Add use synonyms biological entities.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"manage-schema-modules","dir":"Articles","previous_headings":"","what":"Manage schema modules","title":"Feature List and Roadmap","text":"List available modules: Retrieve list available modules instance. Access module registries: Access registries within specific modules. (Advanced) Create custom modules: Define register custom schema modules.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"transfer-data","dir":"Articles","previous_headings":"","what":"Transfer data","title":"Feature List and Roadmap","text":"Upload data: Upload data files LaminDB storage. Download data: Download data files LaminDB storage. (Advanced) Support zero-copy data transfer: Implement efficient data transfer mechanisms.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"roadmap","dir":"Articles","previous_headings":"","what":"Roadmap","title":"Feature List and Roadmap","text":"first version package allows users : Connect LaminDB instance. List records registry. Fetch one record ID UID. Cache S3 artifacts locally. Load AnnData artifacts. Implement basic data metadata management features (create, save, load delete artifacts). Expand support different data formats. Implement code tracking. UX improvements existing functionality. Expand support different storage backends. Expand query functionality comparators, relationships, pagination. Implement data lineage visualization. Introduce data curation features (validation, standardization, annotation). Enhance support bionty registries ontology interactions. Implement advanced features like custom module creation zero-copy data transfer. Continuously improve performance, usability, documentation.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"version-0-1-0","dir":"Articles","previous_headings":"","what":"Version 0.1.0","title":"Feature List and Roadmap","text":"first version package allows users : Connect LaminDB instance. List records registry. Fetch one record ID UID. Cache S3 artifacts locally. Load AnnData artifacts.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"version-0-2-0","dir":"Articles","previous_headings":"","what":"Version 0.2.0","title":"Feature List and Roadmap","text":"Implement basic data metadata management features (create, save, load delete artifacts). Expand support different data formats. Implement code tracking.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"version-0-2-1","dir":"Articles","previous_headings":"","what":"Version 0.2.1","title":"Feature List and Roadmap","text":"UX improvements existing functionality.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"version-0-3-0","dir":"Articles","previous_headings":"","what":"Version 0.3.0","title":"Feature List and Roadmap","text":"Expand support different storage backends. Expand query functionality comparators, relationships, pagination. Implement data lineage visualization. Introduce data curation features (validation, standardization, annotation). Enhance support bionty registries ontology interactions.","code":""},{"path":"https://laminr.lamin.ai/articles/development.html","id":"future-versions","dir":"Articles","previous_headings":"","what":"Future versions","title":"Feature List and Roadmap","text":"Implement advanced features like custom module creation zero-copy data transfer. Continuously improve performance, usability, documentation.","code":""},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"setup","dir":"Articles","previous_headings":"","what":"Setup","title":"Get started","text":"Install {laminr} CRAN: Install lamindb PyPI: Connect LaminDB instance command line: instance acts default instance everything follows. data tracking information added .","code":"install.packages(\"laminr\", dependencies = TRUE) pip install 'lamindb[aws]' lamin connect /"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"start-your-analysis","dir":"Articles","previous_headings":"","what":"Start your analysis","title":"Get started","text":"Load {laminr} get started. Create default database db object R session: used manage datasets metadata entities. LaminDB tracks code used create data. track current source code, run: Tip UID (\"I8BlHXFXqZOG0000\") obtained running db$track(path = \"your_file.R\") copying UID output.","code":"library(laminr) db <- connect() #> ! schema module 'ourprojects' is not installed → no access to its labels & registries (resolve via `pip install ourprojects`) #> ! schema module 'bionty' is not installed → no access to its labels & registries (resolve via `pip install bionty`) #> → connected lamindb: laminlabs/cellxgene db$track(\"I8BlHXFXqZOG0000\", path = \"laminr.Rmd\")"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"connect-to-other-instances","dir":"Articles","previous_headings":"","what":"Connect to other instances","title":"Get started","text":"possible connect LaminDB instance reading data. Connect public CELLxGENE instance:","code":"cellxgene <- connect(\"laminlabs/cellxgene\") cellxgene #> cellxgene #> Core registries #> $Run #> $User #> $Param #> $ULabel #> $Feature #> $Storage #> $Artifact #> $Transform #> $Collection #> $FeatureSet #> $ParamValue #> $FeatureValue #> Additional modules #> bionty #> ourprojects"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"download-a-dataset","dir":"Articles","previous_headings":"","what":"Download a dataset","title":"Get started","text":"Artifacts objects bundle data associated metadata. artifact can file folder typically dataset. Tip can view detailed information dataset LaminHub: https://lamin.ai/laminlabs/cellxgene/artifact/7dVluLROpalzEh8mNyxk. can search query CELLxGENE datasets : https://lamin.ai/laminlabs/cellxgene/artifacts. download dataset load memory, run: artifact contains AnnData object. Tip prefer path local file folder, call path <- artifact$cache().","code":"artifact <- cellxgene$Artifact$get(\"7dVluLROpalzEh8mNyxk\") artifact #> Artifact(uid='7dVluLROpalzEh8mNyxk', description='Renal cell carcinoma, pre aPD1, kidney Puck_200727_12', key='cell-census/2023-12-15/h5ads/02faf712-92d4-4589-bec7-13105059cf86.h5ad', id=1742, run_id=22, hash='YNYuokfAoDFxdaRILjmU9w', size=13997860, suffix='.h5ad', storage_id=2, version='2023-12-15', _accessor='AnnData', is_latest=TRUE, transform_id=16, _hash_type='md5-n', created_at='2024-01-11T09:13:23.143694+00:00', created_by_id=1, updated_at='2024-01-24T07:17:47.009288+00:00', visibility=1, n_observations=17612, _key_is_virtual=FALSE) adata <- artifact$load() #> | | | 0% | | | 1% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========= | 14% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================ | 24% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================= | 34% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |=================================== | 51% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |===================================== | 54% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |=================================================== | 74% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |======================================================== | 81% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |========================================================== | 84% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================= | 94% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100% adata #> AnnData object with n_obs × n_vars = 17612 × 23254 #> obs: 'n_genes', 'n_UMIs', 'log10_n_UMIs', 'log10_n_genes', 'Cell_Type', 'cell_type_ontology_term_id', 'organism_ontology_term_id', 'tissue_ontology_term_id', 'assay_ontology_term_id', 'disease_ontology_term_id', 'self_reported_ethnicity_ontology_term_id', 'development_stage_ontology_term_id', 'sex_ontology_term_id', 'donor_id', 'is_primary_data', 'suspension_type', 'cell_type', 'assay', 'disease', 'organism', 'sex', 'tissue', 'self_reported_ethnicity', 'development_stage' #> var: 'gene', 'n_beads', 'n_UMIs', 'feature_is_filtered', 'feature_name', 'feature_reference', 'feature_biotype' #> uns: 'Cell_Type_colors', 'schema_version', 'title' #> obsm: 'X_spatial'"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"work-with-the-dataset","dir":"Articles","previous_headings":"","what":"Work with the dataset","title":"Get started","text":"loaded dataset can perform analysis normally. , marker genes calculated provided cell type labels using {Seurat}.","code":"library(Seurat) #> Loading required package: SeuratObject #> Loading required package: sp #> 'SeuratObject' was built under R 4.4.0 but the current version is #> 4.4.2; it is recomended that you reinstall 'SeuratObject' as the ABI #> for R may have changed #> #> Attaching package: 'SeuratObject' #> The following objects are masked from 'package:base': #> #> intersect, t # Create a Seurat object seurat_obj <- CreateSeuratObject( counts = as(Matrix::t(adata$X), \"CsparseMatrix\"), meta.data = adata$obs ) # Add gene metadata seurat_obj[[\"RNA\"]] <- AddMetaData( GetAssay(seurat_obj), adata$var ) # Set cell identities to the provided cell type annotation Idents(seurat_obj) <- \"cell_type\" # Normalise the data seurat_obj <- NormalizeData(seurat_obj) #> Normalizing layer: counts # Test for marker genes (the output is a data.frame) markers <- FindAllMarkers( seurat_obj, features = Features(seurat_obj)[1:100] # Only test a few features for speed ) #> Calculating cluster fibroblast #> For a (much!) faster implementation of the Wilcoxon Rank Sum Test, #> (default method for FindMarkers) please install the presto package #> -------------------------------------------- #> install.packages('devtools') #> devtools::install_github('immunogenomics/presto') #> -------------------------------------------- #> After installation of presto, Seurat will automatically use the more #> efficient implementation (no further action necessary). #> This message will be shown once per session #> Calculating cluster epithelial cell #> Calculating cluster myeloid cell #> Calculating cluster malignant cell #> Warning: The following tests were not performed: #> Warning: When testing epithelial cell versus all: #> Cell group 1 has fewer than 3 cells # Display the marker genes knitr::kable(markers) # Plot the marker genes DotPlot(seurat_obj, features = unique(markers$gene)) + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5)) #> Warning: Scaling data with a low number of groups may produce misleading #> results"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"slice-the-tiledbsoma-array-store","dir":"Articles","previous_headings":"","what":"Slice the tiledbsoma array store","title":"Get started","text":"Alternatively accessing individual CELLxGENE datasets LaminDB, {cellxgene.census} package can used slice TileDB-SOMA array store CELLxGENE Census, concatenated version datasets CELLxGENE.","code":"library(cellxgene.census) census <- open_soma() organism <- \"Homo sapiens\" gene_filter <- \"feature_id %in% c('ENSG00000107317', 'ENSG00000106034')\" cell_filter <- \"cell_type == 'sympathetic neuron'\" cell_columns <- c( \"assay\", \"cell_type\", \"tissue\", \"tissue_general\", \"suspension_type\", \"disease\" ) seurat_obj2 <- get_seurat( census = census, organism = organism, var_value_filter = gene_filter, obs_value_filter = cell_filter, obs_column_names = cell_columns )"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"save-the-results","dir":"Articles","previous_headings":"","what":"Save the results","title":"Get started","text":"Save results new artifacts default LaminDB instance.","code":"seurat_path <- tempfile(fileext = \".rds\") saveRDS(seurat_obj, seurat_path) db$Artifact$from_df( markers, description = \"Marker genes for renal cell carcinoma dataset\" )$save() db$Artifact$from_path( seurat_path, description = \"Seurat object for renal cell carcinoma dataset\" )$save()"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"mark-the-analysis-as-finished","dir":"Articles","previous_headings":"","what":"Mark the analysis as finished","title":"Get started","text":"Mark analysis run finished create time stamp upload source code hub.","code":"db$finish()"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"save-a-notebook-report-not-needed-for--r-scripts","dir":"Articles","previous_headings":"Mark the analysis as finished","what":"Save a notebook report (not needed for .R scripts)","title":"Get started","text":"Save run report notebook (.Rmd .qmd file) instance: Render notebook HTML RStudio, click “Knit” button command line, run: Use rmarkdown package R: Save LaminDB instance using lamin CLI:","code":"Rscript -e 'rmarkdown::render(\"laminr.Rmd\")' rmarkdown::render(\"laminr.Rmd\") lamin save laminr.Rmd"},{"path":"https://laminr.lamin.ai/articles/laminr.html","id":"further-reading","dir":"Articles","previous_headings":"","what":"Further reading","title":"Get started","text":"details {laminr} works see vignette(\"concepts_features\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"what-is-bionty","dir":"Articles","previous_headings":"","what":"What is bionty?","title":"Bionty Module","text":"bionty module extends LaminDB registries entities like genes, proteins, cell types, . leverages public ontologies ensure data consistency interoperability. Key features bionty include: Ontology Integration: Connect public ontologies like NCBI Taxonomy, Ensembl, UniProt, Cell Ontology, others. Hierarchical Relationships: Represent navigate relationships entities (e.g., parent-child relationships ontologies). Synonym Management: Handle synonyms abbreviations biological entities. Versioning: Track changes ontologies maintain historical versions.","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"gene","dir":"Articles","previous_headings":"","what":"Gene","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields","dir":"Articles","previous_headings":"Gene","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) symbol (character) biotype (character) synonyms (character) stable_id (character) created_at (POSIXct) updated_at (POSIXct) description (character) ncbi_gene_ids (character) ensembl_gene_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields","dir":"Articles","previous_headings":"Gene","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) organism (bionty$Organism) pathways (bionty$Pathway) artifacts (Artifact) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"source","dir":"Articles","previous_headings":"","what":"Source","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-1","dir":"Articles","previous_headings":"Source","what":"Simple fields","title":"Bionty Module","text":"id (integer) md5 (character) uid (character) url (character) name (character) in_db (logical) entity (character) version (character) organism (character) created_at (POSIXct) updated_at (POSIXct) description (character) currently_used (logical) source_website (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-1","dir":"Articles","previous_headings":"Source","what":"Relational fields","title":"Bionty Module","text":"run (Run) artifacts (Artifact) created_by (User) dataframe_artifact (Artifact)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"tissue","dir":"Articles","previous_headings":"","what":"Tissue","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-2","dir":"Articles","previous_headings":"Tissue","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-2","dir":"Articles","previous_headings":"Tissue","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$Tissue) children (bionty$Tissue) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"disease","dir":"Articles","previous_headings":"","what":"Disease","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-3","dir":"Articles","previous_headings":"Disease","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-3","dir":"Articles","previous_headings":"Disease","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$Disease) children (bionty$Disease) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"pathway","dir":"Articles","previous_headings":"","what":"Pathway","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-4","dir":"Articles","previous_headings":"Pathway","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-4","dir":"Articles","previous_headings":"Pathway","what":"Relational fields","title":"Bionty Module","text":"run (Run) genes (bionty$Gene) source (bionty$Source) parents (bionty$Pathway) children (bionty$Pathway) artifacts (Artifact) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"protein","dir":"Articles","previous_headings":"","what":"Protein","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-5","dir":"Articles","previous_headings":"Protein","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) name (character) length (integer64) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) gene_symbol (character) uniprotkb_id (character) ensembl_gene_ids (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-5","dir":"Articles","previous_headings":"Protein","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) organism (bionty$Organism) artifacts (Artifact) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"cellline","dir":"Articles","previous_headings":"","what":"CellLine","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-6","dir":"Articles","previous_headings":"CellLine","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-6","dir":"Articles","previous_headings":"CellLine","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$CellLine) children (bionty$CellLine) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"celltype","dir":"Articles","previous_headings":"","what":"CellType","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-7","dir":"Articles","previous_headings":"CellType","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-7","dir":"Articles","previous_headings":"CellType","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$CellType) children (bionty$CellType) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"organism","dir":"Articles","previous_headings":"","what":"Organism","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-8","dir":"Articles","previous_headings":"Organism","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character) scientific_name (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-8","dir":"Articles","previous_headings":"Organism","what":"Relational fields","title":"Bionty Module","text":"run (Run) genes (bionty$Gene) source (bionty$Source) parents (bionty$Organism) children (bionty$Organism) proteins (bionty$Protein) artifacts (Artifact) created_by (User) cell_markers (bionty$CellMarker)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"ethnicity","dir":"Articles","previous_headings":"","what":"Ethnicity","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-9","dir":"Articles","previous_headings":"Ethnicity","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-9","dir":"Articles","previous_headings":"Ethnicity","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$Ethnicity) children (bionty$Ethnicity) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"phenotype","dir":"Articles","previous_headings":"","what":"Phenotype","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-10","dir":"Articles","previous_headings":"Phenotype","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-10","dir":"Articles","previous_headings":"Phenotype","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$Phenotype) children (bionty$Phenotype) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"cellmarker","dir":"Articles","previous_headings":"","what":"CellMarker","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-11","dir":"Articles","previous_headings":"CellMarker","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) gene_symbol (character) ncbi_gene_id (character) uniprotkb_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-11","dir":"Articles","previous_headings":"CellMarker","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) organism (bionty$Organism) artifacts (Artifact) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"developmentalstage","dir":"Articles","previous_headings":"","what":"DevelopmentalStage","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-12","dir":"Articles","previous_headings":"DevelopmentalStage","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-12","dir":"Articles","previous_headings":"DevelopmentalStage","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$DevelopmentalStage) children (bionty$DevelopmentalStage) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"experimentalfactor","dir":"Articles","previous_headings":"","what":"ExperimentalFactor","title":"Bionty Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"simple-fields-13","dir":"Articles","previous_headings":"ExperimentalFactor","what":"Simple fields","title":"Bionty Module","text":"id (integer) uid (character) abbr (character) name (character) molecule (character) synonyms (character) created_at (POSIXct) instrument (character) updated_at (POSIXct) description (character) measurement (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_bionty.html","id":"relational-fields-13","dir":"Articles","previous_headings":"ExperimentalFactor","what":"Relational fields","title":"Bionty Module","text":"run (Run) source (bionty$Source) parents (bionty$ExperimentalFactor) children (bionty$ExperimentalFactor) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"key-concepts","dir":"Articles","previous_headings":"","what":"Key Concepts","title":"Core Module","text":"LaminDB, data metadata organized using system registries modules. Registries: Centralized collections related records, similar database tables. registry stores specific types metadata (e.g., artifacts, transforms, features). Modules: Groupings related registries provide domain-specific functionality. core module fundamental LaminDB instances includes essential registries general data management. modules (like bionty biological entities) can added extend functionality. Records Fields: record single entry within registry, analogous row database table. record comprises multiple fields, individual pieces information within record. comprehensive explanation LaminDB concepts {laminr}’s architecture, refer Architecture vignette: vignette(\"architecture\", package = \"laminr\"). learn connect LaminDB instance perform basic operations, see Getting started vignette: vignette(\"laminr\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"run","dir":"Articles","previous_headings":"","what":"Run","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields","dir":"Articles","previous_headings":"Run","what":"Simple fields","title":"Core Module","text":"id (integer64) uid (character) reference (character) created_at (POSIXct) started_at (POSIXct) finished_at (POSIXct) is_consecutive (logical) reference_type (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields","dir":"Articles","previous_headings":"Run","what":"Relational fields","title":"Core Module","text":"parent (Run) report (Artifact) transform (Transform) created_by (User) environment (Artifact) input_artifacts (Artifact) output_artifacts (Artifact) input_collections (Collection) output_collections (Collection)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"user","dir":"Articles","previous_headings":"","what":"User","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-1","dir":"Articles","previous_headings":"User","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) name (character) handle (character) created_at (POSIXct) updated_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-1","dir":"Articles","previous_headings":"User","what":"Relational fields","title":"Core Module","text":"created_runs (Run) created_artifacts (Artifact) created_transforms (Transform)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"param","dir":"Articles","previous_headings":"","what":"Param","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-2","dir":"Articles","previous_headings":"Param","what":"Simple fields","title":"Core Module","text":"id (integer64) name (character) dtype (character) created_at (POSIXct) updated_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-2","dir":"Articles","previous_headings":"Param","what":"Relational fields","title":"Core Module","text":"run (Run) values (ParamValue) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"ulabel","dir":"Articles","previous_headings":"","what":"ULabel","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-3","dir":"Articles","previous_headings":"ULabel","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) name (character) reference (character) created_at (POSIXct) updated_at (POSIXct) description (character) reference_type (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-3","dir":"Articles","previous_headings":"ULabel","what":"Relational fields","title":"Core Module","text":"run (Run) parents (ULabel) children (ULabel) artifacts (Artifact) created_by (User) transforms (Transform) collections (Collection)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"feature","dir":"Articles","previous_headings":"","what":"Feature","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-4","dir":"Articles","previous_headings":"Feature","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) name (character) unit (character) dtype (character) synonyms (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-4","dir":"Articles","previous_headings":"Feature","what":"Relational fields","title":"Core Module","text":"run (Run) values (FeatureValue) created_by (User) feature_sets (FeatureSet)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"storage","dir":"Articles","previous_headings":"","what":"Storage","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-5","dir":"Articles","previous_headings":"Storage","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) root (character) type (character) region (character) created_at (POSIXct) updated_at (POSIXct) description (character) instance_uid (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-5","dir":"Articles","previous_headings":"Storage","what":"Relational fields","title":"Core Module","text":"run (Run) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"artifact","dir":"Articles","previous_headings":"","what":"Artifact","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-6","dir":"Articles","previous_headings":"Artifact","what":"Simple fields","title":"Core Module","text":"id (integer) key (character) uid (character) hash (character) size (integer64) type (character) suffix (character) version (character) is_latest (logical) n_objects (integer64) created_at (POSIXct) updated_at (POSIXct) visibility (integer) description (character) n_observations (integer64)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-6","dir":"Articles","previous_headings":"Artifact","what":"Relational fields","title":"Core Module","text":"run (Run) storage (Storage) ulabels (ULabel) transform (Transform) created_by (User) collections (Collection) feature_sets (FeatureSet) input_of_runs (Run)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"transform","dir":"Articles","previous_headings":"","what":"Transform","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-7","dir":"Articles","previous_headings":"Transform","what":"Simple fields","title":"Core Module","text":"id (integer) key (character) uid (character) hash (character) name (character) type (character) version (character) is_latest (logical) reference (character) created_at (POSIXct) updated_at (POSIXct) description (character) source_code (character) reference_type (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-7","dir":"Articles","previous_headings":"Transform","what":"Relational fields","title":"Core Module","text":"runs (Run) ulabels (ULabel) created_by (User) successors (Transform) predecessors (Transform) output_artifacts (Artifact) output_collections (Collection)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"collection","dir":"Articles","previous_headings":"","what":"Collection","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-8","dir":"Articles","previous_headings":"Collection","what":"Simple fields","title":"Core Module","text":"id (integer) uid (character) hash (character) name (character) version (character) is_latest (logical) reference (character) created_at (POSIXct) updated_at (POSIXct) visibility (integer) description (character) reference_type (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-8","dir":"Articles","previous_headings":"Collection","what":"Relational fields","title":"Core Module","text":"run (Run) ulabels (ULabel) artifacts (Artifact) transform (Transform) created_by (User) input_of_runs (Run) meta_artifact (Artifact)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"featureset","dir":"Articles","previous_headings":"","what":"FeatureSet","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-9","dir":"Articles","previous_headings":"FeatureSet","what":"Simple fields","title":"Core Module","text":"n (IntegerField) id (integer) uid (character) hash (character) name (character) dtype (character) registry (character) created_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-9","dir":"Articles","previous_headings":"FeatureSet","what":"Relational fields","title":"Core Module","text":"run (Run) features (Feature) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"paramvalue","dir":"Articles","previous_headings":"","what":"ParamValue","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-10","dir":"Articles","previous_headings":"ParamValue","what":"Simple fields","title":"Core Module","text":"id (integer64) value (list) created_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-10","dir":"Articles","previous_headings":"ParamValue","what":"Relational fields","title":"Core Module","text":"runs (Run) param (Param) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"featurevalue","dir":"Articles","previous_headings":"","what":"FeatureValue","title":"Core Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"simple-fields-11","dir":"Articles","previous_headings":"FeatureValue","what":"Simple fields","title":"Core Module","text":"id (integer64) value (list) created_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_core.html","id":"relational-fields-11","dir":"Articles","previous_headings":"FeatureValue","what":"Relational fields","title":"Core Module","text":"run (Run) feature (Feature) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"what-is-wetlab","dir":"Articles","previous_headings":"","what":"What is wetlab?","title":"Wetlab Module","text":"wetlab module extends LaminDB specialized registries capturing essential information wetlab experiments. registries include: Experiments: Represent overall experiments details like objectives, design, timelines. Biosamples: Capture information biological specimens used experiments (e.g., tissue, cells, blood). Techsamples: Represent processed derived samples created raw biological materials. Treatments: Model various types treatments applied samples, including compound treatments, environmental perturbations, genetic modifications. Treatment Targets: Specify targets treatments, genes, proteins, pathways. Wells: Represent individual wells microplates experimental setups.","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"well","dir":"Articles","previous_headings":"","what":"Well","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields","dir":"Articles","previous_headings":"Well","what":"Simple fields","title":"Wetlab Module","text":"id (integer) row (character) uid (character) name (character) column (IntegerField) created_at (POSIXct) updated_at (POSIXct)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields","dir":"Articles","previous_headings":"Well","what":"Relational fields","title":"Wetlab Module","text":"run (Run) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"compound","dir":"Articles","previous_headings":"","what":"Compound","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-1","dir":"Articles","previous_headings":"Compound","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) abbr (character) name (character) synonyms (character) chembl_id (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-1","dir":"Articles","previous_headings":"Compound","what":"Relational fields","title":"Wetlab Module","text":"run (Run) source (bionty$Source) parents (wetlab$Compound) children (wetlab$Compound) artifacts (Artifact) compounds (wetlab$CompoundTreatment) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"biosample","dir":"Articles","previous_headings":"","what":"Biosample","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-2","dir":"Articles","previous_headings":"Biosample","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) batch (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-2","dir":"Articles","previous_headings":"Biosample","what":"Relational fields","title":"Wetlab Module","text":"run (Run) tissues (bionty$Tissue) diseases (bionty$Disease) organism (bionty$Organism) artifacts (Artifact) cell_lines (bionty$CellLine) cell_types (bionty$CellType) created_by (User) techsamples (wetlab$Techsample)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"experiment","dir":"Articles","previous_headings":"","what":"Experiment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-3","dir":"Articles","previous_headings":"Experiment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) date (DateField) name (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-3","dir":"Articles","previous_headings":"Experiment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) artifacts (Artifact) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"techsample","dir":"Articles","previous_headings":"","what":"Techsample","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-4","dir":"Articles","previous_headings":"Techsample","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) batch (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-4","dir":"Articles","previous_headings":"Techsample","what":"Relational fields","title":"Wetlab Module","text":"run (Run) artifacts (Artifact) biosamples (wetlab$Biosample) created_by (User)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"treatmenttarget","dir":"Articles","previous_headings":"","what":"TreatmentTarget","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-5","dir":"Articles","previous_headings":"TreatmentTarget","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) created_at (POSIXct) updated_at (POSIXct) description (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-5","dir":"Articles","previous_headings":"TreatmentTarget","what":"Relational fields","title":"Wetlab Module","text":"run (Run) genes (bionty$Gene) pathways (bionty$Pathway) proteins (bionty$Protein) artifacts (Artifact) created_by (User) genetic_targets (wetlab$GeneticTreatment) compound_targets (wetlab$CompoundTreatment) environmental_targets (wetlab$EnvironmentalTreatment)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"genetictreatment","dir":"Articles","previous_headings":"","what":"GeneticTreatment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-6","dir":"Articles","previous_headings":"GeneticTreatment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) system (character) sequence (character) created_at (POSIXct) updated_at (POSIXct) on_target_score (FloatField) off_target_score (FloatField)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-6","dir":"Articles","previous_headings":"GeneticTreatment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) targets (wetlab$TreatmentTarget) artifacts (Artifact) created_by (User) genetic_treatments (wetlab$CombinationTreatment)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"compoundtreatment","dir":"Articles","previous_headings":"","what":"CompoundTreatment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-7","dir":"Articles","previous_headings":"CompoundTreatment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) duration (DurationField) created_at (POSIXct) updated_at (POSIXct) concentration (FloatField) concentration_unit (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-7","dir":"Articles","previous_headings":"CompoundTreatment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) targets (wetlab$TreatmentTarget) artifacts (Artifact) compounds (wetlab$Compound) created_by (User) compound_treatments (wetlab$CombinationTreatment)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"combinationtreatment","dir":"Articles","previous_headings":"","what":"CombinationTreatment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-8","dir":"Articles","previous_headings":"CombinationTreatment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) created_at (POSIXct) updated_at (POSIXct) description (character) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-8","dir":"Articles","previous_headings":"CombinationTreatment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) genetics (wetlab$GeneticTreatment) artifacts (Artifact) compounds (wetlab$CompoundTreatment) created_by (User) environmentals (wetlab$EnvironmentalTreatment)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"environmentaltreatment","dir":"Articles","previous_headings":"","what":"EnvironmentalTreatment","title":"Wetlab Module","text":"Base classes: ?Registry","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"simple-fields-9","dir":"Articles","previous_headings":"EnvironmentalTreatment","what":"Simple fields","title":"Wetlab Module","text":"id (integer) uid (character) name (character) unit (character) value (FloatField) duration (DurationField) created_at (POSIXct) updated_at (POSIXct) ontology_id (character)","code":""},{"path":"https://laminr.lamin.ai/articles/module_wetlab.html","id":"relational-fields-9","dir":"Articles","previous_headings":"EnvironmentalTreatment","what":"Relational fields","title":"Wetlab Module","text":"run (Run) targets (wetlab$TreatmentTarget) artifacts (Artifact) created_by (User) environmental_treatments (wetlab$CombinationTreatment)","code":""},{"path":"https://laminr.lamin.ai/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Robrecht Cannoodt. Author, maintainer. Luke Zappia. Author. Data Intuitive. Author. Lamin Labs. Author, copyright holder.","code":""},{"path":"https://laminr.lamin.ai/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Cannoodt R, Zappia L, Data Intuitive, Lamin Labs (2024). laminr: Client 'LaminDB'. R package version 0.2.0, https://github.com/laminlabs/laminr, https://laminr.lamin.ai.","code":"@Manual{, title = {laminr: Client for 'LaminDB'}, author = {Robrecht Cannoodt and Luke Zappia and {Data Intuitive} and {Lamin Labs}}, year = {2024}, note = {R package version 0.2.0, https://github.com/laminlabs/laminr}, url = {https://laminr.lamin.ai}, }"},{"path":"https://laminr.lamin.ai/index.html","id":"laminr-an-r-client-for-lamindb","dir":"","previous_headings":"","what":"Client for LaminDB","title":"Client for LaminDB","text":"{laminr} R client LaminDB.","code":""},{"path":"https://laminr.lamin.ai/index.html","id":"what-is-lamindb","dir":"","previous_headings":"","what":"What is LaminDB","title":"Client for LaminDB","text":"new LaminDB, ’s helpful start Lamin’s problem statement. LaminDB open-source data framework biology, built Python API structures data metadata, tracks analysis lineage, enables reproducible, scalable research. tools curating data public ontologies flexible dataset querying, LaminDB designed address core data challenges field. Please refer LaminDB’s introduction detailed introduction. LaminDB accompanied LaminHub data collaboration hub built LaminDB similar Github built git.","code":""},{"path":"https://laminr.lamin.ai/index.html","id":"features-of-laminr","dir":"","previous_headings":"","what":"Features of {laminr}","title":"Client for LaminDB","text":"Connect LaminDB instance list records registry. Fetch records ID UID. Currently supported storage backends: s3. Planned: gcs. Currently supported file formats: .csv, .h5ad, .html, .jpg, .json, .parquet, .png, .rds, .svg, .tsv, .yaml. Planned: .fcs, .h5mu, .zarr. Create records data frames, paths AnnData objects. Delete records. Track code R scripts notebooks. See development roadmap details (vignette(\"development\", package = \"laminr\")).","code":""},{"path":"https://laminr.lamin.ai/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Client for LaminDB","text":"Get started {laminr} installing package CRAN: also need install lamindb Python package:","code":"install.packages(\"laminr\") pip install lamindb[aws]"},{"path":"https://laminr.lamin.ai/index.html","id":"additional-packages","dir":"","previous_headings":"Installation","what":"Additional packages","title":"Client for LaminDB","text":"functionality requires additional packages. install use: also install package following tasks: {anndata} - Native AnnData support R {nanoparquet} - Reading .parquet files {readr} - Reading CSV/TSV files {reticulate} - Functionality requires Python lamindb package {rsvg} - Reading SVG files {s3} - Fetching datasets AWS S3 choose install packages now prompted whenever one required.","code":"install.packages(\"laminr\", dependencies = TRUE)"},{"path":"https://laminr.lamin.ai/index.html","id":"getting-started","dir":"","previous_headings":"","what":"Getting started","title":"Client for LaminDB","text":"best way get started {laminr} explore package vignettes (available laminr.lamin.ai): Getting Started: Learn basics explore practical examples (vignette(\"laminr\", package = \"laminr\")). Package Architecture: Get better understanding {laminr} works (vignette(\"architecture\", package = \"laminr\")). information specific modules functionalities, check following vignettes: Core Module: Learn core registries available LaminDB instance (vignette(\"module_core\", package = \"laminr\")). Bionty Module: Explore bionty module biology-related entities (vignette(\"module_bionty\", package = \"laminr\")).","code":""},{"path":"https://laminr.lamin.ai/index.html","id":"learn-more","dir":"","previous_headings":"","what":"Learn more","title":"Client for LaminDB","text":"information LaminDB features, check following resources: LaminDB website LaminDB documentation","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":null,"dir":"Reference","previous_headings":"","what":"Field — Field","title":"Field — Field","text":"field registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"active-bindings","dir":"Reference","previous_headings":"","what":"Active bindings","title":"Field — Field","text":"type (character(1)) type field. (list() NULL) value field. field_name (character(1)) field name. registry_name (character(1)) registry name. column_name (character(1)) column name. module_name (character(1)) module name. is_link_table (logical(1)) Whether field link table. relation_type (character(1) NULL) relation type. Can one : \"one--many\", \"many--one\", \"many--many\". related_field_name (character(1) NULL) related field name. related_registry_name (character(1) NULL) related registry name. related_module_name (character(1) NULL) related module name.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Field — Field","text":"Field$new() Field$print() Field$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Field — Field","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Field — Field","text":"","code":"Field$new( type, through, field_name, registry_name, column_name, module_name, is_link_table, relation_type, related_field_name, related_registry_name, related_module_name )"},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Field — Field","text":"type type field. Can one : \"IntegerField\", \"JSONField\", \"OneToOneField\", \"SmallIntegerField\", \"BigIntegerField\", \"AutoField\", \"BigAutoField\", \"BooleanField\", \"TextField\", \"DateTimeField\", \"ManyToManyField\", \"CharField\", \"ForeignKey\" relation type one--many, many--one, many--many, value named list keys 'left_key', 'right_key', 'link_table_name'. field_name name field registry. Example: \"name\". registry_name name registry. Example: \"user\". column_name name column database. Example: \"name\". module_name name module. Example: \"core\". is_link_table Whether field link table. relation_type type relation. Can NULL one : \"one--one\", \"many--one\", \"many--many\". related_field_name name related field related registry. Example: \"name\". related_registry_name name related registry. Example: \"user\". related_module_name name related module. Example: \"core\".","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Field — Field","text":"Print Field","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Field — Field","text":"","code":"Field$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Field — Field","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Field — Field","text":"Create string representation Field","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Field — Field","text":"","code":"Field$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Field — Field","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Field.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Field — Field","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":null,"dir":"Reference","previous_headings":"","what":"Instance — Instance","title":"Instance — Instance","text":"Connect LaminDB instance using connect() function. instance object provides access modules registries instance.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Instance — Instance","text":"Note connecting instance via connect(), receive \"richer\" version Instance class documented , providing direct access core registries additional modules. See vignette \"Package Architecture\" information: vignette(\"architecture\", package = \"laminr\").","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"active-bindings","dir":"Reference","previous_headings":"","what":"Active bindings","title":"Instance — Instance","text":"is_default (logical(1)) Whether default instance.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Instance — Instance","text":"Instance$new() Instance$get_modules() Instance$get_module() Instance$get_module_names() Instance$get_settings() Instance$get_api() Instance$get_py_lamin() Instance$track() Instance$finish() Instance$print() Instance$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Instance — Instance","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$new(settings, api, schema, is_default, py_lamin)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"settings settings instance api API instance schema schema instance is_default Logical, whether default instance py_lamin Python lamindb module object","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-modules-","dir":"Reference","previous_headings":"","what":"Method get_modules()","title":"Instance — Instance","text":"Get modules instance.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_modules()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"list Module objects.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-module-","dir":"Reference","previous_headings":"","what":"Method get_module()","title":"Instance — Instance","text":"Get module name.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_module(module_name)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"module_name name module.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"Module object.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-module-names-","dir":"Reference","previous_headings":"","what":"Method get_module_names()","title":"Instance — Instance","text":"Get names modules. Example: c(\"core\", \"bionty\").","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_module_names()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"character vector module names.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-settings-","dir":"Reference","previous_headings":"","what":"Method get_settings()","title":"Instance — Instance","text":"Get instance settings. Note: method intended internal use may removed future.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_settings()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"settings instance.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-api-","dir":"Reference","previous_headings":"","what":"Method get_api()","title":"Instance — Instance","text":"Get instance API. Note: method intended internal use may removed future.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_api()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"API instance.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-get-py-lamin-","dir":"Reference","previous_headings":"","what":"Method get_py_lamin()","title":"Instance — Instance","text":"Get Python lamindb module","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$get_py_lamin(check = FALSE, what = \"This functionality\")"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"check Logical, whether perform checks python module requested , used check messages","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"Python lamindb module.","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-track-","dir":"Reference","previous_headings":"","what":"Method track()","title":"Instance — Instance","text":"Start run tracked data lineage","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$track(transform = NULL, path = NULL)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"transform UID specifying data transformation path Path R script document track","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"details-1","dir":"Reference","previous_headings":"","what":"Details","title":"Instance — Instance","text":"Calling track() transform = NULL return UID, providing UID path start run","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-finish-","dir":"Reference","previous_headings":"","what":"Method finish()","title":"Instance — Instance","text":"Finish tracked run","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$finish()"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Instance — Instance","text":"Print Instance","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Instance — Instance","text":"Create string representation Instance","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Instance — Instance","text":"","code":"Instance$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Instance — Instance","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Instance — Instance","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Instance.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Instance — Instance","text":"","code":"if (FALSE) { # \\dontrun{ # Connect to an instance db <- connect(\"laminlabs/cellxgene\") # fetch an artifact artifact <- db$Artifact$get(\"KBW89Mf7IGcekja2hADu\") # describe the artifact artifact$describe() # view field artifact$id # load dataset artifact$load() } # }"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":null,"dir":"Reference","previous_headings":"","what":"Module — Module","title":"Module — Module","text":"LaminDB module containing one registries.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"active-bindings","dir":"Reference","previous_headings":"","what":"Active bindings","title":"Module — Module","text":"name (character(1)) Get name module.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Module — Module","text":"Module$new() Module$get_registries() Module$get_registry() Module$get_registry_names() Module$print() Module$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Module — Module","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$new(instance, api, module_name, module_schema)"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module — Module","text":"instance instance module belongs . api API instance. module_name name module. module_schema schema module.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-get-registries-","dir":"Reference","previous_headings":"","what":"Method get_registries()","title":"Module — Module","text":"Get registries module.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$get_registries()"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Module — Module","text":"list Registry objects.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-get-registry-","dir":"Reference","previous_headings":"","what":"Method get_registry()","title":"Module — Module","text":"Get registry name.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$get_registry(registry_name)"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module — Module","text":"registry_name name registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Module — Module","text":"Registry object.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-get-registry-names-","dir":"Reference","previous_headings":"","what":"Method get_registry_names()","title":"Module — Module","text":"Get names registries module. E.g. c(\"User\", \"Artifact\").","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$get_registry_names()"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Module — Module","text":"character vector registry names.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Module — Module","text":"Print Module","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module — Module","text":"style Logical, whether output styled using ANSI codes.","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Module — Module","text":"Create string representation Module","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Module — Module","text":"","code":"Module$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module — Module","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Module.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Module — Module","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":null,"dir":"Reference","previous_headings":"","what":"Record — Record","title":"Record — Record","text":"record registry.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Record — Record","text":"Record$new() Record$delete() Record$print() Record$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Record — Record","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Record — Record","text":"","code":"Record$new(instance, registry, api, data)"},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Record — Record","text":"instance instance record belongs . registry registry record belongs . api API instance. data data record.","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"method-delete-","dir":"Reference","previous_headings":"","what":"Method delete()","title":"Record — Record","text":"Delete Record","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Record — Record","text":"","code":"Record$delete(verbose = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Record — Record","text":"verbose Whether print details API call","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Record — Record","text":"TRUE invisibly deletion successful","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Record — Record","text":"Print Record","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Record — Record","text":"","code":"Record$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Record — Record","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Record — Record","text":"Create string representation Record","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Record — Record","text":"","code":"Record$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Record — Record","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Record.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Record — Record","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":null,"dir":"Reference","previous_headings":"","what":"Registry — Registry","title":"Registry — Registry","text":"registry module.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"active-bindings","dir":"Reference","previous_headings":"","what":"Active bindings","title":"Registry — Registry","text":"module (Module) instance registry belongs . name (character(1)) API instance. class_name (character(1)) class name registry. is_link_table (logical(1)) Whether registry link table.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"Registry — Registry","text":"Registry$new() Registry$get() Registry$df() Registry$from_df() Registry$from_path() Registry$from_anndata() Registry$get_fields() Registry$get_field() Registry$get_field_names() Registry$get_record_class() Registry$get_temporary_record_class() Registry$print() Registry$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"Registry — Registry","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$new(instance, module, api, registry_name, registry_schema)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"instance instance registry belongs . module module registry belongs . api API instance. registry_name name registry. registry_schema schema registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-","dir":"Reference","previous_headings":"","what":"Method get()","title":"Registry — Registry","text":"Get record ID UID.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get(id_or_uid, include_foreign_keys = FALSE, verbose = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"id_or_uid ID UID record. include_foreign_keys Logical, whether include foreign keys record. verbose Logical, whether print verbose output.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"Record object.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-df-","dir":"Reference","previous_headings":"","what":"Method df()","title":"Registry — Registry","text":"Get data frame summarising records registry","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$df(limit = 100, verbose = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"limit Maximum number records return verbose Boolean, whether print progress messages","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"data.frame containing available records","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-from-df-","dir":"Reference","previous_headings":"","what":"Method from_df()","title":"Registry — Registry","text":"Create record data frame","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$from_df(dataframe, key = NULL, description = NULL, run = NULL)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"dataframe data.frame create record key relative path within default storage description string describing record run Run object creates record","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Registry — Registry","text":"Creating records possible default instance, requires Python lamindb module implemented core Artifact registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-2","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"TemporaryRecord object containing new record. saved database temp_record$save() called.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-from-path-","dir":"Reference","previous_headings":"","what":"Method from_path()","title":"Registry — Registry","text":"Create record path","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-4","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$from_path(path, key = NULL, description = NULL, run = NULL)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-4","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"path Path create record key relative path within default storage description string describing record run Run object creates record","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"details-1","dir":"Reference","previous_headings":"","what":"Details","title":"Registry — Registry","text":"Creating records possible default instance, requires Python lamindb module implemented core Artifact registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-3","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"TemporaryRecord object containing new record. saved database temp_record$save() called.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-from-anndata-","dir":"Reference","previous_headings":"","what":"Method from_anndata()","title":"Registry — Registry","text":"Create record AnnData","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-5","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$from_anndata(adata, key = NULL, description = NULL, run = NULL)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-5","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"adata anndata::AnnData object create record key relative path within default storage description string describing record run Run object creates record","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"details-2","dir":"Reference","previous_headings":"","what":"Details","title":"Registry — Registry","text":"Creating records possible default instance, requires Python lamindb module implemented core Artifact registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-4","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"TemporaryRecord object containing new record. saved database temp_record$save() called.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-fields-","dir":"Reference","previous_headings":"","what":"Method get_fields()","title":"Registry — Registry","text":"Get fields registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-6","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_fields()"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-5","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"list Field objects.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-field-","dir":"Reference","previous_headings":"","what":"Method get_field()","title":"Registry — Registry","text":"Get field name.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-7","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_field(field_name)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-6","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"field_name name field.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-6","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"Field object.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-field-names-","dir":"Reference","previous_headings":"","what":"Method get_field_names()","title":"Registry — Registry","text":"Get field names registry.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-8","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_field_names()"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-7","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"character vector field names.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-record-class-","dir":"Reference","previous_headings":"","what":"Method get_record_class()","title":"Registry — Registry","text":"Get record class registry. Note: method intended internal use may removed future.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-9","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_record_class()"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-8","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"Record class.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-get-temporary-record-class-","dir":"Reference","previous_headings":"","what":"Method get_temporary_record_class()","title":"Registry — Registry","text":"Get temporary record class registry. Note: method intended internal use may removed future.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-10","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$get_temporary_record_class()"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-9","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"TemporaryRecord class.","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"Registry — Registry","text":"Print Registry","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-11","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-7","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-10","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"character vector","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"Registry — Registry","text":"Create string representation Registry","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"usage-12","dir":"Reference","previous_headings":"","what":"Usage","title":"Registry — Registry","text":"","code":"Registry$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"arguments-8","dir":"Reference","previous_headings":"","what":"Arguments","title":"Registry — Registry","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/Registry.html","id":"returns-11","dir":"Reference","previous_headings":"","what":"Returns","title":"Registry — Registry","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":null,"dir":"Reference","previous_headings":"","what":"RelatedRecords — RelatedRecords","title":"RelatedRecords — RelatedRecords","text":"container accessing records one--many many--many relationship.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"public-methods","dir":"Reference","previous_headings":"","what":"Public methods","title":"RelatedRecords — RelatedRecords","text":"RelatedRecords$new() RelatedRecords$df() RelatedRecords$print() RelatedRecords$to_string()","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"method-new-","dir":"Reference","previous_headings":"","what":"Method new()","title":"RelatedRecords — RelatedRecords","text":"Creates instance R6 class. class instantiated directly, rather connecting LaminDB instance using connect() function.","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"usage","dir":"Reference","previous_headings":"","what":"Usage","title":"RelatedRecords — RelatedRecords","text":"","code":"RelatedRecords$new(instance, registry, field, related_to, api)"},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"RelatedRecords — RelatedRecords","text":"instance instance records list belongs . registry registry records list belongs . field field associated records list. related_to ID UID parent records related . api API instance.","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"method-df-","dir":"Reference","previous_headings":"","what":"Method df()","title":"RelatedRecords — RelatedRecords","text":"Get data frame summarising records registry","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"usage-1","dir":"Reference","previous_headings":"","what":"Usage","title":"RelatedRecords — RelatedRecords","text":"","code":"RelatedRecords$df(limit = 100, verbose = FALSE)"},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"arguments-1","dir":"Reference","previous_headings":"","what":"Arguments","title":"RelatedRecords — RelatedRecords","text":"limit Maximum number records return verbose Boolean, whether print progress messages","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"returns","dir":"Reference","previous_headings":"","what":"Returns","title":"RelatedRecords — RelatedRecords","text":"data.frame containing available records","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"method-print-","dir":"Reference","previous_headings":"","what":"Method print()","title":"RelatedRecords — RelatedRecords","text":"Print RelatedRecords","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"usage-2","dir":"Reference","previous_headings":"","what":"Usage","title":"RelatedRecords — RelatedRecords","text":"","code":"RelatedRecords$print(style = TRUE)"},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"arguments-2","dir":"Reference","previous_headings":"","what":"Arguments","title":"RelatedRecords — RelatedRecords","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"method-to-string-","dir":"Reference","previous_headings":"","what":"Method to_string()","title":"RelatedRecords — RelatedRecords","text":"Create string representation RelatedRecords","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"usage-3","dir":"Reference","previous_headings":"","what":"Usage","title":"RelatedRecords — RelatedRecords","text":"","code":"RelatedRecords$to_string(style = FALSE)"},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"arguments-3","dir":"Reference","previous_headings":"","what":"Arguments","title":"RelatedRecords — RelatedRecords","text":"style Logical, whether output styled using ANSI codes","code":""},{"path":"https://laminr.lamin.ai/reference/RelatedRecords.html","id":"returns-1","dir":"Reference","previous_headings":"","what":"Returns","title":"RelatedRecords — RelatedRecords","text":"cli::cli_ansi_string style = TRUE character vector","code":""},{"path":"https://laminr.lamin.ai/reference/connect.html","id":null,"dir":"Reference","previous_headings":"","what":"Connect to instance — connect","title":"Connect to instance — connect","text":"Note prior connecting instance, need authenticate lamin login. slug provided, default instance loaded, set running lamin connect .","code":""},{"path":"https://laminr.lamin.ai/reference/connect.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Connect to instance — connect","text":"","code":"connect(slug = NULL)"},{"path":"https://laminr.lamin.ai/reference/connect.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Connect to instance — connect","text":"slug instance slug account_handle/instance_name URL. instance owned , suffices pass instance name. slug provided, default instance loaded.","code":""},{"path":"https://laminr.lamin.ai/reference/connect.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Connect to instance — connect","text":"","code":"if (FALSE) { # \\dontrun{ # first run 'lamin login' to authenticate instance <- connect(\"laminlabs/cellxgene\") instance } # }"},{"path":"https://laminr.lamin.ai/reference/laminr-package.html","id":null,"dir":"Reference","previous_headings":"","what":"laminr: Interface for 'LaminDB' — laminr-package","title":"laminr: Interface for 'LaminDB' — laminr-package","text":"Interact 'LaminDB'. 'LaminDB' open-source data framework biology. package allows query download data 'LaminDB' instances.","code":""},{"path":[]},{"path":"https://laminr.lamin.ai/reference/laminr-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"laminr: Interface for 'LaminDB' — laminr-package","text":"Maintainer: Robrecht Cannoodt robrecht@data-intuitive.com (ORCID) Authors: Luke Zappia luke@data-intuitive.com (ORCID) Data Intuitive info@data-intuitive.com Lamin Labs open-source@lamin.ai [copyright holder]","code":""}]