-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.qmd
129 lines (89 loc) · 2.24 KB
/
README.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
---
title: LaminDB interface in R
format: gfm
---
This package provides an interface to the LaminDB database. It allows you to query the database and download data from it.
## Installation
You can install the development version from GitHub with:
```R
# install.packages("remotes")
remotes::install_github("laminlabs/laminr")
```
## Set up environment
For this package to work, we first need to run the following commands in the terminal:
```bash
pip install lamindb
lamin load laminlabs/cellxgene
```
This should create an `.env` file at `~/.lamin/current_instance.env` and `~/.lamin/instance--laminlabs--cellxgene.env` containing (amongst others) the following data:
lamindb_instance_id=0123456789abcdefghijklmnopqrstuv
lamindb_instance_owner=laminlabs
lamindb_instance_name=cellxgene
lamindb_instance_schema_id=0123456789abcdefghijklmnopqrstuv
lamindb_instance_api_url=https://us-west-2.api.lamin.ai
:::{.callout-note}
The `.env` files don't store the `schema_id` and `api_url` yet, so instead we pass these settings via `options(lamindb_current_instance = ...)` (see below).
:::
## Usage
```{r setup}
library(laminr)
```
### Connect to a LaminDB instance
``` r
options(
lamindb_current_instance = list(
owner = "lamin",
name = "example",
id = "0123456789abcdefghijklmnopqrstuv",
api_url = "https://us-west-2.api.lamin.ai",
schema_id = "0123456789abcdefghijklmnopqrstuv"
)
)
db <- laminr::connect()
```
```{r connect2, echo=FALSE}
db <- laminr::connect()
```
### Print a LaminDB instance
```{r print_instance}
db
```
<!--
### Print the Artifact class
```{r print_class}
db$Artifact
```
-->
### Get artifact
```{r get_artifact}
artifact <- db$Artifact$get("KBW89Mf7IGcekja2hADu")
```
### Print artifact
```{r print_artifact}
artifact
```
### Print simple fields
```{r print_simple_fields}
artifact$id
artifact$uid
artifact$key
```
### Print related fields
```{r print_related_fields}
artifact$storage
artifact$created_by
```
### Cache artifact
:::{.callout-note}
Only S3 storage is supported at the moment.
:::
```{r cache_artifact}
artifact$cache()
```
### Load artifact
:::{.callout-note}
Only S3 storage and AnnData accessors are supported at the moment.
:::
```{r load_artifact}
artifact$load()
```