xref: /aosp_15_r20/external/googleapis/google/genomics/v1/variants.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2016 Google Inc.
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.genomics.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto";
24*d5c09012SAndroid Build Coastguard Worker
25*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true;
26*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/genomics/v1;genomics";
27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "VariantsProto";
29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.genomics.v1";
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Workerservice StreamingVariantService {
32*d5c09012SAndroid Build Coastguard Worker  // Returns a stream of all the variants matching the search request, ordered
33*d5c09012SAndroid Build Coastguard Worker  // by reference name, position, and ID.
34*d5c09012SAndroid Build Coastguard Worker  rpc StreamVariants(StreamVariantsRequest)
35*d5c09012SAndroid Build Coastguard Worker      returns (stream StreamVariantsResponse) {
36*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
37*d5c09012SAndroid Build Coastguard Worker      post: "/v1/variants:stream"
38*d5c09012SAndroid Build Coastguard Worker      body: "*"
39*d5c09012SAndroid Build Coastguard Worker    };
40*d5c09012SAndroid Build Coastguard Worker  }
41*d5c09012SAndroid Build Coastguard Worker}
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Workerservice VariantServiceV1 {
44*d5c09012SAndroid Build Coastguard Worker  // Creates variant data by asynchronously importing the provided information.
45*d5c09012SAndroid Build Coastguard Worker  //
46*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variant sets and other genomics resources, see
47*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
48*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
49*d5c09012SAndroid Build Coastguard Worker  //
50*d5c09012SAndroid Build Coastguard Worker  // The variants for import will be merged with any existing variant that
51*d5c09012SAndroid Build Coastguard Worker  // matches its reference sequence, start, end, reference bases, and
52*d5c09012SAndroid Build Coastguard Worker  // alternative bases. If no such variant exists, a new one will be created.
53*d5c09012SAndroid Build Coastguard Worker  //
54*d5c09012SAndroid Build Coastguard Worker  // When variants are merged, the call information from the new variant
55*d5c09012SAndroid Build Coastguard Worker  // is added to the existing variant, and Variant info fields are merged
56*d5c09012SAndroid Build Coastguard Worker  // as specified in
57*d5c09012SAndroid Build Coastguard Worker  // [infoMergeConfig][google.genomics.v1.ImportVariantsRequest.info_merge_config].
58*d5c09012SAndroid Build Coastguard Worker  // As a special case, for single-sample VCF files, QUAL and FILTER fields will
59*d5c09012SAndroid Build Coastguard Worker  // be moved to the call level; these are sometimes interpreted in a
60*d5c09012SAndroid Build Coastguard Worker  // call-specific context.
61*d5c09012SAndroid Build Coastguard Worker  // Imported VCF headers are appended to the metadata already in a variant set.
62*d5c09012SAndroid Build Coastguard Worker  rpc ImportVariants(ImportVariantsRequest)
63*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
64*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
65*d5c09012SAndroid Build Coastguard Worker      post: "/v1/variants:import"
66*d5c09012SAndroid Build Coastguard Worker      body: "*"
67*d5c09012SAndroid Build Coastguard Worker    };
68*d5c09012SAndroid Build Coastguard Worker  }
69*d5c09012SAndroid Build Coastguard Worker
70*d5c09012SAndroid Build Coastguard Worker  // Creates a new variant set.
71*d5c09012SAndroid Build Coastguard Worker  //
72*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variant sets and other genomics resources, see
73*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
74*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
75*d5c09012SAndroid Build Coastguard Worker  //
76*d5c09012SAndroid Build Coastguard Worker  // The provided variant set must have a valid `datasetId` set - all other
77*d5c09012SAndroid Build Coastguard Worker  // fields are optional. Note that the `id` field will be ignored, as this is
78*d5c09012SAndroid Build Coastguard Worker  // assigned by the server.
79*d5c09012SAndroid Build Coastguard Worker  rpc CreateVariantSet(CreateVariantSetRequest) returns (VariantSet) {
80*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
81*d5c09012SAndroid Build Coastguard Worker      post: "/v1/variantsets"
82*d5c09012SAndroid Build Coastguard Worker      body: "variant_set"
83*d5c09012SAndroid Build Coastguard Worker    };
84*d5c09012SAndroid Build Coastguard Worker  }
85*d5c09012SAndroid Build Coastguard Worker
86*d5c09012SAndroid Build Coastguard Worker  // Exports variant set data to an external destination.
87*d5c09012SAndroid Build Coastguard Worker  //
88*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variant sets and other genomics resources, see
89*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
90*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
91*d5c09012SAndroid Build Coastguard Worker  rpc ExportVariantSet(ExportVariantSetRequest)
92*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
93*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
94*d5c09012SAndroid Build Coastguard Worker      post: "/v1/variantsets/{variant_set_id}:export"
95*d5c09012SAndroid Build Coastguard Worker      body: "*"
96*d5c09012SAndroid Build Coastguard Worker    };
97*d5c09012SAndroid Build Coastguard Worker  }
98*d5c09012SAndroid Build Coastguard Worker
99*d5c09012SAndroid Build Coastguard Worker  // Gets a variant set by ID.
100*d5c09012SAndroid Build Coastguard Worker  //
101*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variant sets and other genomics resources, see
102*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
103*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
104*d5c09012SAndroid Build Coastguard Worker  rpc GetVariantSet(GetVariantSetRequest) returns (VariantSet) {
105*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
106*d5c09012SAndroid Build Coastguard Worker      get: "/v1/variantsets/{variant_set_id}"
107*d5c09012SAndroid Build Coastguard Worker    };
108*d5c09012SAndroid Build Coastguard Worker  }
109*d5c09012SAndroid Build Coastguard Worker
110*d5c09012SAndroid Build Coastguard Worker  // Returns a list of all variant sets matching search criteria.
111*d5c09012SAndroid Build Coastguard Worker  //
112*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variant sets and other genomics resources, see
113*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
114*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
115*d5c09012SAndroid Build Coastguard Worker  //
116*d5c09012SAndroid Build Coastguard Worker  // Implements
117*d5c09012SAndroid Build Coastguard Worker  // [GlobalAllianceApi.searchVariantSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L49).
118*d5c09012SAndroid Build Coastguard Worker  rpc SearchVariantSets(SearchVariantSetsRequest)
119*d5c09012SAndroid Build Coastguard Worker      returns (SearchVariantSetsResponse) {
120*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
121*d5c09012SAndroid Build Coastguard Worker      post: "/v1/variantsets/search"
122*d5c09012SAndroid Build Coastguard Worker      body: "*"
123*d5c09012SAndroid Build Coastguard Worker    };
124*d5c09012SAndroid Build Coastguard Worker  }
125*d5c09012SAndroid Build Coastguard Worker
126*d5c09012SAndroid Build Coastguard Worker  // Deletes a variant set including all variants, call sets, and calls within.
127*d5c09012SAndroid Build Coastguard Worker  // This is not reversible.
128*d5c09012SAndroid Build Coastguard Worker  //
129*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variant sets and other genomics resources, see
130*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
131*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
132*d5c09012SAndroid Build Coastguard Worker  rpc DeleteVariantSet(DeleteVariantSetRequest)
133*d5c09012SAndroid Build Coastguard Worker      returns (google.protobuf.Empty) {
134*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
135*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/variantsets/{variant_set_id}"
136*d5c09012SAndroid Build Coastguard Worker    };
137*d5c09012SAndroid Build Coastguard Worker  }
138*d5c09012SAndroid Build Coastguard Worker
139*d5c09012SAndroid Build Coastguard Worker  // Updates a variant set using patch semantics.
140*d5c09012SAndroid Build Coastguard Worker  //
141*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variant sets and other genomics resources, see
142*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
143*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
144*d5c09012SAndroid Build Coastguard Worker  rpc UpdateVariantSet(UpdateVariantSetRequest) returns (VariantSet) {
145*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
146*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/variantsets/{variant_set_id}"
147*d5c09012SAndroid Build Coastguard Worker      body: "variant_set"
148*d5c09012SAndroid Build Coastguard Worker    };
149*d5c09012SAndroid Build Coastguard Worker  }
150*d5c09012SAndroid Build Coastguard Worker
151*d5c09012SAndroid Build Coastguard Worker  // Gets a list of variants matching the criteria.
152*d5c09012SAndroid Build Coastguard Worker  //
153*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variants and other genomics resources, see
154*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
155*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
156*d5c09012SAndroid Build Coastguard Worker  //
157*d5c09012SAndroid Build Coastguard Worker  // Implements
158*d5c09012SAndroid Build Coastguard Worker  // [GlobalAllianceApi.searchVariants](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L126).
159*d5c09012SAndroid Build Coastguard Worker  rpc SearchVariants(SearchVariantsRequest) returns (SearchVariantsResponse) {
160*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
161*d5c09012SAndroid Build Coastguard Worker      post: "/v1/variants/search"
162*d5c09012SAndroid Build Coastguard Worker      body: "*"
163*d5c09012SAndroid Build Coastguard Worker    };
164*d5c09012SAndroid Build Coastguard Worker  }
165*d5c09012SAndroid Build Coastguard Worker
166*d5c09012SAndroid Build Coastguard Worker  // Creates a new variant.
167*d5c09012SAndroid Build Coastguard Worker  //
168*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variants and other genomics resources, see
169*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
170*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
171*d5c09012SAndroid Build Coastguard Worker  rpc CreateVariant(CreateVariantRequest) returns (Variant) {
172*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
173*d5c09012SAndroid Build Coastguard Worker      post: "/v1/variants"
174*d5c09012SAndroid Build Coastguard Worker      body: "variant"
175*d5c09012SAndroid Build Coastguard Worker    };
176*d5c09012SAndroid Build Coastguard Worker  }
177*d5c09012SAndroid Build Coastguard Worker
178*d5c09012SAndroid Build Coastguard Worker  // Updates a variant.
179*d5c09012SAndroid Build Coastguard Worker  //
180*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variants and other genomics resources, see
181*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
182*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
183*d5c09012SAndroid Build Coastguard Worker  //
184*d5c09012SAndroid Build Coastguard Worker  // This method supports patch semantics. Returns the modified variant without
185*d5c09012SAndroid Build Coastguard Worker  // its calls.
186*d5c09012SAndroid Build Coastguard Worker  rpc UpdateVariant(UpdateVariantRequest) returns (Variant) {
187*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
188*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/variants/{variant_id}"
189*d5c09012SAndroid Build Coastguard Worker      body: "variant"
190*d5c09012SAndroid Build Coastguard Worker    };
191*d5c09012SAndroid Build Coastguard Worker  }
192*d5c09012SAndroid Build Coastguard Worker
193*d5c09012SAndroid Build Coastguard Worker  // Deletes a variant.
194*d5c09012SAndroid Build Coastguard Worker  //
195*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variants and other genomics resources, see
196*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
197*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
198*d5c09012SAndroid Build Coastguard Worker  rpc DeleteVariant(DeleteVariantRequest) returns (google.protobuf.Empty) {
199*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
200*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/variants/{variant_id}"
201*d5c09012SAndroid Build Coastguard Worker    };
202*d5c09012SAndroid Build Coastguard Worker  }
203*d5c09012SAndroid Build Coastguard Worker
204*d5c09012SAndroid Build Coastguard Worker  // Gets a variant by ID.
205*d5c09012SAndroid Build Coastguard Worker  //
206*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variants and other genomics resources, see
207*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
208*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
209*d5c09012SAndroid Build Coastguard Worker  rpc GetVariant(GetVariantRequest) returns (Variant) {
210*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
211*d5c09012SAndroid Build Coastguard Worker      get: "/v1/variants/{variant_id}"
212*d5c09012SAndroid Build Coastguard Worker    };
213*d5c09012SAndroid Build Coastguard Worker  }
214*d5c09012SAndroid Build Coastguard Worker
215*d5c09012SAndroid Build Coastguard Worker  // Merges the given variants with existing variants.
216*d5c09012SAndroid Build Coastguard Worker  //
217*d5c09012SAndroid Build Coastguard Worker  // For the definitions of variants and other genomics resources, see
218*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
219*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
220*d5c09012SAndroid Build Coastguard Worker  //
221*d5c09012SAndroid Build Coastguard Worker  // Each variant will be
222*d5c09012SAndroid Build Coastguard Worker  // merged with an existing variant that matches its reference sequence,
223*d5c09012SAndroid Build Coastguard Worker  // start, end, reference bases, and alternative bases. If no such variant
224*d5c09012SAndroid Build Coastguard Worker  // exists, a new one will be created.
225*d5c09012SAndroid Build Coastguard Worker  //
226*d5c09012SAndroid Build Coastguard Worker  // When variants are merged, the call information from the new variant
227*d5c09012SAndroid Build Coastguard Worker  // is added to the existing variant. Variant info fields are merged as
228*d5c09012SAndroid Build Coastguard Worker  // specified in the
229*d5c09012SAndroid Build Coastguard Worker  // [infoMergeConfig][google.genomics.v1.MergeVariantsRequest.info_merge_config]
230*d5c09012SAndroid Build Coastguard Worker  // field of the MergeVariantsRequest.
231*d5c09012SAndroid Build Coastguard Worker  //
232*d5c09012SAndroid Build Coastguard Worker  // Please exercise caution when using this method!  It is easy to introduce
233*d5c09012SAndroid Build Coastguard Worker  // mistakes in existing variants and difficult to back out of them.  For
234*d5c09012SAndroid Build Coastguard Worker  // example,
235*d5c09012SAndroid Build Coastguard Worker  // suppose you were trying to merge a new variant with an existing one and
236*d5c09012SAndroid Build Coastguard Worker  // both
237*d5c09012SAndroid Build Coastguard Worker  // variants contain calls that belong to callsets with the same callset ID.
238*d5c09012SAndroid Build Coastguard Worker  //
239*d5c09012SAndroid Build Coastguard Worker  //     // Existing variant - irrelevant fields trimmed for clarity
240*d5c09012SAndroid Build Coastguard Worker  //     {
241*d5c09012SAndroid Build Coastguard Worker  //         "variantSetId": "10473108253681171589",
242*d5c09012SAndroid Build Coastguard Worker  //         "referenceName": "1",
243*d5c09012SAndroid Build Coastguard Worker  //         "start": "10582",
244*d5c09012SAndroid Build Coastguard Worker  //         "referenceBases": "G",
245*d5c09012SAndroid Build Coastguard Worker  //         "alternateBases": [
246*d5c09012SAndroid Build Coastguard Worker  //             "A"
247*d5c09012SAndroid Build Coastguard Worker  //         ],
248*d5c09012SAndroid Build Coastguard Worker  //         "calls": [
249*d5c09012SAndroid Build Coastguard Worker  //             {
250*d5c09012SAndroid Build Coastguard Worker  //                 "callSetId": "10473108253681171589-0",
251*d5c09012SAndroid Build Coastguard Worker  //                 "callSetName": "CALLSET0",
252*d5c09012SAndroid Build Coastguard Worker  //                 "genotype": [
253*d5c09012SAndroid Build Coastguard Worker  //                     0,
254*d5c09012SAndroid Build Coastguard Worker  //                     1
255*d5c09012SAndroid Build Coastguard Worker  //                 ],
256*d5c09012SAndroid Build Coastguard Worker  //             }
257*d5c09012SAndroid Build Coastguard Worker  //         ]
258*d5c09012SAndroid Build Coastguard Worker  //     }
259*d5c09012SAndroid Build Coastguard Worker  //
260*d5c09012SAndroid Build Coastguard Worker  //     // New variant with conflicting call information
261*d5c09012SAndroid Build Coastguard Worker  //     {
262*d5c09012SAndroid Build Coastguard Worker  //         "variantSetId": "10473108253681171589",
263*d5c09012SAndroid Build Coastguard Worker  //         "referenceName": "1",
264*d5c09012SAndroid Build Coastguard Worker  //         "start": "10582",
265*d5c09012SAndroid Build Coastguard Worker  //         "referenceBases": "G",
266*d5c09012SAndroid Build Coastguard Worker  //         "alternateBases": [
267*d5c09012SAndroid Build Coastguard Worker  //             "A"
268*d5c09012SAndroid Build Coastguard Worker  //         ],
269*d5c09012SAndroid Build Coastguard Worker  //         "calls": [
270*d5c09012SAndroid Build Coastguard Worker  //             {
271*d5c09012SAndroid Build Coastguard Worker  //                 "callSetId": "10473108253681171589-0",
272*d5c09012SAndroid Build Coastguard Worker  //                 "callSetName": "CALLSET0",
273*d5c09012SAndroid Build Coastguard Worker  //                 "genotype": [
274*d5c09012SAndroid Build Coastguard Worker  //                     1,
275*d5c09012SAndroid Build Coastguard Worker  //                     1
276*d5c09012SAndroid Build Coastguard Worker  //                 ],
277*d5c09012SAndroid Build Coastguard Worker  //             }
278*d5c09012SAndroid Build Coastguard Worker  //         ]
279*d5c09012SAndroid Build Coastguard Worker  //     }
280*d5c09012SAndroid Build Coastguard Worker  //
281*d5c09012SAndroid Build Coastguard Worker  // The resulting merged variant would overwrite the existing calls with those
282*d5c09012SAndroid Build Coastguard Worker  // from the new variant:
283*d5c09012SAndroid Build Coastguard Worker  //
284*d5c09012SAndroid Build Coastguard Worker  //     {
285*d5c09012SAndroid Build Coastguard Worker  //         "variantSetId": "10473108253681171589",
286*d5c09012SAndroid Build Coastguard Worker  //         "referenceName": "1",
287*d5c09012SAndroid Build Coastguard Worker  //         "start": "10582",
288*d5c09012SAndroid Build Coastguard Worker  //         "referenceBases": "G",
289*d5c09012SAndroid Build Coastguard Worker  //         "alternateBases": [
290*d5c09012SAndroid Build Coastguard Worker  //             "A"
291*d5c09012SAndroid Build Coastguard Worker  //         ],
292*d5c09012SAndroid Build Coastguard Worker  //         "calls": [
293*d5c09012SAndroid Build Coastguard Worker  //             {
294*d5c09012SAndroid Build Coastguard Worker  //                 "callSetId": "10473108253681171589-0",
295*d5c09012SAndroid Build Coastguard Worker  //                 "callSetName": "CALLSET0",
296*d5c09012SAndroid Build Coastguard Worker  //                 "genotype": [
297*d5c09012SAndroid Build Coastguard Worker  //                     1,
298*d5c09012SAndroid Build Coastguard Worker  //                     1
299*d5c09012SAndroid Build Coastguard Worker  //                 ],
300*d5c09012SAndroid Build Coastguard Worker  //             }
301*d5c09012SAndroid Build Coastguard Worker  //         ]
302*d5c09012SAndroid Build Coastguard Worker  //     }
303*d5c09012SAndroid Build Coastguard Worker  //
304*d5c09012SAndroid Build Coastguard Worker  // This may be the desired outcome, but it is up to the user to determine if
305*d5c09012SAndroid Build Coastguard Worker  // if that is indeed the case.
306*d5c09012SAndroid Build Coastguard Worker  rpc MergeVariants(MergeVariantsRequest) returns (google.protobuf.Empty) {
307*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
308*d5c09012SAndroid Build Coastguard Worker      post: "/v1/variants:merge"
309*d5c09012SAndroid Build Coastguard Worker      body: "*"
310*d5c09012SAndroid Build Coastguard Worker    };
311*d5c09012SAndroid Build Coastguard Worker  }
312*d5c09012SAndroid Build Coastguard Worker
313*d5c09012SAndroid Build Coastguard Worker  // Gets a list of call sets matching the criteria.
314*d5c09012SAndroid Build Coastguard Worker  //
315*d5c09012SAndroid Build Coastguard Worker  // For the definitions of call sets and other genomics resources, see
316*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
317*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
318*d5c09012SAndroid Build Coastguard Worker  //
319*d5c09012SAndroid Build Coastguard Worker  // Implements
320*d5c09012SAndroid Build Coastguard Worker  // [GlobalAllianceApi.searchCallSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L178).
321*d5c09012SAndroid Build Coastguard Worker  rpc SearchCallSets(SearchCallSetsRequest) returns (SearchCallSetsResponse) {
322*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
323*d5c09012SAndroid Build Coastguard Worker      post: "/v1/callsets/search"
324*d5c09012SAndroid Build Coastguard Worker      body: "*"
325*d5c09012SAndroid Build Coastguard Worker    };
326*d5c09012SAndroid Build Coastguard Worker  }
327*d5c09012SAndroid Build Coastguard Worker
328*d5c09012SAndroid Build Coastguard Worker  // Creates a new call set.
329*d5c09012SAndroid Build Coastguard Worker  //
330*d5c09012SAndroid Build Coastguard Worker  // For the definitions of call sets and other genomics resources, see
331*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
332*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
333*d5c09012SAndroid Build Coastguard Worker  rpc CreateCallSet(CreateCallSetRequest) returns (CallSet) {
334*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
335*d5c09012SAndroid Build Coastguard Worker      post: "/v1/callsets"
336*d5c09012SAndroid Build Coastguard Worker      body: "call_set"
337*d5c09012SAndroid Build Coastguard Worker    };
338*d5c09012SAndroid Build Coastguard Worker  }
339*d5c09012SAndroid Build Coastguard Worker
340*d5c09012SAndroid Build Coastguard Worker  // Updates a call set.
341*d5c09012SAndroid Build Coastguard Worker  //
342*d5c09012SAndroid Build Coastguard Worker  // For the definitions of call sets and other genomics resources, see
343*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
344*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
345*d5c09012SAndroid Build Coastguard Worker  //
346*d5c09012SAndroid Build Coastguard Worker  // This method supports patch semantics.
347*d5c09012SAndroid Build Coastguard Worker  rpc UpdateCallSet(UpdateCallSetRequest) returns (CallSet) {
348*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
349*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/callsets/{call_set_id}"
350*d5c09012SAndroid Build Coastguard Worker      body: "call_set"
351*d5c09012SAndroid Build Coastguard Worker    };
352*d5c09012SAndroid Build Coastguard Worker  }
353*d5c09012SAndroid Build Coastguard Worker
354*d5c09012SAndroid Build Coastguard Worker  // Deletes a call set.
355*d5c09012SAndroid Build Coastguard Worker  //
356*d5c09012SAndroid Build Coastguard Worker  // For the definitions of call sets and other genomics resources, see
357*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
358*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
359*d5c09012SAndroid Build Coastguard Worker  rpc DeleteCallSet(DeleteCallSetRequest) returns (google.protobuf.Empty) {
360*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
361*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/callsets/{call_set_id}"
362*d5c09012SAndroid Build Coastguard Worker    };
363*d5c09012SAndroid Build Coastguard Worker  }
364*d5c09012SAndroid Build Coastguard Worker
365*d5c09012SAndroid Build Coastguard Worker  // Gets a call set by ID.
366*d5c09012SAndroid Build Coastguard Worker  //
367*d5c09012SAndroid Build Coastguard Worker  // For the definitions of call sets and other genomics resources, see
368*d5c09012SAndroid Build Coastguard Worker  // [Fundamentals of Google
369*d5c09012SAndroid Build Coastguard Worker  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
370*d5c09012SAndroid Build Coastguard Worker  rpc GetCallSet(GetCallSetRequest) returns (CallSet) {
371*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
372*d5c09012SAndroid Build Coastguard Worker      get: "/v1/callsets/{call_set_id}"
373*d5c09012SAndroid Build Coastguard Worker    };
374*d5c09012SAndroid Build Coastguard Worker  }
375*d5c09012SAndroid Build Coastguard Worker}
376*d5c09012SAndroid Build Coastguard Worker
377*d5c09012SAndroid Build Coastguard Worker// Metadata describes a single piece of variant call metadata.
378*d5c09012SAndroid Build Coastguard Worker// These data include a top level key and either a single value string (value)
379*d5c09012SAndroid Build Coastguard Worker// or a list of key-value pairs (info.)
380*d5c09012SAndroid Build Coastguard Worker// Value and info are mutually exclusive.
381*d5c09012SAndroid Build Coastguard Workermessage VariantSetMetadata {
382*d5c09012SAndroid Build Coastguard Worker  enum Type {
383*d5c09012SAndroid Build Coastguard Worker    TYPE_UNSPECIFIED = 0;
384*d5c09012SAndroid Build Coastguard Worker
385*d5c09012SAndroid Build Coastguard Worker    INTEGER = 1;
386*d5c09012SAndroid Build Coastguard Worker
387*d5c09012SAndroid Build Coastguard Worker    FLOAT = 2;
388*d5c09012SAndroid Build Coastguard Worker
389*d5c09012SAndroid Build Coastguard Worker    FLAG = 3;
390*d5c09012SAndroid Build Coastguard Worker
391*d5c09012SAndroid Build Coastguard Worker    CHARACTER = 4;
392*d5c09012SAndroid Build Coastguard Worker
393*d5c09012SAndroid Build Coastguard Worker    STRING = 5;
394*d5c09012SAndroid Build Coastguard Worker  }
395*d5c09012SAndroid Build Coastguard Worker
396*d5c09012SAndroid Build Coastguard Worker  // The top-level key.
397*d5c09012SAndroid Build Coastguard Worker  string key = 1;
398*d5c09012SAndroid Build Coastguard Worker
399*d5c09012SAndroid Build Coastguard Worker  // The value field for simple metadata
400*d5c09012SAndroid Build Coastguard Worker  string value = 2;
401*d5c09012SAndroid Build Coastguard Worker
402*d5c09012SAndroid Build Coastguard Worker  // User-provided ID field, not enforced by this API.
403*d5c09012SAndroid Build Coastguard Worker  // Two or more pieces of structured metadata with identical
404*d5c09012SAndroid Build Coastguard Worker  // id and key fields are considered equivalent.
405*d5c09012SAndroid Build Coastguard Worker  string id = 4;
406*d5c09012SAndroid Build Coastguard Worker
407*d5c09012SAndroid Build Coastguard Worker  // The type of data. Possible types include: Integer, Float,
408*d5c09012SAndroid Build Coastguard Worker  // Flag, Character, and String.
409*d5c09012SAndroid Build Coastguard Worker  Type type = 5;
410*d5c09012SAndroid Build Coastguard Worker
411*d5c09012SAndroid Build Coastguard Worker  // The number of values that can be included in a field described by this
412*d5c09012SAndroid Build Coastguard Worker  // metadata.
413*d5c09012SAndroid Build Coastguard Worker  string number = 8;
414*d5c09012SAndroid Build Coastguard Worker
415*d5c09012SAndroid Build Coastguard Worker  // A textual description of this metadata.
416*d5c09012SAndroid Build Coastguard Worker  string description = 7;
417*d5c09012SAndroid Build Coastguard Worker
418*d5c09012SAndroid Build Coastguard Worker  // Remaining structured metadata key-value pairs. This must be of the form
419*d5c09012SAndroid Build Coastguard Worker  // map<string, string[]> (string key mapping to a list of string values).
420*d5c09012SAndroid Build Coastguard Worker  map<string, google.protobuf.ListValue> info = 3;
421*d5c09012SAndroid Build Coastguard Worker}
422*d5c09012SAndroid Build Coastguard Worker
423*d5c09012SAndroid Build Coastguard Worker// A variant set is a collection of call sets and variants. It contains summary
424*d5c09012SAndroid Build Coastguard Worker// statistics of those contents. A variant set belongs to a dataset.
425*d5c09012SAndroid Build Coastguard Worker//
426*d5c09012SAndroid Build Coastguard Worker// For more genomics resource definitions, see [Fundamentals of Google
427*d5c09012SAndroid Build Coastguard Worker// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
428*d5c09012SAndroid Build Coastguard Workermessage VariantSet {
429*d5c09012SAndroid Build Coastguard Worker  // The dataset to which this variant set belongs.
430*d5c09012SAndroid Build Coastguard Worker  string dataset_id = 1;
431*d5c09012SAndroid Build Coastguard Worker
432*d5c09012SAndroid Build Coastguard Worker  // The server-generated variant set ID, unique across all variant sets.
433*d5c09012SAndroid Build Coastguard Worker  string id = 2;
434*d5c09012SAndroid Build Coastguard Worker
435*d5c09012SAndroid Build Coastguard Worker  // The reference set to which the variant set is mapped. The reference set
436*d5c09012SAndroid Build Coastguard Worker  // describes the alignment provenance of the variant set, while the
437*d5c09012SAndroid Build Coastguard Worker  // `referenceBounds` describe the shape of the actual variant data. The
438*d5c09012SAndroid Build Coastguard Worker  // reference set's reference names are a superset of those found in the
439*d5c09012SAndroid Build Coastguard Worker  // `referenceBounds`.
440*d5c09012SAndroid Build Coastguard Worker  //
441*d5c09012SAndroid Build Coastguard Worker  // For example, given a variant set that is mapped to the GRCh38 reference set
442*d5c09012SAndroid Build Coastguard Worker  // and contains a single variant on reference 'X', `referenceBounds` would
443*d5c09012SAndroid Build Coastguard Worker  // contain only an entry for 'X', while the associated reference set
444*d5c09012SAndroid Build Coastguard Worker  // enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc.
445*d5c09012SAndroid Build Coastguard Worker  string reference_set_id = 6;
446*d5c09012SAndroid Build Coastguard Worker
447*d5c09012SAndroid Build Coastguard Worker  // A list of all references used by the variants in a variant set
448*d5c09012SAndroid Build Coastguard Worker  // with associated coordinate upper bounds for each one.
449*d5c09012SAndroid Build Coastguard Worker  repeated ReferenceBound reference_bounds = 5;
450*d5c09012SAndroid Build Coastguard Worker
451*d5c09012SAndroid Build Coastguard Worker  // The metadata associated with this variant set.
452*d5c09012SAndroid Build Coastguard Worker  repeated VariantSetMetadata metadata = 4;
453*d5c09012SAndroid Build Coastguard Worker
454*d5c09012SAndroid Build Coastguard Worker  // User-specified, mutable name.
455*d5c09012SAndroid Build Coastguard Worker  string name = 7;
456*d5c09012SAndroid Build Coastguard Worker
457*d5c09012SAndroid Build Coastguard Worker  // A textual description of this variant set.
458*d5c09012SAndroid Build Coastguard Worker  string description = 8;
459*d5c09012SAndroid Build Coastguard Worker}
460*d5c09012SAndroid Build Coastguard Worker
461*d5c09012SAndroid Build Coastguard Worker// A variant represents a change in DNA sequence relative to a reference
462*d5c09012SAndroid Build Coastguard Worker// sequence. For example, a variant could represent a SNP or an insertion.
463*d5c09012SAndroid Build Coastguard Worker// Variants belong to a variant set.
464*d5c09012SAndroid Build Coastguard Worker//
465*d5c09012SAndroid Build Coastguard Worker// For more genomics resource definitions, see [Fundamentals of Google
466*d5c09012SAndroid Build Coastguard Worker// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
467*d5c09012SAndroid Build Coastguard Worker//
468*d5c09012SAndroid Build Coastguard Worker// Each of the calls on a variant represent a determination of genotype with
469*d5c09012SAndroid Build Coastguard Worker// respect to that variant. For example, a call might assign probability of 0.32
470*d5c09012SAndroid Build Coastguard Worker// to the occurrence of a SNP named rs1234 in a sample named NA12345. A call
471*d5c09012SAndroid Build Coastguard Worker// belongs to a call set, which contains related calls typically from one
472*d5c09012SAndroid Build Coastguard Worker// sample.
473*d5c09012SAndroid Build Coastguard Workermessage Variant {
474*d5c09012SAndroid Build Coastguard Worker  // The ID of the variant set this variant belongs to.
475*d5c09012SAndroid Build Coastguard Worker  string variant_set_id = 15;
476*d5c09012SAndroid Build Coastguard Worker
477*d5c09012SAndroid Build Coastguard Worker  // The server-generated variant ID, unique across all variants.
478*d5c09012SAndroid Build Coastguard Worker  string id = 2;
479*d5c09012SAndroid Build Coastguard Worker
480*d5c09012SAndroid Build Coastguard Worker  // Names for the variant, for example a RefSNP ID.
481*d5c09012SAndroid Build Coastguard Worker  repeated string names = 3;
482*d5c09012SAndroid Build Coastguard Worker
483*d5c09012SAndroid Build Coastguard Worker  // The date this variant was created, in milliseconds from the epoch.
484*d5c09012SAndroid Build Coastguard Worker  int64 created = 12;
485*d5c09012SAndroid Build Coastguard Worker
486*d5c09012SAndroid Build Coastguard Worker  // The reference on which this variant occurs.
487*d5c09012SAndroid Build Coastguard Worker  // (such as `chr20` or `X`)
488*d5c09012SAndroid Build Coastguard Worker  string reference_name = 14;
489*d5c09012SAndroid Build Coastguard Worker
490*d5c09012SAndroid Build Coastguard Worker  // The position at which this variant occurs (0-based).
491*d5c09012SAndroid Build Coastguard Worker  // This corresponds to the first base of the string of reference bases.
492*d5c09012SAndroid Build Coastguard Worker  int64 start = 16;
493*d5c09012SAndroid Build Coastguard Worker
494*d5c09012SAndroid Build Coastguard Worker  // The end position (0-based) of this variant. This corresponds to the first
495*d5c09012SAndroid Build Coastguard Worker  // base after the last base in the reference allele. So, the length of
496*d5c09012SAndroid Build Coastguard Worker  // the reference allele is (end - start). This is useful for variants
497*d5c09012SAndroid Build Coastguard Worker  // that don't explicitly give alternate bases, for example large deletions.
498*d5c09012SAndroid Build Coastguard Worker  int64 end = 13;
499*d5c09012SAndroid Build Coastguard Worker
500*d5c09012SAndroid Build Coastguard Worker  // The reference bases for this variant. They start at the given
501*d5c09012SAndroid Build Coastguard Worker  // position.
502*d5c09012SAndroid Build Coastguard Worker  string reference_bases = 6;
503*d5c09012SAndroid Build Coastguard Worker
504*d5c09012SAndroid Build Coastguard Worker  // The bases that appear instead of the reference bases.
505*d5c09012SAndroid Build Coastguard Worker  repeated string alternate_bases = 7;
506*d5c09012SAndroid Build Coastguard Worker
507*d5c09012SAndroid Build Coastguard Worker  // A measure of how likely this variant is to be real.
508*d5c09012SAndroid Build Coastguard Worker  // A higher value is better.
509*d5c09012SAndroid Build Coastguard Worker  double quality = 8;
510*d5c09012SAndroid Build Coastguard Worker
511*d5c09012SAndroid Build Coastguard Worker  // A list of filters (normally quality filters) this variant has failed.
512*d5c09012SAndroid Build Coastguard Worker  // `PASS` indicates this variant has passed all filters.
513*d5c09012SAndroid Build Coastguard Worker  repeated string filter = 9;
514*d5c09012SAndroid Build Coastguard Worker
515*d5c09012SAndroid Build Coastguard Worker  // A map of additional variant information. This must be of the form
516*d5c09012SAndroid Build Coastguard Worker  // map<string, string[]> (string key mapping to a list of string values).
517*d5c09012SAndroid Build Coastguard Worker  map<string, google.protobuf.ListValue> info = 10;
518*d5c09012SAndroid Build Coastguard Worker
519*d5c09012SAndroid Build Coastguard Worker  // The variant calls for this particular variant. Each one represents the
520*d5c09012SAndroid Build Coastguard Worker  // determination of genotype with respect to this variant.
521*d5c09012SAndroid Build Coastguard Worker  repeated VariantCall calls = 11;
522*d5c09012SAndroid Build Coastguard Worker}
523*d5c09012SAndroid Build Coastguard Worker
524*d5c09012SAndroid Build Coastguard Worker// A call represents the determination of genotype with respect to a particular
525*d5c09012SAndroid Build Coastguard Worker// variant. It may include associated information such as quality and phasing.
526*d5c09012SAndroid Build Coastguard Worker// For example, a call might assign a probability of 0.32 to the occurrence of
527*d5c09012SAndroid Build Coastguard Worker// a SNP named rs1234 in a call set with the name NA12345.
528*d5c09012SAndroid Build Coastguard Workermessage VariantCall {
529*d5c09012SAndroid Build Coastguard Worker  // The ID of the call set this variant call belongs to.
530*d5c09012SAndroid Build Coastguard Worker  string call_set_id = 8;
531*d5c09012SAndroid Build Coastguard Worker
532*d5c09012SAndroid Build Coastguard Worker  // The name of the call set this variant call belongs to.
533*d5c09012SAndroid Build Coastguard Worker  string call_set_name = 9;
534*d5c09012SAndroid Build Coastguard Worker
535*d5c09012SAndroid Build Coastguard Worker  // The genotype of this variant call. Each value represents either the value
536*d5c09012SAndroid Build Coastguard Worker  // of the `referenceBases` field or a 1-based index into
537*d5c09012SAndroid Build Coastguard Worker  // `alternateBases`. If a variant had a `referenceBases`
538*d5c09012SAndroid Build Coastguard Worker  // value of `T` and an `alternateBases`
539*d5c09012SAndroid Build Coastguard Worker  // value of `["A", "C"]`, and the `genotype` was
540*d5c09012SAndroid Build Coastguard Worker  // `[2, 1]`, that would mean the call
541*d5c09012SAndroid Build Coastguard Worker  // represented the heterozygous value `CA` for this variant.
542*d5c09012SAndroid Build Coastguard Worker  // If the `genotype` was instead `[0, 1]`, the
543*d5c09012SAndroid Build Coastguard Worker  // represented value would be `TA`. Ordering of the
544*d5c09012SAndroid Build Coastguard Worker  // genotype values is important if the `phaseset` is present.
545*d5c09012SAndroid Build Coastguard Worker  // If a genotype is not called (that is, a `.` is present in the
546*d5c09012SAndroid Build Coastguard Worker  // GT string) -1 is returned.
547*d5c09012SAndroid Build Coastguard Worker  repeated int32 genotype = 7;
548*d5c09012SAndroid Build Coastguard Worker
549*d5c09012SAndroid Build Coastguard Worker  // If this field is present, this variant call's genotype ordering implies
550*d5c09012SAndroid Build Coastguard Worker  // the phase of the bases and is consistent with any other variant calls in
551*d5c09012SAndroid Build Coastguard Worker  // the same reference sequence which have the same phaseset value.
552*d5c09012SAndroid Build Coastguard Worker  // When importing data from VCF, if the genotype data was phased but no
553*d5c09012SAndroid Build Coastguard Worker  // phase set was specified this field will be set to `*`.
554*d5c09012SAndroid Build Coastguard Worker  string phaseset = 5;
555*d5c09012SAndroid Build Coastguard Worker
556*d5c09012SAndroid Build Coastguard Worker  // The genotype likelihoods for this variant call. Each array entry
557*d5c09012SAndroid Build Coastguard Worker  // represents how likely a specific genotype is for this call. The value
558*d5c09012SAndroid Build Coastguard Worker  // ordering is defined by the GL tag in the VCF spec.
559*d5c09012SAndroid Build Coastguard Worker  // If Phred-scaled genotype likelihood scores (PL) are available and
560*d5c09012SAndroid Build Coastguard Worker  // log10(P) genotype likelihood scores (GL) are not, PL scores are converted
561*d5c09012SAndroid Build Coastguard Worker  // to GL scores.  If both are available, PL scores are stored in `info`.
562*d5c09012SAndroid Build Coastguard Worker  repeated double genotype_likelihood = 6;
563*d5c09012SAndroid Build Coastguard Worker
564*d5c09012SAndroid Build Coastguard Worker  // A map of additional variant call information. This must be of the form
565*d5c09012SAndroid Build Coastguard Worker  // map<string, string[]> (string key mapping to a list of string values).
566*d5c09012SAndroid Build Coastguard Worker  map<string, google.protobuf.ListValue> info = 2;
567*d5c09012SAndroid Build Coastguard Worker}
568*d5c09012SAndroid Build Coastguard Worker
569*d5c09012SAndroid Build Coastguard Worker// A call set is a collection of variant calls, typically for one sample. It
570*d5c09012SAndroid Build Coastguard Worker// belongs to a variant set.
571*d5c09012SAndroid Build Coastguard Worker//
572*d5c09012SAndroid Build Coastguard Worker// For more genomics resource definitions, see [Fundamentals of Google
573*d5c09012SAndroid Build Coastguard Worker// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
574*d5c09012SAndroid Build Coastguard Workermessage CallSet {
575*d5c09012SAndroid Build Coastguard Worker  // The server-generated call set ID, unique across all call sets.
576*d5c09012SAndroid Build Coastguard Worker  string id = 1;
577*d5c09012SAndroid Build Coastguard Worker
578*d5c09012SAndroid Build Coastguard Worker  // The call set name.
579*d5c09012SAndroid Build Coastguard Worker  string name = 2;
580*d5c09012SAndroid Build Coastguard Worker
581*d5c09012SAndroid Build Coastguard Worker  // The sample ID this call set corresponds to.
582*d5c09012SAndroid Build Coastguard Worker  string sample_id = 7;
583*d5c09012SAndroid Build Coastguard Worker
584*d5c09012SAndroid Build Coastguard Worker  // The IDs of the variant sets this call set belongs to. This field must
585*d5c09012SAndroid Build Coastguard Worker  // have exactly length one, as a call set belongs to a single variant set.
586*d5c09012SAndroid Build Coastguard Worker  // This field is repeated for compatibility with the
587*d5c09012SAndroid Build Coastguard Worker  // [GA4GH 0.5.1
588*d5c09012SAndroid Build Coastguard Worker  // API](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variants.avdl#L76).
589*d5c09012SAndroid Build Coastguard Worker  repeated string variant_set_ids = 6;
590*d5c09012SAndroid Build Coastguard Worker
591*d5c09012SAndroid Build Coastguard Worker  // The date this call set was created in milliseconds from the epoch.
592*d5c09012SAndroid Build Coastguard Worker  int64 created = 5;
593*d5c09012SAndroid Build Coastguard Worker
594*d5c09012SAndroid Build Coastguard Worker  // A map of additional call set information. This must be of the form
595*d5c09012SAndroid Build Coastguard Worker  // map<string, string[]> (string key mapping to a list of string values).
596*d5c09012SAndroid Build Coastguard Worker  map<string, google.protobuf.ListValue> info = 4;
597*d5c09012SAndroid Build Coastguard Worker}
598*d5c09012SAndroid Build Coastguard Worker
599*d5c09012SAndroid Build Coastguard Worker// ReferenceBound records an upper bound for the starting coordinate of
600*d5c09012SAndroid Build Coastguard Worker// variants in a particular reference.
601*d5c09012SAndroid Build Coastguard Workermessage ReferenceBound {
602*d5c09012SAndroid Build Coastguard Worker  // The name of the reference associated with this reference bound.
603*d5c09012SAndroid Build Coastguard Worker  string reference_name = 1;
604*d5c09012SAndroid Build Coastguard Worker
605*d5c09012SAndroid Build Coastguard Worker  // An upper bound (inclusive) on the starting coordinate of any
606*d5c09012SAndroid Build Coastguard Worker  // variant in the reference sequence.
607*d5c09012SAndroid Build Coastguard Worker  int64 upper_bound = 2;
608*d5c09012SAndroid Build Coastguard Worker}
609*d5c09012SAndroid Build Coastguard Worker
610*d5c09012SAndroid Build Coastguard Worker// The variant data import request.
611*d5c09012SAndroid Build Coastguard Workermessage ImportVariantsRequest {
612*d5c09012SAndroid Build Coastguard Worker  enum Format {
613*d5c09012SAndroid Build Coastguard Worker    FORMAT_UNSPECIFIED = 0;
614*d5c09012SAndroid Build Coastguard Worker
615*d5c09012SAndroid Build Coastguard Worker    // VCF (Variant Call Format). The VCF files may be gzip compressed. gVCF is
616*d5c09012SAndroid Build Coastguard Worker    // also supported.
617*d5c09012SAndroid Build Coastguard Worker    FORMAT_VCF = 1;
618*d5c09012SAndroid Build Coastguard Worker
619*d5c09012SAndroid Build Coastguard Worker    // Complete Genomics masterVarBeta format. The masterVarBeta files may
620*d5c09012SAndroid Build Coastguard Worker    // be bzip2 compressed.
621*d5c09012SAndroid Build Coastguard Worker    FORMAT_COMPLETE_GENOMICS = 2;
622*d5c09012SAndroid Build Coastguard Worker  }
623*d5c09012SAndroid Build Coastguard Worker
624*d5c09012SAndroid Build Coastguard Worker  // Required. The variant set to which variant data should be imported.
625*d5c09012SAndroid Build Coastguard Worker  string variant_set_id = 1;
626*d5c09012SAndroid Build Coastguard Worker
627*d5c09012SAndroid Build Coastguard Worker  // A list of URIs referencing variant files in Google Cloud Storage. URIs can
628*d5c09012SAndroid Build Coastguard Worker  // include wildcards [as described
629*d5c09012SAndroid Build Coastguard Worker  // here](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames).
630*d5c09012SAndroid Build Coastguard Worker  // Note that recursive wildcards ('**') are not supported.
631*d5c09012SAndroid Build Coastguard Worker  repeated string source_uris = 2;
632*d5c09012SAndroid Build Coastguard Worker
633*d5c09012SAndroid Build Coastguard Worker  // The format of the variant data being imported. If unspecified, defaults to
634*d5c09012SAndroid Build Coastguard Worker  // to `VCF`.
635*d5c09012SAndroid Build Coastguard Worker  Format format = 3;
636*d5c09012SAndroid Build Coastguard Worker
637*d5c09012SAndroid Build Coastguard Worker  // Convert reference names to the canonical representation.
638*d5c09012SAndroid Build Coastguard Worker  // hg19 haploytypes (those reference names containing "_hap")
639*d5c09012SAndroid Build Coastguard Worker  // are not modified in any way.
640*d5c09012SAndroid Build Coastguard Worker  // All other reference names are modified according to the following rules:
641*d5c09012SAndroid Build Coastguard Worker  // The reference name is capitalized.
642*d5c09012SAndroid Build Coastguard Worker  // The "chr" prefix is dropped for all autosomes and sex chromsomes.
643*d5c09012SAndroid Build Coastguard Worker  // For example "chr17" becomes "17" and "chrX" becomes "X".
644*d5c09012SAndroid Build Coastguard Worker  // All mitochondrial chromosomes ("chrM", "chrMT", etc) become "MT".
645*d5c09012SAndroid Build Coastguard Worker  bool normalize_reference_names = 5;
646*d5c09012SAndroid Build Coastguard Worker
647*d5c09012SAndroid Build Coastguard Worker  // A mapping between info field keys and the InfoMergeOperations to
648*d5c09012SAndroid Build Coastguard Worker  // be performed on them. This is plumbed down to the MergeVariantRequests
649*d5c09012SAndroid Build Coastguard Worker  // generated by the resulting import job.
650*d5c09012SAndroid Build Coastguard Worker  map<string, InfoMergeOperation> info_merge_config = 6;
651*d5c09012SAndroid Build Coastguard Worker}
652*d5c09012SAndroid Build Coastguard Worker
653*d5c09012SAndroid Build Coastguard Worker// The variant data import response.
654*d5c09012SAndroid Build Coastguard Workermessage ImportVariantsResponse {
655*d5c09012SAndroid Build Coastguard Worker  // IDs of the call sets created during the import.
656*d5c09012SAndroid Build Coastguard Worker  repeated string call_set_ids = 1;
657*d5c09012SAndroid Build Coastguard Worker}
658*d5c09012SAndroid Build Coastguard Worker
659*d5c09012SAndroid Build Coastguard Worker// The CreateVariantSet request
660*d5c09012SAndroid Build Coastguard Workermessage CreateVariantSetRequest {
661*d5c09012SAndroid Build Coastguard Worker  // Required. The variant set to be created. Must have a valid `datasetId`.
662*d5c09012SAndroid Build Coastguard Worker  VariantSet variant_set = 1;
663*d5c09012SAndroid Build Coastguard Worker}
664*d5c09012SAndroid Build Coastguard Worker
665*d5c09012SAndroid Build Coastguard Worker// The variant data export request.
666*d5c09012SAndroid Build Coastguard Workermessage ExportVariantSetRequest {
667*d5c09012SAndroid Build Coastguard Worker  enum Format {
668*d5c09012SAndroid Build Coastguard Worker    FORMAT_UNSPECIFIED = 0;
669*d5c09012SAndroid Build Coastguard Worker
670*d5c09012SAndroid Build Coastguard Worker    // Export the data to Google BigQuery.
671*d5c09012SAndroid Build Coastguard Worker    FORMAT_BIGQUERY = 1;
672*d5c09012SAndroid Build Coastguard Worker  }
673*d5c09012SAndroid Build Coastguard Worker
674*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the variant set that contains variant data which
675*d5c09012SAndroid Build Coastguard Worker  // should be exported. The caller must have READ access to this variant set.
676*d5c09012SAndroid Build Coastguard Worker  string variant_set_id = 1;
677*d5c09012SAndroid Build Coastguard Worker
678*d5c09012SAndroid Build Coastguard Worker  // If provided, only variant call information from the specified call sets
679*d5c09012SAndroid Build Coastguard Worker  // will be exported. By default all variant calls are exported.
680*d5c09012SAndroid Build Coastguard Worker  repeated string call_set_ids = 2;
681*d5c09012SAndroid Build Coastguard Worker
682*d5c09012SAndroid Build Coastguard Worker  // Required. The Google Cloud project ID that owns the destination
683*d5c09012SAndroid Build Coastguard Worker  // BigQuery dataset. The caller must have WRITE access to this project.  This
684*d5c09012SAndroid Build Coastguard Worker  // project will also own the resulting export job.
685*d5c09012SAndroid Build Coastguard Worker  string project_id = 3;
686*d5c09012SAndroid Build Coastguard Worker
687*d5c09012SAndroid Build Coastguard Worker  // The format for the exported data.
688*d5c09012SAndroid Build Coastguard Worker  Format format = 4;
689*d5c09012SAndroid Build Coastguard Worker
690*d5c09012SAndroid Build Coastguard Worker  // Required. The BigQuery dataset to export data to. This dataset must already
691*d5c09012SAndroid Build Coastguard Worker  // exist. Note that this is distinct from the Genomics concept of "dataset".
692*d5c09012SAndroid Build Coastguard Worker  string bigquery_dataset = 5;
693*d5c09012SAndroid Build Coastguard Worker
694*d5c09012SAndroid Build Coastguard Worker  // Required. The BigQuery table to export data to.
695*d5c09012SAndroid Build Coastguard Worker  // If the table doesn't exist, it will be created. If it already exists, it
696*d5c09012SAndroid Build Coastguard Worker  // will be overwritten.
697*d5c09012SAndroid Build Coastguard Worker  string bigquery_table = 6;
698*d5c09012SAndroid Build Coastguard Worker}
699*d5c09012SAndroid Build Coastguard Worker
700*d5c09012SAndroid Build Coastguard Worker// The variant set request.
701*d5c09012SAndroid Build Coastguard Workermessage GetVariantSetRequest {
702*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the variant set.
703*d5c09012SAndroid Build Coastguard Worker  string variant_set_id = 1;
704*d5c09012SAndroid Build Coastguard Worker}
705*d5c09012SAndroid Build Coastguard Worker
706*d5c09012SAndroid Build Coastguard Worker// The search variant sets request.
707*d5c09012SAndroid Build Coastguard Workermessage SearchVariantSetsRequest {
708*d5c09012SAndroid Build Coastguard Worker  // Exactly one dataset ID must be provided here. Only variant sets which
709*d5c09012SAndroid Build Coastguard Worker  // belong to this dataset will be returned.
710*d5c09012SAndroid Build Coastguard Worker  repeated string dataset_ids = 1;
711*d5c09012SAndroid Build Coastguard Worker
712*d5c09012SAndroid Build Coastguard Worker  // The continuation token, which is used to page through large result sets.
713*d5c09012SAndroid Build Coastguard Worker  // To get the next page of results, set this parameter to the value of
714*d5c09012SAndroid Build Coastguard Worker  // `nextPageToken` from the previous response.
715*d5c09012SAndroid Build Coastguard Worker  string page_token = 2;
716*d5c09012SAndroid Build Coastguard Worker
717*d5c09012SAndroid Build Coastguard Worker  // The maximum number of results to return in a single page. If unspecified,
718*d5c09012SAndroid Build Coastguard Worker  // defaults to 1024.
719*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 3;
720*d5c09012SAndroid Build Coastguard Worker}
721*d5c09012SAndroid Build Coastguard Worker
722*d5c09012SAndroid Build Coastguard Worker// The search variant sets response.
723*d5c09012SAndroid Build Coastguard Workermessage SearchVariantSetsResponse {
724*d5c09012SAndroid Build Coastguard Worker  // The variant sets belonging to the requested dataset.
725*d5c09012SAndroid Build Coastguard Worker  repeated VariantSet variant_sets = 1;
726*d5c09012SAndroid Build Coastguard Worker
727*d5c09012SAndroid Build Coastguard Worker  // The continuation token, which is used to page through large result sets.
728*d5c09012SAndroid Build Coastguard Worker  // Provide this value in a subsequent request to return the next page of
729*d5c09012SAndroid Build Coastguard Worker  // results. This field will be empty if there aren't any additional results.
730*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
731*d5c09012SAndroid Build Coastguard Worker}
732*d5c09012SAndroid Build Coastguard Worker
733*d5c09012SAndroid Build Coastguard Worker// The delete variant set request.
734*d5c09012SAndroid Build Coastguard Workermessage DeleteVariantSetRequest {
735*d5c09012SAndroid Build Coastguard Worker  // The ID of the variant set to be deleted.
736*d5c09012SAndroid Build Coastguard Worker  string variant_set_id = 1;
737*d5c09012SAndroid Build Coastguard Worker}
738*d5c09012SAndroid Build Coastguard Worker
739*d5c09012SAndroid Build Coastguard Workermessage UpdateVariantSetRequest {
740*d5c09012SAndroid Build Coastguard Worker  // The ID of the variant to be updated (must already exist).
741*d5c09012SAndroid Build Coastguard Worker  string variant_set_id = 1;
742*d5c09012SAndroid Build Coastguard Worker
743*d5c09012SAndroid Build Coastguard Worker  // The new variant data. Only the variant_set.metadata will be considered
744*d5c09012SAndroid Build Coastguard Worker  // for update.
745*d5c09012SAndroid Build Coastguard Worker  VariantSet variant_set = 2;
746*d5c09012SAndroid Build Coastguard Worker
747*d5c09012SAndroid Build Coastguard Worker  // An optional mask specifying which fields to update. Supported fields:
748*d5c09012SAndroid Build Coastguard Worker  //
749*d5c09012SAndroid Build Coastguard Worker  // * [metadata][google.genomics.v1.VariantSet.metadata].
750*d5c09012SAndroid Build Coastguard Worker  // * [name][google.genomics.v1.VariantSet.name].
751*d5c09012SAndroid Build Coastguard Worker  // * [description][google.genomics.v1.VariantSet.description].
752*d5c09012SAndroid Build Coastguard Worker  //
753*d5c09012SAndroid Build Coastguard Worker  // Leaving `updateMask` unset is equivalent to specifying all mutable
754*d5c09012SAndroid Build Coastguard Worker  // fields.
755*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 5;
756*d5c09012SAndroid Build Coastguard Worker}
757*d5c09012SAndroid Build Coastguard Worker
758*d5c09012SAndroid Build Coastguard Worker// The variant search request.
759*d5c09012SAndroid Build Coastguard Workermessage SearchVariantsRequest {
760*d5c09012SAndroid Build Coastguard Worker  // At most one variant set ID must be provided. Only variants from this
761*d5c09012SAndroid Build Coastguard Worker  // variant set will be returned. If omitted, a call set id must be included in
762*d5c09012SAndroid Build Coastguard Worker  // the request.
763*d5c09012SAndroid Build Coastguard Worker  repeated string variant_set_ids = 1;
764*d5c09012SAndroid Build Coastguard Worker
765*d5c09012SAndroid Build Coastguard Worker  // Only return variants which have exactly this name.
766*d5c09012SAndroid Build Coastguard Worker  string variant_name = 2;
767*d5c09012SAndroid Build Coastguard Worker
768*d5c09012SAndroid Build Coastguard Worker  // Only return variant calls which belong to call sets with these ids.
769*d5c09012SAndroid Build Coastguard Worker  // Leaving this blank returns all variant calls. If a variant has no
770*d5c09012SAndroid Build Coastguard Worker  // calls belonging to any of these call sets, it won't be returned at all.
771*d5c09012SAndroid Build Coastguard Worker  repeated string call_set_ids = 3;
772*d5c09012SAndroid Build Coastguard Worker
773*d5c09012SAndroid Build Coastguard Worker  // Required. Only return variants in this reference sequence.
774*d5c09012SAndroid Build Coastguard Worker  string reference_name = 4;
775*d5c09012SAndroid Build Coastguard Worker
776*d5c09012SAndroid Build Coastguard Worker  // The beginning of the window (0-based, inclusive) for which
777*d5c09012SAndroid Build Coastguard Worker  // overlapping variants should be returned. If unspecified, defaults to 0.
778*d5c09012SAndroid Build Coastguard Worker  int64 start = 5;
779*d5c09012SAndroid Build Coastguard Worker
780*d5c09012SAndroid Build Coastguard Worker  // The end of the window, 0-based exclusive. If unspecified or 0, defaults to
781*d5c09012SAndroid Build Coastguard Worker  // the length of the reference.
782*d5c09012SAndroid Build Coastguard Worker  int64 end = 6;
783*d5c09012SAndroid Build Coastguard Worker
784*d5c09012SAndroid Build Coastguard Worker  // The continuation token, which is used to page through large result sets.
785*d5c09012SAndroid Build Coastguard Worker  // To get the next page of results, set this parameter to the value of
786*d5c09012SAndroid Build Coastguard Worker  // `nextPageToken` from the previous response.
787*d5c09012SAndroid Build Coastguard Worker  string page_token = 7;
788*d5c09012SAndroid Build Coastguard Worker
789*d5c09012SAndroid Build Coastguard Worker  // The maximum number of variants to return in a single page. If unspecified,
790*d5c09012SAndroid Build Coastguard Worker  // defaults to 5000. The maximum value is 10000.
791*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 8;
792*d5c09012SAndroid Build Coastguard Worker
793*d5c09012SAndroid Build Coastguard Worker  // The maximum number of calls to return in a single page. Note that this
794*d5c09012SAndroid Build Coastguard Worker  // limit may be exceeded in the event that a matching variant contains more
795*d5c09012SAndroid Build Coastguard Worker  // calls than the requested maximum. If unspecified, defaults to 5000. The
796*d5c09012SAndroid Build Coastguard Worker  // maximum value is 10000.
797*d5c09012SAndroid Build Coastguard Worker  int32 max_calls = 9;
798*d5c09012SAndroid Build Coastguard Worker}
799*d5c09012SAndroid Build Coastguard Worker
800*d5c09012SAndroid Build Coastguard Worker// The variant search response.
801*d5c09012SAndroid Build Coastguard Workermessage SearchVariantsResponse {
802*d5c09012SAndroid Build Coastguard Worker  // The list of matching Variants.
803*d5c09012SAndroid Build Coastguard Worker  repeated Variant variants = 1;
804*d5c09012SAndroid Build Coastguard Worker
805*d5c09012SAndroid Build Coastguard Worker  // The continuation token, which is used to page through large result sets.
806*d5c09012SAndroid Build Coastguard Worker  // Provide this value in a subsequent request to return the next page of
807*d5c09012SAndroid Build Coastguard Worker  // results. This field will be empty if there aren't any additional results.
808*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
809*d5c09012SAndroid Build Coastguard Worker}
810*d5c09012SAndroid Build Coastguard Worker
811*d5c09012SAndroid Build Coastguard Workermessage CreateVariantRequest {
812*d5c09012SAndroid Build Coastguard Worker  // The variant to be created.
813*d5c09012SAndroid Build Coastguard Worker  Variant variant = 1;
814*d5c09012SAndroid Build Coastguard Worker}
815*d5c09012SAndroid Build Coastguard Worker
816*d5c09012SAndroid Build Coastguard Workermessage UpdateVariantRequest {
817*d5c09012SAndroid Build Coastguard Worker  // The ID of the variant to be updated.
818*d5c09012SAndroid Build Coastguard Worker  string variant_id = 1;
819*d5c09012SAndroid Build Coastguard Worker
820*d5c09012SAndroid Build Coastguard Worker  // The new variant data.
821*d5c09012SAndroid Build Coastguard Worker  Variant variant = 2;
822*d5c09012SAndroid Build Coastguard Worker
823*d5c09012SAndroid Build Coastguard Worker  // An optional mask specifying which fields to update. At this time, mutable
824*d5c09012SAndroid Build Coastguard Worker  // fields are [names][google.genomics.v1.Variant.names] and
825*d5c09012SAndroid Build Coastguard Worker  // [info][google.genomics.v1.Variant.info]. Acceptable values are "names" and
826*d5c09012SAndroid Build Coastguard Worker  // "info". If unspecified, all mutable fields will be updated.
827*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3;
828*d5c09012SAndroid Build Coastguard Worker}
829*d5c09012SAndroid Build Coastguard Worker
830*d5c09012SAndroid Build Coastguard Workermessage DeleteVariantRequest {
831*d5c09012SAndroid Build Coastguard Worker  // The ID of the variant to be deleted.
832*d5c09012SAndroid Build Coastguard Worker  string variant_id = 1;
833*d5c09012SAndroid Build Coastguard Worker}
834*d5c09012SAndroid Build Coastguard Worker
835*d5c09012SAndroid Build Coastguard Workermessage GetVariantRequest {
836*d5c09012SAndroid Build Coastguard Worker  // The ID of the variant.
837*d5c09012SAndroid Build Coastguard Worker  string variant_id = 1;
838*d5c09012SAndroid Build Coastguard Worker}
839*d5c09012SAndroid Build Coastguard Worker
840*d5c09012SAndroid Build Coastguard Workermessage MergeVariantsRequest {
841*d5c09012SAndroid Build Coastguard Worker  // The destination variant set.
842*d5c09012SAndroid Build Coastguard Worker  string variant_set_id = 1;
843*d5c09012SAndroid Build Coastguard Worker
844*d5c09012SAndroid Build Coastguard Worker  // The variants to be merged with existing variants.
845*d5c09012SAndroid Build Coastguard Worker  repeated Variant variants = 2;
846*d5c09012SAndroid Build Coastguard Worker
847*d5c09012SAndroid Build Coastguard Worker  // A mapping between info field keys and the InfoMergeOperations to
848*d5c09012SAndroid Build Coastguard Worker  // be performed on them.
849*d5c09012SAndroid Build Coastguard Worker  map<string, InfoMergeOperation> info_merge_config = 3;
850*d5c09012SAndroid Build Coastguard Worker}
851*d5c09012SAndroid Build Coastguard Worker
852*d5c09012SAndroid Build Coastguard Worker// The call set search request.
853*d5c09012SAndroid Build Coastguard Workermessage SearchCallSetsRequest {
854*d5c09012SAndroid Build Coastguard Worker  // Restrict the query to call sets within the given variant sets. At least one
855*d5c09012SAndroid Build Coastguard Worker  // ID must be provided.
856*d5c09012SAndroid Build Coastguard Worker  repeated string variant_set_ids = 1;
857*d5c09012SAndroid Build Coastguard Worker
858*d5c09012SAndroid Build Coastguard Worker  // Only return call sets for which a substring of the name matches this
859*d5c09012SAndroid Build Coastguard Worker  // string.
860*d5c09012SAndroid Build Coastguard Worker  string name = 2;
861*d5c09012SAndroid Build Coastguard Worker
862*d5c09012SAndroid Build Coastguard Worker  // The continuation token, which is used to page through large result sets.
863*d5c09012SAndroid Build Coastguard Worker  // To get the next page of results, set this parameter to the value of
864*d5c09012SAndroid Build Coastguard Worker  // `nextPageToken` from the previous response.
865*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
866*d5c09012SAndroid Build Coastguard Worker
867*d5c09012SAndroid Build Coastguard Worker  // The maximum number of results to return in a single page. If unspecified,
868*d5c09012SAndroid Build Coastguard Worker  // defaults to 1024.
869*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 4;
870*d5c09012SAndroid Build Coastguard Worker}
871*d5c09012SAndroid Build Coastguard Worker
872*d5c09012SAndroid Build Coastguard Worker// The call set search response.
873*d5c09012SAndroid Build Coastguard Workermessage SearchCallSetsResponse {
874*d5c09012SAndroid Build Coastguard Worker  // The list of matching call sets.
875*d5c09012SAndroid Build Coastguard Worker  repeated CallSet call_sets = 1;
876*d5c09012SAndroid Build Coastguard Worker
877*d5c09012SAndroid Build Coastguard Worker  // The continuation token, which is used to page through large result sets.
878*d5c09012SAndroid Build Coastguard Worker  // Provide this value in a subsequent request to return the next page of
879*d5c09012SAndroid Build Coastguard Worker  // results. This field will be empty if there aren't any additional results.
880*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
881*d5c09012SAndroid Build Coastguard Worker}
882*d5c09012SAndroid Build Coastguard Worker
883*d5c09012SAndroid Build Coastguard Workermessage CreateCallSetRequest {
884*d5c09012SAndroid Build Coastguard Worker  // The call set to be created.
885*d5c09012SAndroid Build Coastguard Worker  CallSet call_set = 1;
886*d5c09012SAndroid Build Coastguard Worker}
887*d5c09012SAndroid Build Coastguard Worker
888*d5c09012SAndroid Build Coastguard Workermessage UpdateCallSetRequest {
889*d5c09012SAndroid Build Coastguard Worker  // The ID of the call set to be updated.
890*d5c09012SAndroid Build Coastguard Worker  string call_set_id = 1;
891*d5c09012SAndroid Build Coastguard Worker
892*d5c09012SAndroid Build Coastguard Worker  // The new call set data.
893*d5c09012SAndroid Build Coastguard Worker  CallSet call_set = 2;
894*d5c09012SAndroid Build Coastguard Worker
895*d5c09012SAndroid Build Coastguard Worker  // An optional mask specifying which fields to update. At this time, the only
896*d5c09012SAndroid Build Coastguard Worker  // mutable field is [name][google.genomics.v1.CallSet.name]. The only
897*d5c09012SAndroid Build Coastguard Worker  // acceptable value is "name". If unspecified, all mutable fields will be
898*d5c09012SAndroid Build Coastguard Worker  // updated.
899*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3;
900*d5c09012SAndroid Build Coastguard Worker}
901*d5c09012SAndroid Build Coastguard Worker
902*d5c09012SAndroid Build Coastguard Workermessage DeleteCallSetRequest {
903*d5c09012SAndroid Build Coastguard Worker  // The ID of the call set to be deleted.
904*d5c09012SAndroid Build Coastguard Worker  string call_set_id = 1;
905*d5c09012SAndroid Build Coastguard Worker}
906*d5c09012SAndroid Build Coastguard Worker
907*d5c09012SAndroid Build Coastguard Workermessage GetCallSetRequest {
908*d5c09012SAndroid Build Coastguard Worker  // The ID of the call set.
909*d5c09012SAndroid Build Coastguard Worker  string call_set_id = 1;
910*d5c09012SAndroid Build Coastguard Worker}
911*d5c09012SAndroid Build Coastguard Worker
912*d5c09012SAndroid Build Coastguard Worker// The stream variants request.
913*d5c09012SAndroid Build Coastguard Workermessage StreamVariantsRequest {
914*d5c09012SAndroid Build Coastguard Worker  // The Google Cloud project ID which will be billed
915*d5c09012SAndroid Build Coastguard Worker  // for this access. The caller must have WRITE access to this project.
916*d5c09012SAndroid Build Coastguard Worker  // Required.
917*d5c09012SAndroid Build Coastguard Worker  string project_id = 1;
918*d5c09012SAndroid Build Coastguard Worker
919*d5c09012SAndroid Build Coastguard Worker  // The variant set ID from which to stream variants.
920*d5c09012SAndroid Build Coastguard Worker  string variant_set_id = 2;
921*d5c09012SAndroid Build Coastguard Worker
922*d5c09012SAndroid Build Coastguard Worker  // Only return variant calls which belong to call sets with these IDs.
923*d5c09012SAndroid Build Coastguard Worker  // Leaving this blank returns all variant calls.
924*d5c09012SAndroid Build Coastguard Worker  repeated string call_set_ids = 3;
925*d5c09012SAndroid Build Coastguard Worker
926*d5c09012SAndroid Build Coastguard Worker  // Required. Only return variants in this reference sequence.
927*d5c09012SAndroid Build Coastguard Worker  string reference_name = 4;
928*d5c09012SAndroid Build Coastguard Worker
929*d5c09012SAndroid Build Coastguard Worker  // The beginning of the window (0-based, inclusive) for which
930*d5c09012SAndroid Build Coastguard Worker  // overlapping variants should be returned.
931*d5c09012SAndroid Build Coastguard Worker  int64 start = 5;
932*d5c09012SAndroid Build Coastguard Worker
933*d5c09012SAndroid Build Coastguard Worker  // The end of the window (0-based, exclusive) for which overlapping
934*d5c09012SAndroid Build Coastguard Worker  // variants should be returned.
935*d5c09012SAndroid Build Coastguard Worker  int64 end = 6;
936*d5c09012SAndroid Build Coastguard Worker}
937*d5c09012SAndroid Build Coastguard Worker
938*d5c09012SAndroid Build Coastguard Workermessage StreamVariantsResponse {
939*d5c09012SAndroid Build Coastguard Worker  repeated Variant variants = 1;
940*d5c09012SAndroid Build Coastguard Worker}
941*d5c09012SAndroid Build Coastguard Worker
942*d5c09012SAndroid Build Coastguard Worker// Operations to be performed during import on Variant info fields.
943*d5c09012SAndroid Build Coastguard Worker// These operations are set for each info field in the info_merge_config
944*d5c09012SAndroid Build Coastguard Worker// map of ImportVariantsRequest, which is plumbed down to the
945*d5c09012SAndroid Build Coastguard Worker// MergeVariantRequests generated by the import job.
946*d5c09012SAndroid Build Coastguard Workerenum InfoMergeOperation {
947*d5c09012SAndroid Build Coastguard Worker  INFO_MERGE_OPERATION_UNSPECIFIED = 0;
948*d5c09012SAndroid Build Coastguard Worker
949*d5c09012SAndroid Build Coastguard Worker  // By default, Variant info fields are persisted if the Variant doesn't
950*d5c09012SAndroid Build Coastguard Worker  // already exist in the variantset.  If the Variant is equivalent to a
951*d5c09012SAndroid Build Coastguard Worker  // Variant already in the variantset, the incoming Variant's info field
952*d5c09012SAndroid Build Coastguard Worker  // is ignored in favor of that of the already persisted Variant.
953*d5c09012SAndroid Build Coastguard Worker  IGNORE_NEW = 1;
954*d5c09012SAndroid Build Coastguard Worker
955*d5c09012SAndroid Build Coastguard Worker  // This operation removes an info field from the incoming Variant
956*d5c09012SAndroid Build Coastguard Worker  // and persists this info field in each of the incoming Variant's Calls.
957*d5c09012SAndroid Build Coastguard Worker  MOVE_TO_CALLS = 2;
958*d5c09012SAndroid Build Coastguard Worker}
959