avro.metadata.avdl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ga4gh Show documentation
Show all versions of ga4gh Show documentation
This repository implements GA4GH schemas
@namespace("org.ga4gh.models")
/**
This protocol defines metadata used in the other GA4GH protocols.
*/
protocol Metadata {
import idl "common.avdl";
/**
An experimental preparation of a sample.
*/
record Experiment {
/** The experiment UUID. This is globally unique. */
string id;
/** The name of the experiment. */
union { null, string } name = null;
/** A description of the experiment. */
union { null, string } description = null;
/**
The time at which this record was created.
Format: ISO 8601, YYYY-MM-DDTHH:MM:SS.SSS (e.g. 2015-02-10T00:03:42.123Z)
*/
string recordCreateTime;
/**
The time at which this record was last updated.
Format: ISO 8601, YYYY-MM-DDTHH:MM:SS.SSS (e.g. 2015-02-10T00:03:42.123Z)
*/
string recordUpdateTime;
/**
The time at which this experiment was performed.
Granularity here is variable (e.g. date only).
Format: ISO 8601, YYYY-MM-DDTHH:MM:SS (e.g. 2015-02-10T00:03:42)
*/
union { null, string } runTime = null;
/**
The molecule examined in this experiment. (e.g. genomics DNA, total RNA)
*/
union { null, string } molecule = null;
/**
The experiment technique or strategy applied to the sample.
(e.g. whole genome sequencing, RNA-seq, RIP-seq)
*/
union { null, string } strategy = null;
/**
The method used to enrich the target. (e.g. immunoprecipitation, size
fractionation, MNase digestion)
*/
union { null, string } selection = null;
/** The name of the library used as part of this experiment. */
union { null, string } library = null;
/** The configuration of sequenced reads. (e.g. Single or Paired) */
union { null, string } libraryLayout = null;
/**
The instrument model used as part of this experiment.
This maps to sequencing technology in BAM.
*/
union { null, string } instrumentModel;
/**
The data file generated by the instrument.
TODO: This isn't actually a file is it?
Should this be `instrumentData` instead?
*/
union { null, string } instrumentDataFile = null;
/** The sequencing center used as part of this experiment. */
union { null, string } sequencingCenter;
/**
The platform unit used as part of this experiment. This is a flowcell-barcode
or slide unique identifier.
*/
union { null, string } platformUnit = null;
/**
A map of additional experiment information.
*/
map> info = {};
}
/**
A Dataset is a collection of related data of multiple types.
Data providers decide how to group data into datasets.
See [Metadata API](../api/metadata.html) for a more detailed discussion.
*/
record Dataset {
/**
The dataset's id, locally unique to the server instance.
*/
string id;
/**
The name of the dataset.
*/
union { null, string } name = null;
/**
Additional, human-readable information on the dataset.
*/
union { null, string } description = null;
}
}