---
# System prepended metadata

title: '2022-02-28: matrix-api meeting'
tags: [' meeting', scverse]

---

---
tags: scverse, meeting
---

# 2022-02-28: matrix-api meeting

*Attendees:* Isaac, Ambrose, Alex, Aaron, Brian, Stavros, Isiah, Bruce

## Agenda

* Slides from matrix-api
* 

## Notes

* Intros
    * CZI – Ambrose, Brian, Bruce
    * TileDB – Stavros, Isiah, Aaron
* Slides from Ambrose
    * FOM working group
        * Syntax
            * What do you call the data
            * Semantics?
        * Representation
            * How should data be stored on memory and on disk
    * Goals
        * Make it easier to combine data
        * Make it easier to move data to tools
    * Challenges
        * Avoid language siloes
        * Best in class algorithms typically only in one ecosystem
        * Some data too large to serialize
    * Requirements
        * Open source/ governance
        * Built for big datasets (partial IO, composition, zero-copy where possible)
        * Multi language and tool support
        * Unopinionated about syntax
    * Idea:
        * Standardize on in-memory C++ memory API
* API proposal
    * sc_group, sc_dataset
    * Example two datasets
        * Features aren't shared
        * 
    * https://docs.google.com/presentation/d/15FDqx1oTPbVZRUFCv_cTcXSIINy4BR_AB79JaNSDipY/edit#slide=id.g1148612a40c_0_0


* Qs:
    * C++ API, how does that work for web based?
        * Proxy? So, a server?
        * WASM???
    * C++ <-> Zarr
        * Would have to skip the 
    * C++ is the intermediate
    * What is exposed from the C++ API?
        * Pass buffers, IO
        * Queries, selection (?), these would be optional


* Data portal
    * Accept AnnData, not Seurat
    * Want one format with right performance considerations
    * Want to get selection or not
* What is exposed at green layer
    * What is the minimum of what storage should implement
* How is cellxgene using this
    * collection of single datasets
    * statistics across the whole thing

* Asks from matrix-api
    * Can Danila look at their spec
    * Governance: sometime after proof of concept is shown

Isaac's Follow up Qs:

* How is the R ecosystem involved here?
* I'm curious how data is organized in cellxgene. Is it like having a group of anndatas? Isn't this achievable with hdf5, even virtually with links?
* How related is the C++ intermediate API to what zarr is trying to be?