blob: 73e05769ee27b16c217765c51180ad77b1063d80 [file] [log] [blame]
// Copyright 2016 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.genomics.v1;
import "google/api/annotations.proto";
import "google/protobuf/struct.proto";
option cc_enable_arenas = true;
option go_package = "google.golang.org/genproto/googleapis/genomics/v1;genomics";
option java_multiple_files = true;
option java_outer_classname = "ReadGroupProto";
option java_package = "com.google.genomics.v1";
// A read group is all the data that's processed the same way by the sequencer.
message ReadGroup {
message Experiment {
// A client-supplied library identifier; a library is a collection of DNA
// fragments which have been prepared for sequencing from a sample. This
// field is important for quality control as error or bias can be introduced
// during sample preparation.
string library_id = 1;
// The platform unit used as part of this experiment, for example
// flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
// @RG PU field in the SAM spec.
string platform_unit = 2;
// The sequencing center used as part of this experiment.
string sequencing_center = 3;
// The instrument model used as part of this experiment. This maps to
// sequencing technology in the SAM spec.
string instrument_model = 4;
}
message Program {
// The command line used to run this program.
string command_line = 1;
// The user specified locally unique ID of the program. Used along with
// `prevProgramId` to define an ordering between programs.
string id = 2;
// The display name of the program. This is typically the colloquial name of
// the tool used, for example 'bwa' or 'picard'.
string name = 3;
// The ID of the program run before this one.
string prev_program_id = 4;
// The version of the program run.
string version = 5;
}
// The server-generated read group ID, unique for all read groups.
// Note: This is different than the @RG ID field in the SAM spec. For that
// value, see [name][google.genomics.v1.ReadGroup.name].
string id = 1;
// The dataset to which this read group belongs.
string dataset_id = 2;
// The read group name. This corresponds to the @RG ID field in the SAM spec.
string name = 3;
// A free-form text description of this read group.
string description = 4;
// A client-supplied sample identifier for the reads in this read group.
string sample_id = 5;
// The experiment used to generate this read group.
Experiment experiment = 6;
// The predicted insert size of this read group. The insert size is the length
// the sequenced DNA fragment from end-to-end, not including the adapters.
int32 predicted_insert_size = 7;
// The programs used to generate this read group. Programs are always
// identical for all read groups within a read group set. For this reason,
// only the first read group in a returned set will have this field
// populated.
repeated Program programs = 10;
// The reference set the reads in this read group are aligned to.
string reference_set_id = 11;
// A map of additional read group information. This must be of the form
// map<string, string[]> (string key mapping to a list of string values).
map<string, google.protobuf.ListValue> info = 12;
}