populationgenomics / metamist

Sample level metadata system
MIT License
1 stars 1 forks source link

Metamist

codecov

Introduction

Metamist is a database designed for storing de-identified -omics metadata.

Purpose

The project provides an interface to interact with the -omics database via the Python client as well as the GraphQL + HTTP APIs.

Features

High-Level Architecture

It comprises three key components:

  1. System-Versioned MariaDB Database: A robust database system for managing -omics metadata.

  2. Python Web API: This component is responsible for:

    • Managing permissions.
    • Storing frequently used queries.
    • Providing a GraphQL/HTTP API for efficient querying of the database.
  3. Installable Python Library: Wraps the Python Web API using the OpenAPI generator, facilitating easier interaction with the system.

Schema

As of Jan 15, 2024 this schema should reflect the data structure on the tables:

Database Structure

You can also find this at DbDiagram.

The codebase contains the following modules worth noting:

And metamist maintains two clients:

Installation and Running Locally

License

This project is licensed under the MIT License. You can see it in the LICENSE file in the root directory of this source tree.