16
16
if TYPE_CHECKING :
17
17
from typing import Any
18
18
19
+ import lamindb as ln
19
20
import pandas as pd
21
+ import tiledbsoma as soma
20
22
21
23
22
- @dependencies ("lamindb" )
23
24
class MappedCollectionDataModule (LightningDataModule ):
24
- import lamindb as ln
25
-
25
+ @dependencies ("lamindb" )
26
26
def __init__ (
27
27
self ,
28
28
collection : ln .Collection ,
@@ -353,18 +353,15 @@ def __len__(self):
353
353
return len (self .dataloader )
354
354
355
355
356
- @dependencies ("tiledbsoma" )
357
- @dependencies ("tiledbsoma_ml" )
358
356
class TileDBDataModule (LightningDataModule ):
359
- import tiledbsoma as soma
360
-
361
357
"""PyTorch Lightning DataModule for training scVI models from SOMA data
362
358
363
359
Wraps a `tiledbsoma_ml.ExperimentDataset` to stream the results of a SOMA
364
360
`ExperimentAxisQuery`, exposing a `DataLoader` to generate tensors ready for scVI model
365
361
training. Also handles deriving the scVI batch label as a tuple of obs columns.
366
362
"""
367
363
364
+ @dependencies ("tiledbsoma" )
368
365
def __init__ (
369
366
self ,
370
367
query : soma .ExperimentAxisQuery ,
@@ -503,6 +500,7 @@ def __init__(
503
500
accelerator = accelerator , devices = device , return_device = "torch"
504
501
)
505
502
503
+ @dependencies ("tiledbsoma_ml" )
506
504
def setup (self , stage : str | None = None ) -> None :
507
505
# Instantiate the ExperimentDataset with the provided args and kwargs.
508
506
from tiledbsoma_ml import ExperimentDataset
@@ -539,6 +537,7 @@ def setup(self, stage: str | None = None) -> None:
539
537
else :
540
538
self .val_dataset = None
541
539
540
+ @dependencies ("tiledbsoma_ml" )
542
541
def train_dataloader (self ) -> DataLoader :
543
542
from tiledbsoma_ml import experiment_dataloader
544
543
@@ -547,6 +546,7 @@ def train_dataloader(self) -> DataLoader:
547
546
** self .dataloader_kwargs ,
548
547
)
549
548
549
+ @dependencies ("tiledbsoma_ml" )
550
550
def val_dataloader (self ) -> DataLoader :
551
551
from tiledbsoma_ml import experiment_dataloader
552
552
0 commit comments