National Microbiome Data Collaborative Schema
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 cookiecutterproject.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
include
s 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/