| // 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; |
| } |