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/protobuf/empty.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/wrappers.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto"; 25*d5c09012SAndroid Build Coastguard Worker 26*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true; 27*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/genomics/v1;genomics"; 28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "AnnotationsProto"; 30*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.genomics.v1"; 31*d5c09012SAndroid Build Coastguard Worker 32*d5c09012SAndroid Build Coastguard Worker// This service provides storage and positional retrieval of genomic 33*d5c09012SAndroid Build Coastguard Worker// reference annotations, including variant annotations. 34*d5c09012SAndroid Build Coastguard Workerservice AnnotationServiceV1 { 35*d5c09012SAndroid Build Coastguard Worker // Creates a new annotation set. Caller must have WRITE permission for the 36*d5c09012SAndroid Build Coastguard Worker // associated dataset. 37*d5c09012SAndroid Build Coastguard Worker // 38*d5c09012SAndroid Build Coastguard Worker // The following fields are required: 39*d5c09012SAndroid Build Coastguard Worker // 40*d5c09012SAndroid Build Coastguard Worker // * [datasetId][google.genomics.v1.AnnotationSet.dataset_id] 41*d5c09012SAndroid Build Coastguard Worker // * [referenceSetId][google.genomics.v1.AnnotationSet.reference_set_id] 42*d5c09012SAndroid Build Coastguard Worker // 43*d5c09012SAndroid Build Coastguard Worker // All other fields may be optionally specified, unless documented as being 44*d5c09012SAndroid Build Coastguard Worker // server-generated (for example, the `id` field). 45*d5c09012SAndroid Build Coastguard Worker rpc CreateAnnotationSet(CreateAnnotationSetRequest) returns (AnnotationSet) { 46*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 47*d5c09012SAndroid Build Coastguard Worker post: "/v1/annotationsets" 48*d5c09012SAndroid Build Coastguard Worker body: "annotation_set" 49*d5c09012SAndroid Build Coastguard Worker }; 50*d5c09012SAndroid Build Coastguard Worker } 51*d5c09012SAndroid Build Coastguard Worker 52*d5c09012SAndroid Build Coastguard Worker // Gets an annotation set. Caller must have READ permission for 53*d5c09012SAndroid Build Coastguard Worker // the associated dataset. 54*d5c09012SAndroid Build Coastguard Worker rpc GetAnnotationSet(GetAnnotationSetRequest) returns (AnnotationSet) { 55*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 56*d5c09012SAndroid Build Coastguard Worker get: "/v1/annotationsets/{annotation_set_id}" 57*d5c09012SAndroid Build Coastguard Worker }; 58*d5c09012SAndroid Build Coastguard Worker } 59*d5c09012SAndroid Build Coastguard Worker 60*d5c09012SAndroid Build Coastguard Worker // Updates an annotation set. The update must respect all mutability 61*d5c09012SAndroid Build Coastguard Worker // restrictions and other invariants described on the annotation set resource. 62*d5c09012SAndroid Build Coastguard Worker // Caller must have WRITE permission for the associated dataset. 63*d5c09012SAndroid Build Coastguard Worker rpc UpdateAnnotationSet(UpdateAnnotationSetRequest) returns (AnnotationSet) { 64*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 65*d5c09012SAndroid Build Coastguard Worker put: "/v1/annotationsets/{annotation_set_id}" 66*d5c09012SAndroid Build Coastguard Worker body: "annotation_set" 67*d5c09012SAndroid Build Coastguard Worker }; 68*d5c09012SAndroid Build Coastguard Worker } 69*d5c09012SAndroid Build Coastguard Worker 70*d5c09012SAndroid Build Coastguard Worker // Deletes an annotation set. Caller must have WRITE permission 71*d5c09012SAndroid Build Coastguard Worker // for the associated annotation set. 72*d5c09012SAndroid Build Coastguard Worker rpc DeleteAnnotationSet(DeleteAnnotationSetRequest) 73*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 74*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 75*d5c09012SAndroid Build Coastguard Worker delete: "/v1/annotationsets/{annotation_set_id}" 76*d5c09012SAndroid Build Coastguard Worker }; 77*d5c09012SAndroid Build Coastguard Worker } 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // Searches for annotation sets that match the given criteria. Annotation sets 80*d5c09012SAndroid Build Coastguard Worker // are returned in an unspecified order. This order is consistent, such that 81*d5c09012SAndroid Build Coastguard Worker // two queries for the same content (regardless of page size) yield annotation 82*d5c09012SAndroid Build Coastguard Worker // sets in the same order across their respective streams of paginated 83*d5c09012SAndroid Build Coastguard Worker // responses. Caller must have READ permission for the queried datasets. 84*d5c09012SAndroid Build Coastguard Worker rpc SearchAnnotationSets(SearchAnnotationSetsRequest) 85*d5c09012SAndroid Build Coastguard Worker returns (SearchAnnotationSetsResponse) { 86*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 87*d5c09012SAndroid Build Coastguard Worker post: "/v1/annotationsets/search" 88*d5c09012SAndroid Build Coastguard Worker body: "*" 89*d5c09012SAndroid Build Coastguard Worker }; 90*d5c09012SAndroid Build Coastguard Worker } 91*d5c09012SAndroid Build Coastguard Worker 92*d5c09012SAndroid Build Coastguard Worker // Creates a new annotation. Caller must have WRITE permission 93*d5c09012SAndroid Build Coastguard Worker // for the associated annotation set. 94*d5c09012SAndroid Build Coastguard Worker // 95*d5c09012SAndroid Build Coastguard Worker // The following fields are required: 96*d5c09012SAndroid Build Coastguard Worker // 97*d5c09012SAndroid Build Coastguard Worker // * [annotationSetId][google.genomics.v1.Annotation.annotation_set_id] 98*d5c09012SAndroid Build Coastguard Worker // * [referenceName][google.genomics.v1.Annotation.reference_name] or 99*d5c09012SAndroid Build Coastguard Worker // [referenceId][google.genomics.v1.Annotation.reference_id] 100*d5c09012SAndroid Build Coastguard Worker // 101*d5c09012SAndroid Build Coastguard Worker // ### Transcripts 102*d5c09012SAndroid Build Coastguard Worker // 103*d5c09012SAndroid Build Coastguard Worker // For annotations of type TRANSCRIPT, the following fields of 104*d5c09012SAndroid Build Coastguard Worker // [transcript][google.genomics.v1.Annotation.transcript] must be provided: 105*d5c09012SAndroid Build Coastguard Worker // 106*d5c09012SAndroid Build Coastguard Worker // * [exons.start][google.genomics.v1.Transcript.Exon.start] 107*d5c09012SAndroid Build Coastguard Worker // * [exons.end][google.genomics.v1.Transcript.Exon.end] 108*d5c09012SAndroid Build Coastguard Worker // 109*d5c09012SAndroid Build Coastguard Worker // All other fields may be optionally specified, unless documented as being 110*d5c09012SAndroid Build Coastguard Worker // server-generated (for example, the `id` field). The annotated 111*d5c09012SAndroid Build Coastguard Worker // range must be no longer than 100Mbp (mega base pairs). See the 112*d5c09012SAndroid Build Coastguard Worker // [Annotation resource][google.genomics.v1.Annotation] 113*d5c09012SAndroid Build Coastguard Worker // for additional restrictions on each field. 114*d5c09012SAndroid Build Coastguard Worker rpc CreateAnnotation(CreateAnnotationRequest) returns (Annotation) { 115*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 116*d5c09012SAndroid Build Coastguard Worker post: "/v1/annotations" 117*d5c09012SAndroid Build Coastguard Worker body: "annotation" 118*d5c09012SAndroid Build Coastguard Worker }; 119*d5c09012SAndroid Build Coastguard Worker } 120*d5c09012SAndroid Build Coastguard Worker 121*d5c09012SAndroid Build Coastguard Worker // Creates one or more new annotations atomically. All annotations must 122*d5c09012SAndroid Build Coastguard Worker // belong to the same annotation set. Caller must have WRITE 123*d5c09012SAndroid Build Coastguard Worker // permission for this annotation set. For optimal performance, batch 124*d5c09012SAndroid Build Coastguard Worker // positionally adjacent annotations together. 125*d5c09012SAndroid Build Coastguard Worker // 126*d5c09012SAndroid Build Coastguard Worker // If the request has a systemic issue, such as an attempt to write to 127*d5c09012SAndroid Build Coastguard Worker // an inaccessible annotation set, the entire RPC will fail accordingly. For 128*d5c09012SAndroid Build Coastguard Worker // lesser data issues, when possible an error will be isolated to the 129*d5c09012SAndroid Build Coastguard Worker // corresponding batch entry in the response; the remaining well formed 130*d5c09012SAndroid Build Coastguard Worker // annotations will be created normally. 131*d5c09012SAndroid Build Coastguard Worker // 132*d5c09012SAndroid Build Coastguard Worker // For details on the requirements for each individual annotation resource, 133*d5c09012SAndroid Build Coastguard Worker // see 134*d5c09012SAndroid Build Coastguard Worker // [CreateAnnotation][google.genomics.v1.AnnotationServiceV1.CreateAnnotation]. 135*d5c09012SAndroid Build Coastguard Worker rpc BatchCreateAnnotations(BatchCreateAnnotationsRequest) 136*d5c09012SAndroid Build Coastguard Worker returns (BatchCreateAnnotationsResponse) { 137*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 138*d5c09012SAndroid Build Coastguard Worker post: "/v1/annotations:batchCreate" 139*d5c09012SAndroid Build Coastguard Worker body: "*" 140*d5c09012SAndroid Build Coastguard Worker }; 141*d5c09012SAndroid Build Coastguard Worker } 142*d5c09012SAndroid Build Coastguard Worker 143*d5c09012SAndroid Build Coastguard Worker // Gets an annotation. Caller must have READ permission 144*d5c09012SAndroid Build Coastguard Worker // for the associated annotation set. 145*d5c09012SAndroid Build Coastguard Worker rpc GetAnnotation(GetAnnotationRequest) returns (Annotation) { 146*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 147*d5c09012SAndroid Build Coastguard Worker get: "/v1/annotations/{annotation_id}" 148*d5c09012SAndroid Build Coastguard Worker }; 149*d5c09012SAndroid Build Coastguard Worker } 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker // Updates an annotation. Caller must have 152*d5c09012SAndroid Build Coastguard Worker // WRITE permission for the associated dataset. 153*d5c09012SAndroid Build Coastguard Worker rpc UpdateAnnotation(UpdateAnnotationRequest) returns (Annotation) { 154*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 155*d5c09012SAndroid Build Coastguard Worker put: "/v1/annotations/{annotation_id}" 156*d5c09012SAndroid Build Coastguard Worker body: "annotation" 157*d5c09012SAndroid Build Coastguard Worker }; 158*d5c09012SAndroid Build Coastguard Worker } 159*d5c09012SAndroid Build Coastguard Worker 160*d5c09012SAndroid Build Coastguard Worker // Deletes an annotation. Caller must have WRITE permission for 161*d5c09012SAndroid Build Coastguard Worker // the associated annotation set. 162*d5c09012SAndroid Build Coastguard Worker rpc DeleteAnnotation(DeleteAnnotationRequest) 163*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 164*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 165*d5c09012SAndroid Build Coastguard Worker delete: "/v1/annotations/{annotation_id}" 166*d5c09012SAndroid Build Coastguard Worker }; 167*d5c09012SAndroid Build Coastguard Worker } 168*d5c09012SAndroid Build Coastguard Worker 169*d5c09012SAndroid Build Coastguard Worker // Searches for annotations that match the given criteria. Results are 170*d5c09012SAndroid Build Coastguard Worker // ordered by genomic coordinate (by reference sequence, then position). 171*d5c09012SAndroid Build Coastguard Worker // Annotations with equivalent genomic coordinates are returned in an 172*d5c09012SAndroid Build Coastguard Worker // unspecified order. This order is consistent, such that two queries for the 173*d5c09012SAndroid Build Coastguard Worker // same content (regardless of page size) yield annotations in the same order 174*d5c09012SAndroid Build Coastguard Worker // across their respective streams of paginated responses. Caller must have 175*d5c09012SAndroid Build Coastguard Worker // READ permission for the queried annotation sets. 176*d5c09012SAndroid Build Coastguard Worker rpc SearchAnnotations(SearchAnnotationsRequest) 177*d5c09012SAndroid Build Coastguard Worker returns (SearchAnnotationsResponse) { 178*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 179*d5c09012SAndroid Build Coastguard Worker post: "/v1/annotations/search" 180*d5c09012SAndroid Build Coastguard Worker body: "*" 181*d5c09012SAndroid Build Coastguard Worker }; 182*d5c09012SAndroid Build Coastguard Worker } 183*d5c09012SAndroid Build Coastguard Worker} 184*d5c09012SAndroid Build Coastguard Worker 185*d5c09012SAndroid Build Coastguard Worker// An annotation set is a logical grouping of annotations that share consistent 186*d5c09012SAndroid Build Coastguard Worker// type information and provenance. Examples of annotation sets include 'all 187*d5c09012SAndroid Build Coastguard Worker// genes from refseq', and 'all variant annotations from ClinVar'. 188*d5c09012SAndroid Build Coastguard Workermessage AnnotationSet { 189*d5c09012SAndroid Build Coastguard Worker // The server-generated annotation set ID, unique across all annotation sets. 190*d5c09012SAndroid Build Coastguard Worker string id = 1; 191*d5c09012SAndroid Build Coastguard Worker 192*d5c09012SAndroid Build Coastguard Worker // The dataset to which this annotation set belongs. 193*d5c09012SAndroid Build Coastguard Worker string dataset_id = 2; 194*d5c09012SAndroid Build Coastguard Worker 195*d5c09012SAndroid Build Coastguard Worker // The ID of the reference set that defines the coordinate space for this 196*d5c09012SAndroid Build Coastguard Worker // set's annotations. 197*d5c09012SAndroid Build Coastguard Worker string reference_set_id = 3; 198*d5c09012SAndroid Build Coastguard Worker 199*d5c09012SAndroid Build Coastguard Worker // The display name for this annotation set. 200*d5c09012SAndroid Build Coastguard Worker string name = 4; 201*d5c09012SAndroid Build Coastguard Worker 202*d5c09012SAndroid Build Coastguard Worker // The source URI describing the file from which this annotation set was 203*d5c09012SAndroid Build Coastguard Worker // generated, if any. 204*d5c09012SAndroid Build Coastguard Worker string source_uri = 5; 205*d5c09012SAndroid Build Coastguard Worker 206*d5c09012SAndroid Build Coastguard Worker // The type of annotations contained within this set. 207*d5c09012SAndroid Build Coastguard Worker AnnotationType type = 6; 208*d5c09012SAndroid Build Coastguard Worker 209*d5c09012SAndroid Build Coastguard Worker // A map of additional read alignment information. This must be of the form 210*d5c09012SAndroid Build Coastguard Worker // map<string, string[]> (string key mapping to a list of string values). 211*d5c09012SAndroid Build Coastguard Worker map<string, google.protobuf.ListValue> info = 17; 212*d5c09012SAndroid Build Coastguard Worker} 213*d5c09012SAndroid Build Coastguard Worker 214*d5c09012SAndroid Build Coastguard Worker// An annotation describes a region of reference genome. The value of an 215*d5c09012SAndroid Build Coastguard Worker// annotation may be one of several canonical types, supplemented by arbitrary 216*d5c09012SAndroid Build Coastguard Worker// info tags. An annotation is not inherently associated with a specific 217*d5c09012SAndroid Build Coastguard Worker// sample or individual (though a client could choose to use annotations in 218*d5c09012SAndroid Build Coastguard Worker// this way). Example canonical annotation types are `GENE` and 219*d5c09012SAndroid Build Coastguard Worker// `VARIANT`. 220*d5c09012SAndroid Build Coastguard Workermessage Annotation { 221*d5c09012SAndroid Build Coastguard Worker // The server-generated annotation ID, unique across all annotations. 222*d5c09012SAndroid Build Coastguard Worker string id = 1; 223*d5c09012SAndroid Build Coastguard Worker 224*d5c09012SAndroid Build Coastguard Worker // The annotation set to which this annotation belongs. 225*d5c09012SAndroid Build Coastguard Worker string annotation_set_id = 2; 226*d5c09012SAndroid Build Coastguard Worker 227*d5c09012SAndroid Build Coastguard Worker // The display name of this annotation. 228*d5c09012SAndroid Build Coastguard Worker string name = 3; 229*d5c09012SAndroid Build Coastguard Worker 230*d5c09012SAndroid Build Coastguard Worker // The ID of the Google Genomics reference associated with this range. 231*d5c09012SAndroid Build Coastguard Worker string reference_id = 4; 232*d5c09012SAndroid Build Coastguard Worker 233*d5c09012SAndroid Build Coastguard Worker // The display name corresponding to the reference specified by 234*d5c09012SAndroid Build Coastguard Worker // `referenceId`, for example `chr1`, `1`, or `chrX`. 235*d5c09012SAndroid Build Coastguard Worker string reference_name = 5; 236*d5c09012SAndroid Build Coastguard Worker 237*d5c09012SAndroid Build Coastguard Worker // The start position of the range on the reference, 0-based inclusive. 238*d5c09012SAndroid Build Coastguard Worker int64 start = 6; 239*d5c09012SAndroid Build Coastguard Worker 240*d5c09012SAndroid Build Coastguard Worker // The end position of the range on the reference, 0-based exclusive. 241*d5c09012SAndroid Build Coastguard Worker int64 end = 7; 242*d5c09012SAndroid Build Coastguard Worker 243*d5c09012SAndroid Build Coastguard Worker // Whether this range refers to the reverse strand, as opposed to the forward 244*d5c09012SAndroid Build Coastguard Worker // strand. Note that regardless of this field, the start/end position of the 245*d5c09012SAndroid Build Coastguard Worker // range always refer to the forward strand. 246*d5c09012SAndroid Build Coastguard Worker bool reverse_strand = 8; 247*d5c09012SAndroid Build Coastguard Worker 248*d5c09012SAndroid Build Coastguard Worker // The data type for this annotation. Must match the containing annotation 249*d5c09012SAndroid Build Coastguard Worker // set's type. 250*d5c09012SAndroid Build Coastguard Worker AnnotationType type = 9; 251*d5c09012SAndroid Build Coastguard Worker 252*d5c09012SAndroid Build Coastguard Worker oneof value { 253*d5c09012SAndroid Build Coastguard Worker // A variant annotation, which describes the effect of a variant on the 254*d5c09012SAndroid Build Coastguard Worker // genome, the coding sequence, and/or higher level consequences at the 255*d5c09012SAndroid Build Coastguard Worker // organism level e.g. pathogenicity. This field is only set for annotations 256*d5c09012SAndroid Build Coastguard Worker // of type `VARIANT`. 257*d5c09012SAndroid Build Coastguard Worker VariantAnnotation variant = 10; 258*d5c09012SAndroid Build Coastguard Worker 259*d5c09012SAndroid Build Coastguard Worker // A transcript value represents the assertion that a particular region of 260*d5c09012SAndroid Build Coastguard Worker // the reference genome may be transcribed as RNA. An alternative splicing 261*d5c09012SAndroid Build Coastguard Worker // pattern would be represented as a separate transcript object. This field 262*d5c09012SAndroid Build Coastguard Worker // is only set for annotations of type `TRANSCRIPT`. 263*d5c09012SAndroid Build Coastguard Worker Transcript transcript = 11; 264*d5c09012SAndroid Build Coastguard Worker } 265*d5c09012SAndroid Build Coastguard Worker 266*d5c09012SAndroid Build Coastguard Worker // A map of additional read alignment information. This must be of the form 267*d5c09012SAndroid Build Coastguard Worker // map<string, string[]> (string key mapping to a list of string values). 268*d5c09012SAndroid Build Coastguard Worker map<string, google.protobuf.ListValue> info = 12; 269*d5c09012SAndroid Build Coastguard Worker} 270*d5c09012SAndroid Build Coastguard Worker 271*d5c09012SAndroid Build Coastguard Workermessage VariantAnnotation { 272*d5c09012SAndroid Build Coastguard Worker message ClinicalCondition { 273*d5c09012SAndroid Build Coastguard Worker // A set of names for the condition. 274*d5c09012SAndroid Build Coastguard Worker repeated string names = 1; 275*d5c09012SAndroid Build Coastguard Worker 276*d5c09012SAndroid Build Coastguard Worker // The set of external IDs for this condition. 277*d5c09012SAndroid Build Coastguard Worker repeated ExternalId external_ids = 2; 278*d5c09012SAndroid Build Coastguard Worker 279*d5c09012SAndroid Build Coastguard Worker // The MedGen concept id associated with this gene. 280*d5c09012SAndroid Build Coastguard Worker // Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/ 281*d5c09012SAndroid Build Coastguard Worker string concept_id = 3; 282*d5c09012SAndroid Build Coastguard Worker 283*d5c09012SAndroid Build Coastguard Worker // The OMIM id for this condition. 284*d5c09012SAndroid Build Coastguard Worker // Search for these IDs at http://omim.org/ 285*d5c09012SAndroid Build Coastguard Worker string omim_id = 4; 286*d5c09012SAndroid Build Coastguard Worker } 287*d5c09012SAndroid Build Coastguard Worker 288*d5c09012SAndroid Build Coastguard Worker enum Type { 289*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 290*d5c09012SAndroid Build Coastguard Worker 291*d5c09012SAndroid Build Coastguard Worker // `TYPE_OTHER` should be used when no other Type will suffice. 292*d5c09012SAndroid Build Coastguard Worker // Further explanation of the variant type may be included in the 293*d5c09012SAndroid Build Coastguard Worker // [info][google.genomics.v1.Annotation.info] field. 294*d5c09012SAndroid Build Coastguard Worker TYPE_OTHER = 1; 295*d5c09012SAndroid Build Coastguard Worker 296*d5c09012SAndroid Build Coastguard Worker // `INSERTION` indicates an insertion. 297*d5c09012SAndroid Build Coastguard Worker INSERTION = 2; 298*d5c09012SAndroid Build Coastguard Worker 299*d5c09012SAndroid Build Coastguard Worker // `DELETION` indicates a deletion. 300*d5c09012SAndroid Build Coastguard Worker DELETION = 3; 301*d5c09012SAndroid Build Coastguard Worker 302*d5c09012SAndroid Build Coastguard Worker // `SUBSTITUTION` indicates a block substitution of 303*d5c09012SAndroid Build Coastguard Worker // two or more nucleotides. 304*d5c09012SAndroid Build Coastguard Worker SUBSTITUTION = 4; 305*d5c09012SAndroid Build Coastguard Worker 306*d5c09012SAndroid Build Coastguard Worker // `SNP` indicates a single nucleotide polymorphism. 307*d5c09012SAndroid Build Coastguard Worker SNP = 5; 308*d5c09012SAndroid Build Coastguard Worker 309*d5c09012SAndroid Build Coastguard Worker // `STRUCTURAL` indicates a large structural variant, 310*d5c09012SAndroid Build Coastguard Worker // including chromosomal fusions, inversions, etc. 311*d5c09012SAndroid Build Coastguard Worker STRUCTURAL = 6; 312*d5c09012SAndroid Build Coastguard Worker 313*d5c09012SAndroid Build Coastguard Worker // `CNV` indicates a variation in copy number. 314*d5c09012SAndroid Build Coastguard Worker CNV = 7; 315*d5c09012SAndroid Build Coastguard Worker } 316*d5c09012SAndroid Build Coastguard Worker 317*d5c09012SAndroid Build Coastguard Worker enum Effect { 318*d5c09012SAndroid Build Coastguard Worker EFFECT_UNSPECIFIED = 0; 319*d5c09012SAndroid Build Coastguard Worker 320*d5c09012SAndroid Build Coastguard Worker // `EFFECT_OTHER` should be used when no other Effect 321*d5c09012SAndroid Build Coastguard Worker // will suffice. 322*d5c09012SAndroid Build Coastguard Worker EFFECT_OTHER = 1; 323*d5c09012SAndroid Build Coastguard Worker 324*d5c09012SAndroid Build Coastguard Worker // `FRAMESHIFT` indicates a mutation in which the insertion or 325*d5c09012SAndroid Build Coastguard Worker // deletion of nucleotides resulted in a frameshift change. 326*d5c09012SAndroid Build Coastguard Worker FRAMESHIFT = 2; 327*d5c09012SAndroid Build Coastguard Worker 328*d5c09012SAndroid Build Coastguard Worker // `FRAME_PRESERVING_INDEL` indicates a mutation in which a 329*d5c09012SAndroid Build Coastguard Worker // multiple of three nucleotides has been inserted or deleted, resulting 330*d5c09012SAndroid Build Coastguard Worker // in no change to the reading frame of the coding sequence. 331*d5c09012SAndroid Build Coastguard Worker FRAME_PRESERVING_INDEL = 3; 332*d5c09012SAndroid Build Coastguard Worker 333*d5c09012SAndroid Build Coastguard Worker // `SYNONYMOUS_SNP` indicates a single nucleotide polymorphism 334*d5c09012SAndroid Build Coastguard Worker // mutation that results in no amino acid change. 335*d5c09012SAndroid Build Coastguard Worker SYNONYMOUS_SNP = 4; 336*d5c09012SAndroid Build Coastguard Worker 337*d5c09012SAndroid Build Coastguard Worker // `NONSYNONYMOUS_SNP` indicates a single nucleotide 338*d5c09012SAndroid Build Coastguard Worker // polymorphism mutation that results in an amino acid change. 339*d5c09012SAndroid Build Coastguard Worker NONSYNONYMOUS_SNP = 5; 340*d5c09012SAndroid Build Coastguard Worker 341*d5c09012SAndroid Build Coastguard Worker // `STOP_GAIN` indicates a mutation that leads to the creation 342*d5c09012SAndroid Build Coastguard Worker // of a stop codon at the variant site. Frameshift mutations creating 343*d5c09012SAndroid Build Coastguard Worker // downstream stop codons do not count as `STOP_GAIN`. 344*d5c09012SAndroid Build Coastguard Worker STOP_GAIN = 6; 345*d5c09012SAndroid Build Coastguard Worker 346*d5c09012SAndroid Build Coastguard Worker // `STOP_LOSS` indicates a mutation that eliminates a 347*d5c09012SAndroid Build Coastguard Worker // stop codon at the variant site. 348*d5c09012SAndroid Build Coastguard Worker STOP_LOSS = 7; 349*d5c09012SAndroid Build Coastguard Worker 350*d5c09012SAndroid Build Coastguard Worker // `SPLICE_SITE_DISRUPTION` indicates that this variant is 351*d5c09012SAndroid Build Coastguard Worker // found in a splice site for the associated transcript, and alters the 352*d5c09012SAndroid Build Coastguard Worker // normal splicing pattern. 353*d5c09012SAndroid Build Coastguard Worker SPLICE_SITE_DISRUPTION = 8; 354*d5c09012SAndroid Build Coastguard Worker } 355*d5c09012SAndroid Build Coastguard Worker 356*d5c09012SAndroid Build Coastguard Worker enum ClinicalSignificance { 357*d5c09012SAndroid Build Coastguard Worker CLINICAL_SIGNIFICANCE_UNSPECIFIED = 0; 358*d5c09012SAndroid Build Coastguard Worker 359*d5c09012SAndroid Build Coastguard Worker // `OTHER` should be used when no other clinical significance 360*d5c09012SAndroid Build Coastguard Worker // value will suffice. 361*d5c09012SAndroid Build Coastguard Worker CLINICAL_SIGNIFICANCE_OTHER = 1; 362*d5c09012SAndroid Build Coastguard Worker 363*d5c09012SAndroid Build Coastguard Worker UNCERTAIN = 2; 364*d5c09012SAndroid Build Coastguard Worker 365*d5c09012SAndroid Build Coastguard Worker BENIGN = 3; 366*d5c09012SAndroid Build Coastguard Worker 367*d5c09012SAndroid Build Coastguard Worker LIKELY_BENIGN = 4; 368*d5c09012SAndroid Build Coastguard Worker 369*d5c09012SAndroid Build Coastguard Worker LIKELY_PATHOGENIC = 5; 370*d5c09012SAndroid Build Coastguard Worker 371*d5c09012SAndroid Build Coastguard Worker PATHOGENIC = 6; 372*d5c09012SAndroid Build Coastguard Worker 373*d5c09012SAndroid Build Coastguard Worker DRUG_RESPONSE = 7; 374*d5c09012SAndroid Build Coastguard Worker 375*d5c09012SAndroid Build Coastguard Worker HISTOCOMPATIBILITY = 8; 376*d5c09012SAndroid Build Coastguard Worker 377*d5c09012SAndroid Build Coastguard Worker CONFERS_SENSITIVITY = 9; 378*d5c09012SAndroid Build Coastguard Worker 379*d5c09012SAndroid Build Coastguard Worker RISK_FACTOR = 10; 380*d5c09012SAndroid Build Coastguard Worker 381*d5c09012SAndroid Build Coastguard Worker ASSOCIATION = 11; 382*d5c09012SAndroid Build Coastguard Worker 383*d5c09012SAndroid Build Coastguard Worker PROTECTIVE = 12; 384*d5c09012SAndroid Build Coastguard Worker 385*d5c09012SAndroid Build Coastguard Worker // `MULTIPLE_REPORTED` should be used when multiple clinical 386*d5c09012SAndroid Build Coastguard Worker // signficances are reported for a variant. The original clinical 387*d5c09012SAndroid Build Coastguard Worker // significance values may be provided in the `info` field. 388*d5c09012SAndroid Build Coastguard Worker MULTIPLE_REPORTED = 13; 389*d5c09012SAndroid Build Coastguard Worker } 390*d5c09012SAndroid Build Coastguard Worker 391*d5c09012SAndroid Build Coastguard Worker // Type has been adapted from ClinVar's list of variant types. 392*d5c09012SAndroid Build Coastguard Worker Type type = 1; 393*d5c09012SAndroid Build Coastguard Worker 394*d5c09012SAndroid Build Coastguard Worker // Effect of the variant on the coding sequence. 395*d5c09012SAndroid Build Coastguard Worker Effect effect = 2; 396*d5c09012SAndroid Build Coastguard Worker 397*d5c09012SAndroid Build Coastguard Worker // The alternate allele for this variant. If multiple alternate alleles 398*d5c09012SAndroid Build Coastguard Worker // exist at this location, create a separate variant for each one, as they 399*d5c09012SAndroid Build Coastguard Worker // may represent distinct conditions. 400*d5c09012SAndroid Build Coastguard Worker string alternate_bases = 3; 401*d5c09012SAndroid Build Coastguard Worker 402*d5c09012SAndroid Build Coastguard Worker // Google annotation ID of the gene affected by this variant. This should 403*d5c09012SAndroid Build Coastguard Worker // be provided when the variant is created. 404*d5c09012SAndroid Build Coastguard Worker string gene_id = 4; 405*d5c09012SAndroid Build Coastguard Worker 406*d5c09012SAndroid Build Coastguard Worker // Google annotation IDs of the transcripts affected by this variant. These 407*d5c09012SAndroid Build Coastguard Worker // should be provided when the variant is created. 408*d5c09012SAndroid Build Coastguard Worker repeated string transcript_ids = 5; 409*d5c09012SAndroid Build Coastguard Worker 410*d5c09012SAndroid Build Coastguard Worker // The set of conditions associated with this variant. 411*d5c09012SAndroid Build Coastguard Worker // A condition describes the way a variant influences human health. 412*d5c09012SAndroid Build Coastguard Worker repeated ClinicalCondition conditions = 6; 413*d5c09012SAndroid Build Coastguard Worker 414*d5c09012SAndroid Build Coastguard Worker // Describes the clinical significance of a variant. 415*d5c09012SAndroid Build Coastguard Worker // It is adapted from the ClinVar controlled vocabulary for clinical 416*d5c09012SAndroid Build Coastguard Worker // significance described at: 417*d5c09012SAndroid Build Coastguard Worker // http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/ 418*d5c09012SAndroid Build Coastguard Worker ClinicalSignificance clinical_significance = 7; 419*d5c09012SAndroid Build Coastguard Worker} 420*d5c09012SAndroid Build Coastguard Worker 421*d5c09012SAndroid Build Coastguard Worker// A transcript represents the assertion that a particular region of the 422*d5c09012SAndroid Build Coastguard Worker// reference genome may be transcribed as RNA. 423*d5c09012SAndroid Build Coastguard Workermessage Transcript { 424*d5c09012SAndroid Build Coastguard Worker message Exon { 425*d5c09012SAndroid Build Coastguard Worker // The start position of the exon on this annotation's reference sequence, 426*d5c09012SAndroid Build Coastguard Worker // 0-based inclusive. Note that this is relative to the reference start, and 427*d5c09012SAndroid Build Coastguard Worker // **not** the containing annotation start. 428*d5c09012SAndroid Build Coastguard Worker int64 start = 1; 429*d5c09012SAndroid Build Coastguard Worker 430*d5c09012SAndroid Build Coastguard Worker // The end position of the exon on this annotation's reference sequence, 431*d5c09012SAndroid Build Coastguard Worker // 0-based exclusive. Note that this is relative to the reference start, and 432*d5c09012SAndroid Build Coastguard Worker // *not* the containing annotation start. 433*d5c09012SAndroid Build Coastguard Worker int64 end = 2; 434*d5c09012SAndroid Build Coastguard Worker 435*d5c09012SAndroid Build Coastguard Worker // The frame of this exon. Contains a value of 0, 1, or 2, which indicates 436*d5c09012SAndroid Build Coastguard Worker // the offset of the first coding base of the exon within the reading frame 437*d5c09012SAndroid Build Coastguard Worker // of the coding DNA sequence, if any. This field is dependent on the 438*d5c09012SAndroid Build Coastguard Worker // strandedness of this annotation (see 439*d5c09012SAndroid Build Coastguard Worker // [Annotation.reverse_strand][google.genomics.v1.Annotation.reverse_strand]). 440*d5c09012SAndroid Build Coastguard Worker // For forward stranded annotations, this offset is relative to the 441*d5c09012SAndroid Build Coastguard Worker // [exon.start][google.genomics.v1.Transcript.Exon.start]. For reverse 442*d5c09012SAndroid Build Coastguard Worker // strand annotations, this offset is relative to the 443*d5c09012SAndroid Build Coastguard Worker // [exon.end][google.genomics.v1.Transcript.Exon.end] `- 1`. 444*d5c09012SAndroid Build Coastguard Worker // 445*d5c09012SAndroid Build Coastguard Worker // Unset if this exon does not intersect the coding sequence. Upon creation 446*d5c09012SAndroid Build Coastguard Worker // of a transcript, the frame must be populated for all or none of the 447*d5c09012SAndroid Build Coastguard Worker // coding exons. 448*d5c09012SAndroid Build Coastguard Worker google.protobuf.Int32Value frame = 3; 449*d5c09012SAndroid Build Coastguard Worker } 450*d5c09012SAndroid Build Coastguard Worker 451*d5c09012SAndroid Build Coastguard Worker message CodingSequence { 452*d5c09012SAndroid Build Coastguard Worker // The start of the coding sequence on this annotation's reference sequence, 453*d5c09012SAndroid Build Coastguard Worker // 0-based inclusive. Note that this position is relative to the reference 454*d5c09012SAndroid Build Coastguard Worker // start, and *not* the containing annotation start. 455*d5c09012SAndroid Build Coastguard Worker int64 start = 1; 456*d5c09012SAndroid Build Coastguard Worker 457*d5c09012SAndroid Build Coastguard Worker // The end of the coding sequence on this annotation's reference sequence, 458*d5c09012SAndroid Build Coastguard Worker // 0-based exclusive. Note that this position is relative to the reference 459*d5c09012SAndroid Build Coastguard Worker // start, and *not* the containing annotation start. 460*d5c09012SAndroid Build Coastguard Worker int64 end = 2; 461*d5c09012SAndroid Build Coastguard Worker } 462*d5c09012SAndroid Build Coastguard Worker 463*d5c09012SAndroid Build Coastguard Worker // The annotation ID of the gene from which this transcript is transcribed. 464*d5c09012SAndroid Build Coastguard Worker string gene_id = 1; 465*d5c09012SAndroid Build Coastguard Worker 466*d5c09012SAndroid Build Coastguard Worker // The <a href="http://en.wikipedia.org/wiki/Exon">exons</a> that compose 467*d5c09012SAndroid Build Coastguard Worker // this transcript. This field should be unset for genomes where transcript 468*d5c09012SAndroid Build Coastguard Worker // splicing does not occur, for example prokaryotes. 469*d5c09012SAndroid Build Coastguard Worker // 470*d5c09012SAndroid Build Coastguard Worker // Introns are regions of the transcript that are not included in the 471*d5c09012SAndroid Build Coastguard Worker // spliced RNA product. Though not explicitly modeled here, intron ranges can 472*d5c09012SAndroid Build Coastguard Worker // be deduced; all regions of this transcript that are not exons are introns. 473*d5c09012SAndroid Build Coastguard Worker // 474*d5c09012SAndroid Build Coastguard Worker // Exonic sequences do not necessarily code for a translational product 475*d5c09012SAndroid Build Coastguard Worker // (amino acids). Only the regions of exons bounded by the 476*d5c09012SAndroid Build Coastguard Worker // [codingSequence][google.genomics.v1.Transcript.coding_sequence] correspond 477*d5c09012SAndroid Build Coastguard Worker // to coding DNA sequence. 478*d5c09012SAndroid Build Coastguard Worker // 479*d5c09012SAndroid Build Coastguard Worker // Exons are ordered by start position and may not overlap. 480*d5c09012SAndroid Build Coastguard Worker repeated Exon exons = 2; 481*d5c09012SAndroid Build Coastguard Worker 482*d5c09012SAndroid Build Coastguard Worker // The range of the coding sequence for this transcript, if any. To determine 483*d5c09012SAndroid Build Coastguard Worker // the exact ranges of coding sequence, intersect this range with those of the 484*d5c09012SAndroid Build Coastguard Worker // [exons][google.genomics.v1.Transcript.exons], if any. If there are any 485*d5c09012SAndroid Build Coastguard Worker // [exons][google.genomics.v1.Transcript.exons], the 486*d5c09012SAndroid Build Coastguard Worker // [codingSequence][google.genomics.v1.Transcript.coding_sequence] must start 487*d5c09012SAndroid Build Coastguard Worker // and end within them. 488*d5c09012SAndroid Build Coastguard Worker // 489*d5c09012SAndroid Build Coastguard Worker // Note that in some cases, the reference genome will not exactly match the 490*d5c09012SAndroid Build Coastguard Worker // observed mRNA transcript e.g. due to variance in the source genome from 491*d5c09012SAndroid Build Coastguard Worker // reference. In these cases, 492*d5c09012SAndroid Build Coastguard Worker // [exon.frame][google.genomics.v1.Transcript.Exon.frame] will not necessarily 493*d5c09012SAndroid Build Coastguard Worker // match the expected reference reading frame and coding exon reference bases 494*d5c09012SAndroid Build Coastguard Worker // cannot necessarily be concatenated to produce the original transcript mRNA. 495*d5c09012SAndroid Build Coastguard Worker CodingSequence coding_sequence = 3; 496*d5c09012SAndroid Build Coastguard Worker} 497*d5c09012SAndroid Build Coastguard Worker 498*d5c09012SAndroid Build Coastguard Workermessage ExternalId { 499*d5c09012SAndroid Build Coastguard Worker // The name of the source of this data. 500*d5c09012SAndroid Build Coastguard Worker string source_name = 1; 501*d5c09012SAndroid Build Coastguard Worker 502*d5c09012SAndroid Build Coastguard Worker // The id used by the source of this data. 503*d5c09012SAndroid Build Coastguard Worker string id = 2; 504*d5c09012SAndroid Build Coastguard Worker} 505*d5c09012SAndroid Build Coastguard Worker 506*d5c09012SAndroid Build Coastguard Workermessage CreateAnnotationSetRequest { 507*d5c09012SAndroid Build Coastguard Worker // The annotation set to create. 508*d5c09012SAndroid Build Coastguard Worker AnnotationSet annotation_set = 1; 509*d5c09012SAndroid Build Coastguard Worker} 510*d5c09012SAndroid Build Coastguard Worker 511*d5c09012SAndroid Build Coastguard Workermessage GetAnnotationSetRequest { 512*d5c09012SAndroid Build Coastguard Worker // The ID of the annotation set to be retrieved. 513*d5c09012SAndroid Build Coastguard Worker string annotation_set_id = 1; 514*d5c09012SAndroid Build Coastguard Worker} 515*d5c09012SAndroid Build Coastguard Worker 516*d5c09012SAndroid Build Coastguard Workermessage UpdateAnnotationSetRequest { 517*d5c09012SAndroid Build Coastguard Worker // The ID of the annotation set to be updated. 518*d5c09012SAndroid Build Coastguard Worker string annotation_set_id = 1; 519*d5c09012SAndroid Build Coastguard Worker 520*d5c09012SAndroid Build Coastguard Worker // The new annotation set. 521*d5c09012SAndroid Build Coastguard Worker AnnotationSet annotation_set = 2; 522*d5c09012SAndroid Build Coastguard Worker 523*d5c09012SAndroid Build Coastguard Worker // An optional mask specifying which fields to update. Mutable fields are 524*d5c09012SAndroid Build Coastguard Worker // [name][google.genomics.v1.AnnotationSet.name], 525*d5c09012SAndroid Build Coastguard Worker // [source_uri][google.genomics.v1.AnnotationSet.source_uri], and 526*d5c09012SAndroid Build Coastguard Worker // [info][google.genomics.v1.AnnotationSet.info]. If unspecified, all 527*d5c09012SAndroid Build Coastguard Worker // mutable fields will be updated. 528*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 3; 529*d5c09012SAndroid Build Coastguard Worker} 530*d5c09012SAndroid Build Coastguard Worker 531*d5c09012SAndroid Build Coastguard Workermessage DeleteAnnotationSetRequest { 532*d5c09012SAndroid Build Coastguard Worker // The ID of the annotation set to be deleted. 533*d5c09012SAndroid Build Coastguard Worker string annotation_set_id = 1; 534*d5c09012SAndroid Build Coastguard Worker} 535*d5c09012SAndroid Build Coastguard Worker 536*d5c09012SAndroid Build Coastguard Workermessage SearchAnnotationSetsRequest { 537*d5c09012SAndroid Build Coastguard Worker // Required. The dataset IDs to search within. Caller must have `READ` access 538*d5c09012SAndroid Build Coastguard Worker // to these datasets. 539*d5c09012SAndroid Build Coastguard Worker repeated string dataset_ids = 1; 540*d5c09012SAndroid Build Coastguard Worker 541*d5c09012SAndroid Build Coastguard Worker // If specified, only annotation sets associated with the given reference set 542*d5c09012SAndroid Build Coastguard Worker // are returned. 543*d5c09012SAndroid Build Coastguard Worker string reference_set_id = 2; 544*d5c09012SAndroid Build Coastguard Worker 545*d5c09012SAndroid Build Coastguard Worker // Only return annotations sets for which a substring of the name matches this 546*d5c09012SAndroid Build Coastguard Worker // string (case insensitive). 547*d5c09012SAndroid Build Coastguard Worker string name = 3; 548*d5c09012SAndroid Build Coastguard Worker 549*d5c09012SAndroid Build Coastguard Worker // If specified, only annotation sets that have any of these types are 550*d5c09012SAndroid Build Coastguard Worker // returned. 551*d5c09012SAndroid Build Coastguard Worker repeated AnnotationType types = 4; 552*d5c09012SAndroid Build Coastguard Worker 553*d5c09012SAndroid Build Coastguard Worker // The continuation token, which is used to page through large result sets. 554*d5c09012SAndroid Build Coastguard Worker // To get the next page of results, set this parameter to the value of 555*d5c09012SAndroid Build Coastguard Worker // `nextPageToken` from the previous response. 556*d5c09012SAndroid Build Coastguard Worker string page_token = 5; 557*d5c09012SAndroid Build Coastguard Worker 558*d5c09012SAndroid Build Coastguard Worker // The maximum number of results to return in a single page. If unspecified, 559*d5c09012SAndroid Build Coastguard Worker // defaults to 128. The maximum value is 1024. 560*d5c09012SAndroid Build Coastguard Worker int32 page_size = 6; 561*d5c09012SAndroid Build Coastguard Worker} 562*d5c09012SAndroid Build Coastguard Worker 563*d5c09012SAndroid Build Coastguard Workermessage SearchAnnotationSetsResponse { 564*d5c09012SAndroid Build Coastguard Worker // The matching annotation sets. 565*d5c09012SAndroid Build Coastguard Worker repeated AnnotationSet annotation_sets = 1; 566*d5c09012SAndroid Build Coastguard Worker 567*d5c09012SAndroid Build Coastguard Worker // The continuation token, which is used to page through large result sets. 568*d5c09012SAndroid Build Coastguard Worker // Provide this value in a subsequent request to return the next page of 569*d5c09012SAndroid Build Coastguard Worker // results. This field will be empty if there aren't any additional results. 570*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 571*d5c09012SAndroid Build Coastguard Worker} 572*d5c09012SAndroid Build Coastguard Worker 573*d5c09012SAndroid Build Coastguard Workermessage CreateAnnotationRequest { 574*d5c09012SAndroid Build Coastguard Worker // The annotation to be created. 575*d5c09012SAndroid Build Coastguard Worker Annotation annotation = 1; 576*d5c09012SAndroid Build Coastguard Worker} 577*d5c09012SAndroid Build Coastguard Worker 578*d5c09012SAndroid Build Coastguard Workermessage BatchCreateAnnotationsRequest { 579*d5c09012SAndroid Build Coastguard Worker // The annotations to be created. At most 4096 can be specified in a single 580*d5c09012SAndroid Build Coastguard Worker // request. 581*d5c09012SAndroid Build Coastguard Worker repeated Annotation annotations = 1; 582*d5c09012SAndroid Build Coastguard Worker 583*d5c09012SAndroid Build Coastguard Worker // A unique request ID which enables the server to detect duplicated requests. 584*d5c09012SAndroid Build Coastguard Worker // If provided, duplicated requests will result in the same response; if not 585*d5c09012SAndroid Build Coastguard Worker // provided, duplicated requests may result in duplicated data. For a given 586*d5c09012SAndroid Build Coastguard Worker // annotation set, callers should not reuse `request_id`s when writing 587*d5c09012SAndroid Build Coastguard Worker // different batches of annotations - behavior in this case is undefined. 588*d5c09012SAndroid Build Coastguard Worker // A common approach is to use a UUID. For batch jobs where worker crashes are 589*d5c09012SAndroid Build Coastguard Worker // a possibility, consider using some unique variant of a worker or run ID. 590*d5c09012SAndroid Build Coastguard Worker string request_id = 2; 591*d5c09012SAndroid Build Coastguard Worker} 592*d5c09012SAndroid Build Coastguard Worker 593*d5c09012SAndroid Build Coastguard Workermessage BatchCreateAnnotationsResponse { 594*d5c09012SAndroid Build Coastguard Worker message Entry { 595*d5c09012SAndroid Build Coastguard Worker // The creation status. 596*d5c09012SAndroid Build Coastguard Worker google.rpc.Status status = 1; 597*d5c09012SAndroid Build Coastguard Worker 598*d5c09012SAndroid Build Coastguard Worker // The created annotation, if creation was successful. 599*d5c09012SAndroid Build Coastguard Worker Annotation annotation = 2; 600*d5c09012SAndroid Build Coastguard Worker } 601*d5c09012SAndroid Build Coastguard Worker 602*d5c09012SAndroid Build Coastguard Worker // The resulting per-annotation entries, ordered consistently with the 603*d5c09012SAndroid Build Coastguard Worker // original request. 604*d5c09012SAndroid Build Coastguard Worker repeated Entry entries = 1; 605*d5c09012SAndroid Build Coastguard Worker} 606*d5c09012SAndroid Build Coastguard Worker 607*d5c09012SAndroid Build Coastguard Workermessage GetAnnotationRequest { 608*d5c09012SAndroid Build Coastguard Worker // The ID of the annotation to be retrieved. 609*d5c09012SAndroid Build Coastguard Worker string annotation_id = 1; 610*d5c09012SAndroid Build Coastguard Worker} 611*d5c09012SAndroid Build Coastguard Worker 612*d5c09012SAndroid Build Coastguard Workermessage UpdateAnnotationRequest { 613*d5c09012SAndroid Build Coastguard Worker // The ID of the annotation to be updated. 614*d5c09012SAndroid Build Coastguard Worker string annotation_id = 1; 615*d5c09012SAndroid Build Coastguard Worker 616*d5c09012SAndroid Build Coastguard Worker // The new annotation. 617*d5c09012SAndroid Build Coastguard Worker Annotation annotation = 2; 618*d5c09012SAndroid Build Coastguard Worker 619*d5c09012SAndroid Build Coastguard Worker // An optional mask specifying which fields to update. Mutable fields are 620*d5c09012SAndroid Build Coastguard Worker // [name][google.genomics.v1.Annotation.name], 621*d5c09012SAndroid Build Coastguard Worker // [variant][google.genomics.v1.Annotation.variant], 622*d5c09012SAndroid Build Coastguard Worker // [transcript][google.genomics.v1.Annotation.transcript], and 623*d5c09012SAndroid Build Coastguard Worker // [info][google.genomics.v1.Annotation.info]. If unspecified, all mutable 624*d5c09012SAndroid Build Coastguard Worker // fields will be updated. 625*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 3; 626*d5c09012SAndroid Build Coastguard Worker} 627*d5c09012SAndroid Build Coastguard Worker 628*d5c09012SAndroid Build Coastguard Workermessage DeleteAnnotationRequest { 629*d5c09012SAndroid Build Coastguard Worker // The ID of the annotation to be deleted. 630*d5c09012SAndroid Build Coastguard Worker string annotation_id = 1; 631*d5c09012SAndroid Build Coastguard Worker} 632*d5c09012SAndroid Build Coastguard Worker 633*d5c09012SAndroid Build Coastguard Workermessage SearchAnnotationsRequest { 634*d5c09012SAndroid Build Coastguard Worker // Required. The annotation sets to search within. The caller must have 635*d5c09012SAndroid Build Coastguard Worker // `READ` access to these annotation sets. 636*d5c09012SAndroid Build Coastguard Worker // All queried annotation sets must have the same type. 637*d5c09012SAndroid Build Coastguard Worker repeated string annotation_set_ids = 1; 638*d5c09012SAndroid Build Coastguard Worker 639*d5c09012SAndroid Build Coastguard Worker // Required. `reference_id` or `reference_name` must be set. 640*d5c09012SAndroid Build Coastguard Worker oneof reference { 641*d5c09012SAndroid Build Coastguard Worker // The ID of the reference to query. 642*d5c09012SAndroid Build Coastguard Worker string reference_id = 2; 643*d5c09012SAndroid Build Coastguard Worker 644*d5c09012SAndroid Build Coastguard Worker // The name of the reference to query, within the reference set associated 645*d5c09012SAndroid Build Coastguard Worker // with this query. 646*d5c09012SAndroid Build Coastguard Worker string reference_name = 3; 647*d5c09012SAndroid Build Coastguard Worker } 648*d5c09012SAndroid Build Coastguard Worker 649*d5c09012SAndroid Build Coastguard Worker // The start position of the range on the reference, 0-based inclusive. If 650*d5c09012SAndroid Build Coastguard Worker // specified, 651*d5c09012SAndroid Build Coastguard Worker // [referenceId][google.genomics.v1.SearchAnnotationsRequest.reference_id] or 652*d5c09012SAndroid Build Coastguard Worker // [referenceName][google.genomics.v1.SearchAnnotationsRequest.reference_name] 653*d5c09012SAndroid Build Coastguard Worker // must be specified. Defaults to 0. 654*d5c09012SAndroid Build Coastguard Worker int64 start = 4; 655*d5c09012SAndroid Build Coastguard Worker 656*d5c09012SAndroid Build Coastguard Worker // The end position of the range on the reference, 0-based exclusive. If 657*d5c09012SAndroid Build Coastguard Worker // [referenceId][google.genomics.v1.SearchAnnotationsRequest.reference_id] or 658*d5c09012SAndroid Build Coastguard Worker // [referenceName][google.genomics.v1.SearchAnnotationsRequest.reference_name] 659*d5c09012SAndroid Build Coastguard Worker // must be specified, Defaults to the length of the reference. 660*d5c09012SAndroid Build Coastguard Worker int64 end = 5; 661*d5c09012SAndroid Build Coastguard Worker 662*d5c09012SAndroid Build Coastguard Worker // The continuation token, which is used to page through large result sets. 663*d5c09012SAndroid Build Coastguard Worker // To get the next page of results, set this parameter to the value of 664*d5c09012SAndroid Build Coastguard Worker // `nextPageToken` from the previous response. 665*d5c09012SAndroid Build Coastguard Worker string page_token = 6; 666*d5c09012SAndroid Build Coastguard Worker 667*d5c09012SAndroid Build Coastguard Worker // The maximum number of results to return in a single page. If unspecified, 668*d5c09012SAndroid Build Coastguard Worker // defaults to 256. The maximum value is 2048. 669*d5c09012SAndroid Build Coastguard Worker int32 page_size = 7; 670*d5c09012SAndroid Build Coastguard Worker} 671*d5c09012SAndroid Build Coastguard Worker 672*d5c09012SAndroid Build Coastguard Workermessage SearchAnnotationsResponse { 673*d5c09012SAndroid Build Coastguard Worker // The matching annotations. 674*d5c09012SAndroid Build Coastguard Worker repeated Annotation annotations = 1; 675*d5c09012SAndroid Build Coastguard Worker 676*d5c09012SAndroid Build Coastguard Worker // The continuation token, which is used to page through large result sets. 677*d5c09012SAndroid Build Coastguard Worker // Provide this value in a subsequent request to return the next page of 678*d5c09012SAndroid Build Coastguard Worker // results. This field will be empty if there aren't any additional results. 679*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 680*d5c09012SAndroid Build Coastguard Worker} 681*d5c09012SAndroid Build Coastguard Worker 682*d5c09012SAndroid Build Coastguard Worker// When an [Annotation][google.genomics.v1.Annotation] or 683*d5c09012SAndroid Build Coastguard Worker// [AnnotationSet][google.genomics.v1.AnnotationSet] is created, if `type` is 684*d5c09012SAndroid Build Coastguard Worker// not specified it will be set to `GENERIC`. 685*d5c09012SAndroid Build Coastguard Workerenum AnnotationType { 686*d5c09012SAndroid Build Coastguard Worker ANNOTATION_TYPE_UNSPECIFIED = 0; 687*d5c09012SAndroid Build Coastguard Worker 688*d5c09012SAndroid Build Coastguard Worker // A `GENERIC` annotation type should be used when no other annotation 689*d5c09012SAndroid Build Coastguard Worker // type will suffice. This represents an untyped annotation of the reference 690*d5c09012SAndroid Build Coastguard Worker // genome. 691*d5c09012SAndroid Build Coastguard Worker GENERIC = 1; 692*d5c09012SAndroid Build Coastguard Worker 693*d5c09012SAndroid Build Coastguard Worker // A `VARIANT` annotation type. 694*d5c09012SAndroid Build Coastguard Worker VARIANT = 2; 695*d5c09012SAndroid Build Coastguard Worker 696*d5c09012SAndroid Build Coastguard Worker // A `GENE` annotation type represents the existence of a gene at the 697*d5c09012SAndroid Build Coastguard Worker // associated reference coordinates. The start coordinate is typically the 698*d5c09012SAndroid Build Coastguard Worker // gene's transcription start site and the end is typically the end of the 699*d5c09012SAndroid Build Coastguard Worker // gene's last exon. 700*d5c09012SAndroid Build Coastguard Worker GENE = 3; 701*d5c09012SAndroid Build Coastguard Worker 702*d5c09012SAndroid Build Coastguard Worker // A `TRANSCRIPT` annotation type represents the assertion that a 703*d5c09012SAndroid Build Coastguard Worker // particular region of the reference genome may be transcribed as RNA. 704*d5c09012SAndroid Build Coastguard Worker TRANSCRIPT = 4; 705*d5c09012SAndroid Build Coastguard Worker} 706