All Downloads are FREE. Search and download functionalities are using the official Maven repository.

avro.metadata.avdl Maven / Gradle / Ivy

There is a newer version: 0.6.0a5
Show newest version
@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;

}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy