mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2024-11-14 23:26:18 +00:00
904 lines
33 KiB
Protocol Buffer
904 lines
33 KiB
Protocol Buffer
// 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/longrunning/operations.proto";
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/field_mask.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 = "VariantsProto";
|
|
option java_package = "com.google.genomics.v1";
|
|
|
|
|
|
service StreamingVariantService {
|
|
// Returns a stream of all the variants matching the search request, ordered
|
|
// by reference name, position, and ID.
|
|
rpc StreamVariants(StreamVariantsRequest) returns (stream StreamVariantsResponse) {
|
|
option (google.api.http) = { post: "/v1/variants:stream" body: "*" };
|
|
}
|
|
}
|
|
|
|
service VariantServiceV1 {
|
|
// Creates variant data by asynchronously importing the provided information.
|
|
//
|
|
// For the definitions of variant sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
//
|
|
// The variants for import will be merged with any existing variant that
|
|
// matches its reference sequence, start, end, reference bases, and
|
|
// alternative bases. If no such variant exists, a new one will be created.
|
|
//
|
|
// When variants are merged, the call information from the new variant
|
|
// is added to the existing variant, and Variant info fields are merged
|
|
// as specified in
|
|
// [infoMergeConfig][google.genomics.v1.ImportVariantsRequest.info_merge_config].
|
|
// As a special case, for single-sample VCF files, QUAL and FILTER fields will
|
|
// be moved to the call level; these are sometimes interpreted in a
|
|
// call-specific context.
|
|
// Imported VCF headers are appended to the metadata already in a variant set.
|
|
rpc ImportVariants(ImportVariantsRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = { post: "/v1/variants:import" body: "*" };
|
|
}
|
|
|
|
// Creates a new variant set.
|
|
//
|
|
// For the definitions of variant sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
//
|
|
// The provided variant set must have a valid `datasetId` set - all other
|
|
// fields are optional. Note that the `id` field will be ignored, as this is
|
|
// assigned by the server.
|
|
rpc CreateVariantSet(CreateVariantSetRequest) returns (VariantSet) {
|
|
option (google.api.http) = { post: "/v1/variantsets" body: "variant_set" };
|
|
}
|
|
|
|
// Exports variant set data to an external destination.
|
|
//
|
|
// For the definitions of variant sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc ExportVariantSet(ExportVariantSetRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = { post: "/v1/variantsets/{variant_set_id}:export" body: "*" };
|
|
}
|
|
|
|
// Gets a variant set by ID.
|
|
//
|
|
// For the definitions of variant sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc GetVariantSet(GetVariantSetRequest) returns (VariantSet) {
|
|
option (google.api.http) = { get: "/v1/variantsets/{variant_set_id}" };
|
|
}
|
|
|
|
// Returns a list of all variant sets matching search criteria.
|
|
//
|
|
// For the definitions of variant sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
//
|
|
// Implements
|
|
// [GlobalAllianceApi.searchVariantSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L49).
|
|
rpc SearchVariantSets(SearchVariantSetsRequest) returns (SearchVariantSetsResponse) {
|
|
option (google.api.http) = { post: "/v1/variantsets/search" body: "*" };
|
|
}
|
|
|
|
// Deletes a variant set including all variants, call sets, and calls within.
|
|
// This is not reversible.
|
|
//
|
|
// For the definitions of variant sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc DeleteVariantSet(DeleteVariantSetRequest) returns (google.protobuf.Empty) {
|
|
option (google.api.http) = { delete: "/v1/variantsets/{variant_set_id}" };
|
|
}
|
|
|
|
// Updates a variant set using patch semantics.
|
|
//
|
|
// For the definitions of variant sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc UpdateVariantSet(UpdateVariantSetRequest) returns (VariantSet) {
|
|
option (google.api.http) = { patch: "/v1/variantsets/{variant_set_id}" body: "variant_set" };
|
|
}
|
|
|
|
// Gets a list of variants matching the criteria.
|
|
//
|
|
// For the definitions of variants and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
//
|
|
// Implements
|
|
// [GlobalAllianceApi.searchVariants](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L126).
|
|
rpc SearchVariants(SearchVariantsRequest) returns (SearchVariantsResponse) {
|
|
option (google.api.http) = { post: "/v1/variants/search" body: "*" };
|
|
}
|
|
|
|
// Creates a new variant.
|
|
//
|
|
// For the definitions of variants and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc CreateVariant(CreateVariantRequest) returns (Variant) {
|
|
option (google.api.http) = { post: "/v1/variants" body: "variant" };
|
|
}
|
|
|
|
// Updates a variant.
|
|
//
|
|
// For the definitions of variants and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
//
|
|
// This method supports patch semantics. Returns the modified variant without
|
|
// its calls.
|
|
rpc UpdateVariant(UpdateVariantRequest) returns (Variant) {
|
|
option (google.api.http) = { patch: "/v1/variants/{variant_id}" body: "variant" };
|
|
}
|
|
|
|
// Deletes a variant.
|
|
//
|
|
// For the definitions of variants and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc DeleteVariant(DeleteVariantRequest) returns (google.protobuf.Empty) {
|
|
option (google.api.http) = { delete: "/v1/variants/{variant_id}" };
|
|
}
|
|
|
|
// Gets a variant by ID.
|
|
//
|
|
// For the definitions of variants and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc GetVariant(GetVariantRequest) returns (Variant) {
|
|
option (google.api.http) = { get: "/v1/variants/{variant_id}" };
|
|
}
|
|
|
|
// Merges the given variants with existing variants.
|
|
//
|
|
// For the definitions of variants and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
//
|
|
// Each variant will be
|
|
// merged with an existing variant that matches its reference sequence,
|
|
// start, end, reference bases, and alternative bases. If no such variant
|
|
// exists, a new one will be created.
|
|
//
|
|
// When variants are merged, the call information from the new variant
|
|
// is added to the existing variant. Variant info fields are merged as
|
|
// specified in the
|
|
// [infoMergeConfig][google.genomics.v1.MergeVariantsRequest.info_merge_config]
|
|
// field of the MergeVariantsRequest.
|
|
//
|
|
// Please exercise caution when using this method! It is easy to introduce
|
|
// mistakes in existing variants and difficult to back out of them. For
|
|
// example,
|
|
// suppose you were trying to merge a new variant with an existing one and
|
|
// both
|
|
// variants contain calls that belong to callsets with the same callset ID.
|
|
//
|
|
// // Existing variant - irrelevant fields trimmed for clarity
|
|
// {
|
|
// "variantSetId": "10473108253681171589",
|
|
// "referenceName": "1",
|
|
// "start": "10582",
|
|
// "referenceBases": "G",
|
|
// "alternateBases": [
|
|
// "A"
|
|
// ],
|
|
// "calls": [
|
|
// {
|
|
// "callSetId": "10473108253681171589-0",
|
|
// "callSetName": "CALLSET0",
|
|
// "genotype": [
|
|
// 0,
|
|
// 1
|
|
// ],
|
|
// }
|
|
// ]
|
|
// }
|
|
//
|
|
// // New variant with conflicting call information
|
|
// {
|
|
// "variantSetId": "10473108253681171589",
|
|
// "referenceName": "1",
|
|
// "start": "10582",
|
|
// "referenceBases": "G",
|
|
// "alternateBases": [
|
|
// "A"
|
|
// ],
|
|
// "calls": [
|
|
// {
|
|
// "callSetId": "10473108253681171589-0",
|
|
// "callSetName": "CALLSET0",
|
|
// "genotype": [
|
|
// 1,
|
|
// 1
|
|
// ],
|
|
// }
|
|
// ]
|
|
// }
|
|
//
|
|
// The resulting merged variant would overwrite the existing calls with those
|
|
// from the new variant:
|
|
//
|
|
// {
|
|
// "variantSetId": "10473108253681171589",
|
|
// "referenceName": "1",
|
|
// "start": "10582",
|
|
// "referenceBases": "G",
|
|
// "alternateBases": [
|
|
// "A"
|
|
// ],
|
|
// "calls": [
|
|
// {
|
|
// "callSetId": "10473108253681171589-0",
|
|
// "callSetName": "CALLSET0",
|
|
// "genotype": [
|
|
// 1,
|
|
// 1
|
|
// ],
|
|
// }
|
|
// ]
|
|
// }
|
|
//
|
|
// This may be the desired outcome, but it is up to the user to determine if
|
|
// if that is indeed the case.
|
|
rpc MergeVariants(MergeVariantsRequest) returns (google.protobuf.Empty) {
|
|
option (google.api.http) = { post: "/v1/variants:merge" body: "*" };
|
|
}
|
|
|
|
// Gets a list of call sets matching the criteria.
|
|
//
|
|
// For the definitions of call sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
//
|
|
// Implements
|
|
// [GlobalAllianceApi.searchCallSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L178).
|
|
rpc SearchCallSets(SearchCallSetsRequest) returns (SearchCallSetsResponse) {
|
|
option (google.api.http) = { post: "/v1/callsets/search" body: "*" };
|
|
}
|
|
|
|
// Creates a new call set.
|
|
//
|
|
// For the definitions of call sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc CreateCallSet(CreateCallSetRequest) returns (CallSet) {
|
|
option (google.api.http) = { post: "/v1/callsets" body: "call_set" };
|
|
}
|
|
|
|
// Updates a call set.
|
|
//
|
|
// For the definitions of call sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
//
|
|
// This method supports patch semantics.
|
|
rpc UpdateCallSet(UpdateCallSetRequest) returns (CallSet) {
|
|
option (google.api.http) = { patch: "/v1/callsets/{call_set_id}" body: "call_set" };
|
|
}
|
|
|
|
// Deletes a call set.
|
|
//
|
|
// For the definitions of call sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc DeleteCallSet(DeleteCallSetRequest) returns (google.protobuf.Empty) {
|
|
option (google.api.http) = { delete: "/v1/callsets/{call_set_id}" };
|
|
}
|
|
|
|
// Gets a call set by ID.
|
|
//
|
|
// For the definitions of call sets and other genomics resources, see
|
|
// [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
rpc GetCallSet(GetCallSetRequest) returns (CallSet) {
|
|
option (google.api.http) = { get: "/v1/callsets/{call_set_id}" };
|
|
}
|
|
}
|
|
|
|
// Metadata describes a single piece of variant call metadata.
|
|
// These data include a top level key and either a single value string (value)
|
|
// or a list of key-value pairs (info.)
|
|
// Value and info are mutually exclusive.
|
|
message VariantSetMetadata {
|
|
enum Type {
|
|
TYPE_UNSPECIFIED = 0;
|
|
|
|
INTEGER = 1;
|
|
|
|
FLOAT = 2;
|
|
|
|
FLAG = 3;
|
|
|
|
CHARACTER = 4;
|
|
|
|
STRING = 5;
|
|
}
|
|
|
|
// The top-level key.
|
|
string key = 1;
|
|
|
|
// The value field for simple metadata
|
|
string value = 2;
|
|
|
|
// User-provided ID field, not enforced by this API.
|
|
// Two or more pieces of structured metadata with identical
|
|
// id and key fields are considered equivalent.
|
|
string id = 4;
|
|
|
|
// The type of data. Possible types include: Integer, Float,
|
|
// Flag, Character, and String.
|
|
Type type = 5;
|
|
|
|
// The number of values that can be included in a field described by this
|
|
// metadata.
|
|
string number = 8;
|
|
|
|
// A textual description of this metadata.
|
|
string description = 7;
|
|
|
|
// Remaining structured metadata key-value pairs. This must be of the form
|
|
// map<string, string[]> (string key mapping to a list of string values).
|
|
map<string, google.protobuf.ListValue> info = 3;
|
|
}
|
|
|
|
// A variant set is a collection of call sets and variants. It contains summary
|
|
// statistics of those contents. A variant set belongs to a dataset.
|
|
//
|
|
// For more genomics resource definitions, see [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
message VariantSet {
|
|
// The dataset to which this variant set belongs.
|
|
string dataset_id = 1;
|
|
|
|
// The server-generated variant set ID, unique across all variant sets.
|
|
string id = 2;
|
|
|
|
// The reference set to which the variant set is mapped. The reference set
|
|
// describes the alignment provenance of the variant set, while the
|
|
// `referenceBounds` describe the shape of the actual variant data. The
|
|
// reference set's reference names are a superset of those found in the
|
|
// `referenceBounds`.
|
|
//
|
|
// For example, given a variant set that is mapped to the GRCh38 reference set
|
|
// and contains a single variant on reference 'X', `referenceBounds` would
|
|
// contain only an entry for 'X', while the associated reference set
|
|
// enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc.
|
|
string reference_set_id = 6;
|
|
|
|
// A list of all references used by the variants in a variant set
|
|
// with associated coordinate upper bounds for each one.
|
|
repeated ReferenceBound reference_bounds = 5;
|
|
|
|
// The metadata associated with this variant set.
|
|
repeated VariantSetMetadata metadata = 4;
|
|
|
|
// User-specified, mutable name.
|
|
string name = 7;
|
|
|
|
// A textual description of this variant set.
|
|
string description = 8;
|
|
}
|
|
|
|
// A variant represents a change in DNA sequence relative to a reference
|
|
// sequence. For example, a variant could represent a SNP or an insertion.
|
|
// Variants belong to a variant set.
|
|
//
|
|
// For more genomics resource definitions, see [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
//
|
|
// Each of the calls on a variant represent a determination of genotype with
|
|
// respect to that variant. For example, a call might assign probability of 0.32
|
|
// to the occurrence of a SNP named rs1234 in a sample named NA12345. A call
|
|
// belongs to a call set, which contains related calls typically from one
|
|
// sample.
|
|
message Variant {
|
|
// The ID of the variant set this variant belongs to.
|
|
string variant_set_id = 15;
|
|
|
|
// The server-generated variant ID, unique across all variants.
|
|
string id = 2;
|
|
|
|
// Names for the variant, for example a RefSNP ID.
|
|
repeated string names = 3;
|
|
|
|
// The date this variant was created, in milliseconds from the epoch.
|
|
int64 created = 12;
|
|
|
|
// The reference on which this variant occurs.
|
|
// (such as `chr20` or `X`)
|
|
string reference_name = 14;
|
|
|
|
// The position at which this variant occurs (0-based).
|
|
// This corresponds to the first base of the string of reference bases.
|
|
int64 start = 16;
|
|
|
|
// The end position (0-based) of this variant. This corresponds to the first
|
|
// base after the last base in the reference allele. So, the length of
|
|
// the reference allele is (end - start). This is useful for variants
|
|
// that don't explicitly give alternate bases, for example large deletions.
|
|
int64 end = 13;
|
|
|
|
// The reference bases for this variant. They start at the given
|
|
// position.
|
|
string reference_bases = 6;
|
|
|
|
// The bases that appear instead of the reference bases.
|
|
repeated string alternate_bases = 7;
|
|
|
|
// A measure of how likely this variant is to be real.
|
|
// A higher value is better.
|
|
double quality = 8;
|
|
|
|
// A list of filters (normally quality filters) this variant has failed.
|
|
// `PASS` indicates this variant has passed all filters.
|
|
repeated string filter = 9;
|
|
|
|
// A map of additional variant 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 = 10;
|
|
|
|
// The variant calls for this particular variant. Each one represents the
|
|
// determination of genotype with respect to this variant.
|
|
repeated VariantCall calls = 11;
|
|
}
|
|
|
|
// A call represents the determination of genotype with respect to a particular
|
|
// variant. It may include associated information such as quality and phasing.
|
|
// For example, a call might assign a probability of 0.32 to the occurrence of
|
|
// a SNP named rs1234 in a call set with the name NA12345.
|
|
message VariantCall {
|
|
// The ID of the call set this variant call belongs to.
|
|
string call_set_id = 8;
|
|
|
|
// The name of the call set this variant call belongs to.
|
|
string call_set_name = 9;
|
|
|
|
// The genotype of this variant call. Each value represents either the value
|
|
// of the `referenceBases` field or a 1-based index into
|
|
// `alternateBases`. If a variant had a `referenceBases`
|
|
// value of `T` and an `alternateBases`
|
|
// value of `["A", "C"]`, and the `genotype` was
|
|
// `[2, 1]`, that would mean the call
|
|
// represented the heterozygous value `CA` for this variant.
|
|
// If the `genotype` was instead `[0, 1]`, the
|
|
// represented value would be `TA`. Ordering of the
|
|
// genotype values is important if the `phaseset` is present.
|
|
// If a genotype is not called (that is, a `.` is present in the
|
|
// GT string) -1 is returned.
|
|
repeated int32 genotype = 7;
|
|
|
|
// If this field is present, this variant call's genotype ordering implies
|
|
// the phase of the bases and is consistent with any other variant calls in
|
|
// the same reference sequence which have the same phaseset value.
|
|
// When importing data from VCF, if the genotype data was phased but no
|
|
// phase set was specified this field will be set to `*`.
|
|
string phaseset = 5;
|
|
|
|
// The genotype likelihoods for this variant call. Each array entry
|
|
// represents how likely a specific genotype is for this call. The value
|
|
// ordering is defined by the GL tag in the VCF spec.
|
|
// If Phred-scaled genotype likelihood scores (PL) are available and
|
|
// log10(P) genotype likelihood scores (GL) are not, PL scores are converted
|
|
// to GL scores. If both are available, PL scores are stored in `info`.
|
|
repeated double genotype_likelihood = 6;
|
|
|
|
// A map of additional variant call 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 = 2;
|
|
}
|
|
|
|
// A call set is a collection of variant calls, typically for one sample. It
|
|
// belongs to a variant set.
|
|
//
|
|
// For more genomics resource definitions, see [Fundamentals of Google
|
|
// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
|
|
message CallSet {
|
|
// The server-generated call set ID, unique across all call sets.
|
|
string id = 1;
|
|
|
|
// The call set name.
|
|
string name = 2;
|
|
|
|
// The sample ID this call set corresponds to.
|
|
string sample_id = 7;
|
|
|
|
// The IDs of the variant sets this call set belongs to. This field must
|
|
// have exactly length one, as a call set belongs to a single variant set.
|
|
// This field is repeated for compatibility with the
|
|
// [GA4GH 0.5.1
|
|
// API](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variants.avdl#L76).
|
|
repeated string variant_set_ids = 6;
|
|
|
|
// The date this call set was created in milliseconds from the epoch.
|
|
int64 created = 5;
|
|
|
|
// A map of additional call set 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 = 4;
|
|
}
|
|
|
|
// ReferenceBound records an upper bound for the starting coordinate of
|
|
// variants in a particular reference.
|
|
message ReferenceBound {
|
|
// The name of the reference associated with this reference bound.
|
|
string reference_name = 1;
|
|
|
|
// An upper bound (inclusive) on the starting coordinate of any
|
|
// variant in the reference sequence.
|
|
int64 upper_bound = 2;
|
|
}
|
|
|
|
// The variant data import request.
|
|
message ImportVariantsRequest {
|
|
enum Format {
|
|
FORMAT_UNSPECIFIED = 0;
|
|
|
|
// VCF (Variant Call Format). The VCF files may be gzip compressed. gVCF is
|
|
// also supported.
|
|
FORMAT_VCF = 1;
|
|
|
|
// Complete Genomics masterVarBeta format. The masterVarBeta files may
|
|
// be bzip2 compressed.
|
|
FORMAT_COMPLETE_GENOMICS = 2;
|
|
}
|
|
|
|
// Required. The variant set to which variant data should be imported.
|
|
string variant_set_id = 1;
|
|
|
|
// A list of URIs referencing variant files in Google Cloud Storage. URIs can
|
|
// include wildcards [as described
|
|
// here](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames).
|
|
// Note that recursive wildcards ('**') are not supported.
|
|
repeated string source_uris = 2;
|
|
|
|
// The format of the variant data being imported. If unspecified, defaults to
|
|
// to `VCF`.
|
|
Format format = 3;
|
|
|
|
// Convert reference names to the canonical representation.
|
|
// hg19 haploytypes (those reference names containing "_hap")
|
|
// are not modified in any way.
|
|
// All other reference names are modified according to the following rules:
|
|
// The reference name is capitalized.
|
|
// The "chr" prefix is dropped for all autosomes and sex chromsomes.
|
|
// For example "chr17" becomes "17" and "chrX" becomes "X".
|
|
// All mitochondrial chromosomes ("chrM", "chrMT", etc) become "MT".
|
|
bool normalize_reference_names = 5;
|
|
|
|
// A mapping between info field keys and the InfoMergeOperations to
|
|
// be performed on them. This is plumbed down to the MergeVariantRequests
|
|
// generated by the resulting import job.
|
|
map<string, InfoMergeOperation> info_merge_config = 6;
|
|
}
|
|
|
|
// The variant data import response.
|
|
message ImportVariantsResponse {
|
|
// IDs of the call sets created during the import.
|
|
repeated string call_set_ids = 1;
|
|
}
|
|
|
|
// The CreateVariantSet request
|
|
message CreateVariantSetRequest {
|
|
// Required. The variant set to be created. Must have a valid `datasetId`.
|
|
VariantSet variant_set = 1;
|
|
}
|
|
|
|
// The variant data export request.
|
|
message ExportVariantSetRequest {
|
|
enum Format {
|
|
FORMAT_UNSPECIFIED = 0;
|
|
|
|
// Export the data to Google BigQuery.
|
|
FORMAT_BIGQUERY = 1;
|
|
}
|
|
|
|
// Required. The ID of the variant set that contains variant data which
|
|
// should be exported. The caller must have READ access to this variant set.
|
|
string variant_set_id = 1;
|
|
|
|
// If provided, only variant call information from the specified call sets
|
|
// will be exported. By default all variant calls are exported.
|
|
repeated string call_set_ids = 2;
|
|
|
|
// Required. The Google Cloud project ID that owns the destination
|
|
// BigQuery dataset. The caller must have WRITE access to this project. This
|
|
// project will also own the resulting export job.
|
|
string project_id = 3;
|
|
|
|
// The format for the exported data.
|
|
Format format = 4;
|
|
|
|
// Required. The BigQuery dataset to export data to. This dataset must already
|
|
// exist. Note that this is distinct from the Genomics concept of "dataset".
|
|
string bigquery_dataset = 5;
|
|
|
|
// Required. The BigQuery table to export data to.
|
|
// If the table doesn't exist, it will be created. If it already exists, it
|
|
// will be overwritten.
|
|
string bigquery_table = 6;
|
|
}
|
|
|
|
// The variant set request.
|
|
message GetVariantSetRequest {
|
|
// Required. The ID of the variant set.
|
|
string variant_set_id = 1;
|
|
}
|
|
|
|
// The search variant sets request.
|
|
message SearchVariantSetsRequest {
|
|
// Exactly one dataset ID must be provided here. Only variant sets which
|
|
// belong to this dataset will be returned.
|
|
repeated string dataset_ids = 1;
|
|
|
|
// The continuation token, which is used to page through large result sets.
|
|
// To get the next page of results, set this parameter to the value of
|
|
// `nextPageToken` from the previous response.
|
|
string page_token = 2;
|
|
|
|
// The maximum number of results to return in a single page. If unspecified,
|
|
// defaults to 1024.
|
|
int32 page_size = 3;
|
|
}
|
|
|
|
// The search variant sets response.
|
|
message SearchVariantSetsResponse {
|
|
// The variant sets belonging to the requested dataset.
|
|
repeated VariantSet variant_sets = 1;
|
|
|
|
// The continuation token, which is used to page through large result sets.
|
|
// Provide this value in a subsequent request to return the next page of
|
|
// results. This field will be empty if there aren't any additional results.
|
|
string next_page_token = 2;
|
|
}
|
|
|
|
// The delete variant set request.
|
|
message DeleteVariantSetRequest {
|
|
// The ID of the variant set to be deleted.
|
|
string variant_set_id = 1;
|
|
}
|
|
|
|
message UpdateVariantSetRequest {
|
|
// The ID of the variant to be updated (must already exist).
|
|
string variant_set_id = 1;
|
|
|
|
// The new variant data. Only the variant_set.metadata will be considered
|
|
// for update.
|
|
VariantSet variant_set = 2;
|
|
|
|
// An optional mask specifying which fields to update. Supported fields:
|
|
//
|
|
// * [metadata][google.genomics.v1.VariantSet.metadata].
|
|
// * [name][google.genomics.v1.VariantSet.name].
|
|
// * [description][google.genomics.v1.VariantSet.description].
|
|
//
|
|
// Leaving `updateMask` unset is equivalent to specifying all mutable
|
|
// fields.
|
|
google.protobuf.FieldMask update_mask = 5;
|
|
}
|
|
|
|
// The variant search request.
|
|
message SearchVariantsRequest {
|
|
// At most one variant set ID must be provided. Only variants from this
|
|
// variant set will be returned. If omitted, a call set id must be included in
|
|
// the request.
|
|
repeated string variant_set_ids = 1;
|
|
|
|
// Only return variants which have exactly this name.
|
|
string variant_name = 2;
|
|
|
|
// Only return variant calls which belong to call sets with these ids.
|
|
// Leaving this blank returns all variant calls. If a variant has no
|
|
// calls belonging to any of these call sets, it won't be returned at all.
|
|
repeated string call_set_ids = 3;
|
|
|
|
// Required. Only return variants in this reference sequence.
|
|
string reference_name = 4;
|
|
|
|
// The beginning of the window (0-based, inclusive) for which
|
|
// overlapping variants should be returned. If unspecified, defaults to 0.
|
|
int64 start = 5;
|
|
|
|
// The end of the window, 0-based exclusive. If unspecified or 0, defaults to
|
|
// the length of the reference.
|
|
int64 end = 6;
|
|
|
|
// The continuation token, which is used to page through large result sets.
|
|
// To get the next page of results, set this parameter to the value of
|
|
// `nextPageToken` from the previous response.
|
|
string page_token = 7;
|
|
|
|
// The maximum number of variants to return in a single page. If unspecified,
|
|
// defaults to 5000. The maximum value is 10000.
|
|
int32 page_size = 8;
|
|
|
|
// The maximum number of calls to return in a single page. Note that this
|
|
// limit may be exceeded in the event that a matching variant contains more
|
|
// calls than the requested maximum. If unspecified, defaults to 5000. The
|
|
// maximum value is 10000.
|
|
int32 max_calls = 9;
|
|
}
|
|
|
|
// The variant search response.
|
|
message SearchVariantsResponse {
|
|
// The list of matching Variants.
|
|
repeated Variant variants = 1;
|
|
|
|
// The continuation token, which is used to page through large result sets.
|
|
// Provide this value in a subsequent request to return the next page of
|
|
// results. This field will be empty if there aren't any additional results.
|
|
string next_page_token = 2;
|
|
}
|
|
|
|
message CreateVariantRequest {
|
|
// The variant to be created.
|
|
Variant variant = 1;
|
|
}
|
|
|
|
message UpdateVariantRequest {
|
|
// The ID of the variant to be updated.
|
|
string variant_id = 1;
|
|
|
|
// The new variant data.
|
|
Variant variant = 2;
|
|
|
|
// An optional mask specifying which fields to update. At this time, mutable
|
|
// fields are [names][google.genomics.v1.Variant.names] and
|
|
// [info][google.genomics.v1.Variant.info]. Acceptable values are "names" and
|
|
// "info". If unspecified, all mutable fields will be updated.
|
|
google.protobuf.FieldMask update_mask = 3;
|
|
}
|
|
|
|
message DeleteVariantRequest {
|
|
// The ID of the variant to be deleted.
|
|
string variant_id = 1;
|
|
}
|
|
|
|
message GetVariantRequest {
|
|
// The ID of the variant.
|
|
string variant_id = 1;
|
|
}
|
|
|
|
message MergeVariantsRequest {
|
|
// The destination variant set.
|
|
string variant_set_id = 1;
|
|
|
|
// The variants to be merged with existing variants.
|
|
repeated Variant variants = 2;
|
|
|
|
// A mapping between info field keys and the InfoMergeOperations to
|
|
// be performed on them.
|
|
map<string, InfoMergeOperation> info_merge_config = 3;
|
|
}
|
|
|
|
// The call set search request.
|
|
message SearchCallSetsRequest {
|
|
// Restrict the query to call sets within the given variant sets. At least one
|
|
// ID must be provided.
|
|
repeated string variant_set_ids = 1;
|
|
|
|
// Only return call sets for which a substring of the name matches this
|
|
// string.
|
|
string name = 2;
|
|
|
|
// The continuation token, which is used to page through large result sets.
|
|
// To get the next page of results, set this parameter to the value of
|
|
// `nextPageToken` from the previous response.
|
|
string page_token = 3;
|
|
|
|
// The maximum number of results to return in a single page. If unspecified,
|
|
// defaults to 1024.
|
|
int32 page_size = 4;
|
|
}
|
|
|
|
// The call set search response.
|
|
message SearchCallSetsResponse {
|
|
// The list of matching call sets.
|
|
repeated CallSet call_sets = 1;
|
|
|
|
// The continuation token, which is used to page through large result sets.
|
|
// Provide this value in a subsequent request to return the next page of
|
|
// results. This field will be empty if there aren't any additional results.
|
|
string next_page_token = 2;
|
|
}
|
|
|
|
message CreateCallSetRequest {
|
|
// The call set to be created.
|
|
CallSet call_set = 1;
|
|
}
|
|
|
|
message UpdateCallSetRequest {
|
|
// The ID of the call set to be updated.
|
|
string call_set_id = 1;
|
|
|
|
// The new call set data.
|
|
CallSet call_set = 2;
|
|
|
|
// An optional mask specifying which fields to update. At this time, the only
|
|
// mutable field is [name][google.genomics.v1.CallSet.name]. The only
|
|
// acceptable value is "name". If unspecified, all mutable fields will be
|
|
// updated.
|
|
google.protobuf.FieldMask update_mask = 3;
|
|
}
|
|
|
|
message DeleteCallSetRequest {
|
|
// The ID of the call set to be deleted.
|
|
string call_set_id = 1;
|
|
}
|
|
|
|
message GetCallSetRequest {
|
|
// The ID of the call set.
|
|
string call_set_id = 1;
|
|
}
|
|
|
|
// The stream variants request.
|
|
message StreamVariantsRequest {
|
|
// The Google Cloud project ID which will be billed
|
|
// for this access. The caller must have WRITE access to this project.
|
|
// Required.
|
|
string project_id = 1;
|
|
|
|
// The variant set ID from which to stream variants.
|
|
string variant_set_id = 2;
|
|
|
|
// Only return variant calls which belong to call sets with these IDs.
|
|
// Leaving this blank returns all variant calls.
|
|
repeated string call_set_ids = 3;
|
|
|
|
// Required. Only return variants in this reference sequence.
|
|
string reference_name = 4;
|
|
|
|
// The beginning of the window (0-based, inclusive) for which
|
|
// overlapping variants should be returned.
|
|
int64 start = 5;
|
|
|
|
// The end of the window (0-based, exclusive) for which overlapping
|
|
// variants should be returned.
|
|
int64 end = 6;
|
|
}
|
|
|
|
message StreamVariantsResponse {
|
|
repeated Variant variants = 1;
|
|
}
|
|
|
|
// Operations to be performed during import on Variant info fields.
|
|
// These operations are set for each info field in the info_merge_config
|
|
// map of ImportVariantsRequest, which is plumbed down to the
|
|
// MergeVariantRequests generated by the import job.
|
|
enum InfoMergeOperation {
|
|
INFO_MERGE_OPERATION_UNSPECIFIED = 0;
|
|
|
|
// By default, Variant info fields are persisted if the Variant doesn't
|
|
// already exist in the variantset. If the Variant is equivalent to a
|
|
// Variant already in the variantset, the incoming Variant's info field
|
|
// is ignored in favor of that of the already persisted Variant.
|
|
IGNORE_NEW = 1;
|
|
|
|
// This operation removes an info field from the incoming Variant
|
|
// and persists this info field in each of the incoming Variant's Calls.
|
|
MOVE_TO_CALLS = 2;
|
|
}
|