Skip to content

kanaverse/bakana-remotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Remote readers for bakana

Unit tests Documentation NPM

Overview

This package provides a variety of remote readers for the bakana package, allowing us to perform scRNA-seq analyses on datasets from other sources. Currently we support:

  • takane-formatted -SummarizedExperiment objects in the gypsum bucket.
  • takane-formatted -SummarizedExperiment objects via the SewerRat API.
  • Selected count matrices and row/column DataFrames from ExperimentHub. (This is soft-deprecated as the datasets are a subset of those provided via gypsum.)

Quick start

Usage is as simple as:

import * as remotes from "bakana-remotes";
import * as bakana from "bakana";

// Add desired readers for unserialization.
bakana.availableReaders["gypsum"] = remotes.GypsumDataset;

For gypsum-sourced datasets, we can construct the following object, which uses the Zeisel brain single-cell dataset from 2015:

let gyp = new remotes.GypsumDataset("scRNAseq", "zeisel-brain-2015", "2023-12-14");

Similarly, SewerRat-sourced datasets can be pulled from shared filesystems (e.g., on HPCs) using the following:

let sewer = new remotes.SewerRatDataset(
    "/path/to/dataset", 
    url = "https://somewhere.edu/sewerrat"
);

These objects can then be used in an entry of datasets in bakana.runAnalysis().

We also provide the equivalent Result objects, if users just want to read existing analysis results:

let gyp2 = new remotes.GypsumDataset(
    "scRNAseq", 
    "ernst-spermatogenesis-2019", 
    "2023-12-21",
    path = "emptydrop"
);

let sewer2 = new remotes.SewerRatResult(
    "/path/to/result", 
    url = "https://somewhere.edu/sewerrat"
);

Check out the API documentation for more details.

Links

See the bakana documentation for more details on how to create a custom Dataset reader. Implementations of readers for other databases are welcome.