GithubHelp home page GithubHelp logo

microbiomedata / nmdc-schema Goto Github PK

View Code? Open in Web Editor NEW
27.0 9.0 8.0 150.76 MB

National Microbiome Data Collaborative (NMDC) unified data model

Home Page: https://microbiomedata.github.io/nmdc-schema/

License: Creative Commons Zero v1.0 Universal

Makefile 2.15% Python 70.56% Jupyter Notebook 24.92% Jinja 1.00% Shell 0.02% Dockerfile 0.27% JavaScript 1.08%
nmdc microbiome standards linkml genomics proteomics metabolomics transcriptomics schema microbiomedata samples metadata mixs ecoinformatics fair-data

nmdc-schema's Introduction

National Microbiome Data Collaborative Schema

PyPI - License PyPI version

The mission of the NMDC is to build a FAIR microbiome data sharing network, through infrastructure, data standards, and community building, that addresses pressing challenges in environmental sciences. The NMDC platform is built on top of a unified data model (schema) that weaves together existing standards and ontologies to provide a systematic representation of all aspects of the microbiome data life cycle.

This repository mainly defines a LinkML schema for managing metadata from the National Microbiome Data Collaborative (NMDC).

Documentation

The documentation for the NMDC schema can be found at https://microbiomedata.github.io/nmdc-schema/. This documentation is aimed at consumers of NMDC data and metadata, it describes the different data elements used to describe studies, samples, sample processing, data generation, workflows, and downstream data objects.

The NMDC Introduction to metadata and ontologies primer provides some the context for this project.

The remainder of this page is primary for the internal maintainers and contributors to the NMDC schema

Repository Contents Overview

Some products that are maintained, and tasks orchestrated within this repository are:

  • Maintenance of LinkML YAML that specifies the NMDC Schema
  • Makefile targets for converting the schema from it's native LinkML YAML format to other artifact like JSON Schema
  • Build, deployment and distribution of the schema as a PyPI package
  • Automatic publishing of refreshed documentation upon change to the schema, accessible here

Maintaining the Schema

See DEVELOPMENT.md for instructions on setting up a development environment.

See MAINTAINERS.md for instructions on using that development environment to maintain the schema.

Makefiles

Makefiles are text files people can use to tell make (a computer program) how it can make things (or—in general—do things). In the world of Makefiles, those things are called targets.

This repo contains 2 Makefiles:

  • Makefile, based on the generic Makefile from the LinkML cookiecutter
  • project.Makefile, which contains targets that are specific to this project

Here's an example of using make in this repo:

# Deletes all files in `examples/output`.
make examples-clean

The examples-clean target is defined in the project.Makefile. In this repo, the Makefile includes the project.Makefile. As a result, make has access to the targets defined in both files.

Data downloads

The NMDC's metadata about biosamples, studies, bioinformatics workflows, etc. can be obtained from our nmdc-runtime API. Try entering "biosample_set" or "study_set" into the collection_name box at https://api.microbiomedata.org/docs#/metadata/list_from_collection_nmdcschema__collection_name__get

Or use the API programmatically! Note that some collections are large, so the responses are paged.

You can learn about the other available collections at https://microbiomedata.github.io/nmdc-schema/Database/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.