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).
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
Some products that are maintained, and tasks orchestrated within this repository are:
- Maintenance of LinkML YAML that specifies the NMDC Schema
- src/schema/nmdc.yaml
- and various other YAML schemas imported by it, like prov.yaml, annotation.yaml, etc. all which you can find in the src/schema folder
- 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
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 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 theproject.Makefile
. In this repo, theMakefile
include
s theproject.Makefile
. As a result,make
has access to the targets defined in both files.
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/