syntax = "proto3"; package ga4ghmetadata; import "ga4gh-metadata/shared.proto"; // An experimental preparation of a sample. message Experiment { // The experiment ID string id = 1; // The name of the experiment. string name = 2; // A description of the experiment. string description = 3; // The time at which the record of this experiment was last updated. // Format: ISO 8601, YYYY-MM-DDTHH:MM:SS.SSS (e.g. 2015-02-10T00:03:42.123Z) string updated = 5; // 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) string run_time = 6; // The molecule examined in this experiment. (e.g. genomics DNA, total RNA) string molecule = 7; // The experiment technique or strategy applied to the sample. // (e.g. whole genome sequencing, RNA-seq, RIP-seq) string strategy = 8; // The method used to enrich the target. (e.g. immunoprecipitation, size // fractionation, MNase digestion) string selection = 9; // The name of the library used as part of this experiment. string library = 10; // The configuration of sequenced reads. (e.g. Single or Paired). string library_layout = 11; // The instrument model used as part of this experiment. // This maps to sequencing technology in BAM. string instrument_model = 12; // The data file generated by the instrument. // TODO: This isn't actually a file is it? // Should this be `instrumentData` instead? string instrument_data_file = 13; // Name of the laboratory where this experiment was performed. string sequencing_center = 14; // The address coded as geolocation object of the laboratory. GeoLocation location = 18; // The platform unit used as part of this experiment. This is a // flowcell-barcode // or slide unique identifier. string platform_unit = 15; // A map of additional experiment information. Attributes attributes = 17; } // An analysis contains an interpretation of one or several experiments. (e.g. // SNVs, copy number variations, methylation status) together with information // about the methodology used. message Analysis { // Formats of id | name | description | accessions are described in the // documentation on general attributes and formats. string id = 1; string name = 2; string description = 3; // The time at which this record was created, in ISO 8601 format. string created = 4; // The time at which this record was last updated, in ISO 8601 format. string updated = 5; // The type of analysis. string type = 6; // The software run to generate this analysis. repeated string software = 7; // A map of additional analysis information. Attributes attributes = 9; }