1// Copyright 2016 Google Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/genomics/v1/readalignment.proto
20
21package genomics
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	_ "google.golang.org/genproto/googleapis/api/annotations"
28	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
29	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
30	structpb "google.golang.org/protobuf/types/known/structpb"
31)
32
33const (
34	// Verify that this generated code is sufficiently up-to-date.
35	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
36	// Verify that runtime/protoimpl is sufficiently up-to-date.
37	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
38)
39
40// A linear alignment can be represented by one CIGAR string. Describes the
41// mapped position and local alignment of the read to the reference.
42type LinearAlignment struct {
43	state         protoimpl.MessageState
44	sizeCache     protoimpl.SizeCache
45	unknownFields protoimpl.UnknownFields
46
47	// The position of this alignment.
48	Position *Position `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
49	// The mapping quality of this alignment. Represents how likely
50	// the read maps to this position as opposed to other locations.
51	//
52	// Specifically, this is -10 log10 Pr(mapping position is wrong), rounded to
53	// the nearest integer.
54	MappingQuality int32 `protobuf:"varint,2,opt,name=mapping_quality,json=mappingQuality,proto3" json:"mapping_quality,omitempty"`
55	// Represents the local alignment of this sequence (alignment matches, indels,
56	// etc) against the reference.
57	Cigar []*CigarUnit `protobuf:"bytes,3,rep,name=cigar,proto3" json:"cigar,omitempty"`
58}
59
60func (x *LinearAlignment) Reset() {
61	*x = LinearAlignment{}
62	if protoimpl.UnsafeEnabled {
63		mi := &file_google_genomics_v1_readalignment_proto_msgTypes[0]
64		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
65		ms.StoreMessageInfo(mi)
66	}
67}
68
69func (x *LinearAlignment) String() string {
70	return protoimpl.X.MessageStringOf(x)
71}
72
73func (*LinearAlignment) ProtoMessage() {}
74
75func (x *LinearAlignment) ProtoReflect() protoreflect.Message {
76	mi := &file_google_genomics_v1_readalignment_proto_msgTypes[0]
77	if protoimpl.UnsafeEnabled && x != nil {
78		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
79		if ms.LoadMessageInfo() == nil {
80			ms.StoreMessageInfo(mi)
81		}
82		return ms
83	}
84	return mi.MessageOf(x)
85}
86
87// Deprecated: Use LinearAlignment.ProtoReflect.Descriptor instead.
88func (*LinearAlignment) Descriptor() ([]byte, []int) {
89	return file_google_genomics_v1_readalignment_proto_rawDescGZIP(), []int{0}
90}
91
92func (x *LinearAlignment) GetPosition() *Position {
93	if x != nil {
94		return x.Position
95	}
96	return nil
97}
98
99func (x *LinearAlignment) GetMappingQuality() int32 {
100	if x != nil {
101		return x.MappingQuality
102	}
103	return 0
104}
105
106func (x *LinearAlignment) GetCigar() []*CigarUnit {
107	if x != nil {
108		return x.Cigar
109	}
110	return nil
111}
112
113// A read alignment describes a linear alignment of a string of DNA to a
114// [reference sequence][google.genomics.v1.Reference], in addition to metadata
115// about the fragment (the molecule of DNA sequenced) and the read (the bases
116// which were read by the sequencer). A read is equivalent to a line in a SAM
117// file. A read belongs to exactly one read group and exactly one
118// [read group set][google.genomics.v1.ReadGroupSet].
119//
120// For more genomics resource definitions, see [Fundamentals of Google
121// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
122//
123// ### Reverse-stranded reads
124//
125// Mapped reads (reads having a non-null `alignment`) can be aligned to either
126// the forward or the reverse strand of their associated reference. Strandedness
127// of a mapped read is encoded by `alignment.position.reverseStrand`.
128//
129// If we consider the reference to be a forward-stranded coordinate space of
130// `[0, reference.length)` with `0` as the left-most position and
131// `reference.length` as the right-most position, reads are always aligned left
132// to right. That is, `alignment.position.position` always refers to the
133// left-most reference coordinate and `alignment.cigar` describes the alignment
134// of this read to the reference from left to right. All per-base fields such as
135// `alignedSequence` and `alignedQuality` share this same left-to-right
136// orientation; this is true of reads which are aligned to either strand. For
137// reverse-stranded reads, this means that `alignedSequence` is the reverse
138// complement of the bases that were originally reported by the sequencing
139// machine.
140//
141// ### Generating a reference-aligned sequence string
142//
143// When interacting with mapped reads, it's often useful to produce a string
144// representing the local alignment of the read to reference. The following
145// pseudocode demonstrates one way of doing this:
146//
147//     out = ""
148//     offset = 0
149//     for c in read.alignment.cigar {
150//       switch c.operation {
151//       case "ALIGNMENT_MATCH", "SEQUENCE_MATCH", "SEQUENCE_MISMATCH":
152//         out += read.alignedSequence[offset:offset+c.operationLength]
153//         offset += c.operationLength
154//         break
155//       case "CLIP_SOFT", "INSERT":
156//         offset += c.operationLength
157//         break
158//       case "PAD":
159//         out += repeat("*", c.operationLength)
160//         break
161//       case "DELETE":
162//         out += repeat("-", c.operationLength)
163//         break
164//       case "SKIP":
165//         out += repeat(" ", c.operationLength)
166//         break
167//       case "CLIP_HARD":
168//         break
169//       }
170//     }
171//     return out
172//
173// ### Converting to SAM's CIGAR string
174//
175// The following pseudocode generates a SAM CIGAR string from the
176// `cigar` field. Note that this is a lossy conversion
177// (`cigar.referenceSequence` is lost).
178//
179//     cigarMap = {
180//       "ALIGNMENT_MATCH": "M",
181//       "INSERT": "I",
182//       "DELETE": "D",
183//       "SKIP": "N",
184//       "CLIP_SOFT": "S",
185//       "CLIP_HARD": "H",
186//       "PAD": "P",
187//       "SEQUENCE_MATCH": "=",
188//       "SEQUENCE_MISMATCH": "X",
189//     }
190//     cigarStr = ""
191//     for c in read.alignment.cigar {
192//       cigarStr += c.operationLength + cigarMap[c.operation]
193//     }
194//     return cigarStr
195type Read struct {
196	state         protoimpl.MessageState
197	sizeCache     protoimpl.SizeCache
198	unknownFields protoimpl.UnknownFields
199
200	// The server-generated read ID, unique across all reads. This is different
201	// from the `fragmentName`.
202	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
203	// The ID of the read group this read belongs to. A read belongs to exactly
204	// one read group. This is a server-generated ID which is distinct from SAM's
205	// RG tag (for that value, see
206	// [ReadGroup.name][google.genomics.v1.ReadGroup.name]).
207	ReadGroupId string `protobuf:"bytes,2,opt,name=read_group_id,json=readGroupId,proto3" json:"read_group_id,omitempty"`
208	// The ID of the read group set this read belongs to. A read belongs to
209	// exactly one read group set.
210	ReadGroupSetId string `protobuf:"bytes,3,opt,name=read_group_set_id,json=readGroupSetId,proto3" json:"read_group_set_id,omitempty"`
211	// The fragment name. Equivalent to QNAME (query template name) in SAM.
212	FragmentName string `protobuf:"bytes,4,opt,name=fragment_name,json=fragmentName,proto3" json:"fragment_name,omitempty"`
213	// The orientation and the distance between reads from the fragment are
214	// consistent with the sequencing protocol (SAM flag 0x2).
215	ProperPlacement bool `protobuf:"varint,5,opt,name=proper_placement,json=properPlacement,proto3" json:"proper_placement,omitempty"`
216	// The fragment is a PCR or optical duplicate (SAM flag 0x400).
217	DuplicateFragment bool `protobuf:"varint,6,opt,name=duplicate_fragment,json=duplicateFragment,proto3" json:"duplicate_fragment,omitempty"`
218	// The observed length of the fragment, equivalent to TLEN in SAM.
219	FragmentLength int32 `protobuf:"varint,7,opt,name=fragment_length,json=fragmentLength,proto3" json:"fragment_length,omitempty"`
220	// The read number in sequencing. 0-based and less than numberReads. This
221	// field replaces SAM flag 0x40 and 0x80.
222	ReadNumber int32 `protobuf:"varint,8,opt,name=read_number,json=readNumber,proto3" json:"read_number,omitempty"`
223	// The number of reads in the fragment (extension to SAM flag 0x1).
224	NumberReads int32 `protobuf:"varint,9,opt,name=number_reads,json=numberReads,proto3" json:"number_reads,omitempty"`
225	// Whether this read did not pass filters, such as platform or vendor quality
226	// controls (SAM flag 0x200).
227	FailedVendorQualityChecks bool `protobuf:"varint,10,opt,name=failed_vendor_quality_checks,json=failedVendorQualityChecks,proto3" json:"failed_vendor_quality_checks,omitempty"`
228	// The linear alignment for this alignment record. This field is null for
229	// unmapped reads.
230	Alignment *LinearAlignment `protobuf:"bytes,11,opt,name=alignment,proto3" json:"alignment,omitempty"`
231	// Whether this alignment is secondary. Equivalent to SAM flag 0x100.
232	// A secondary alignment represents an alternative to the primary alignment
233	// for this read. Aligners may return secondary alignments if a read can map
234	// ambiguously to multiple coordinates in the genome. By convention, each read
235	// has one and only one alignment where both `secondaryAlignment`
236	// and `supplementaryAlignment` are false.
237	SecondaryAlignment bool `protobuf:"varint,12,opt,name=secondary_alignment,json=secondaryAlignment,proto3" json:"secondary_alignment,omitempty"`
238	// Whether this alignment is supplementary. Equivalent to SAM flag 0x800.
239	// Supplementary alignments are used in the representation of a chimeric
240	// alignment. In a chimeric alignment, a read is split into multiple
241	// linear alignments that map to different reference contigs. The first
242	// linear alignment in the read will be designated as the representative
243	// alignment; the remaining linear alignments will be designated as
244	// supplementary alignments. These alignments may have different mapping
245	// quality scores. In each linear alignment in a chimeric alignment, the read
246	// will be hard clipped. The `alignedSequence` and
247	// `alignedQuality` fields in the alignment record will only
248	// represent the bases for its respective linear alignment.
249	SupplementaryAlignment bool `protobuf:"varint,13,opt,name=supplementary_alignment,json=supplementaryAlignment,proto3" json:"supplementary_alignment,omitempty"`
250	// The bases of the read sequence contained in this alignment record,
251	// **without CIGAR operations applied** (equivalent to SEQ in SAM).
252	// `alignedSequence` and `alignedQuality` may be
253	// shorter than the full read sequence and quality. This will occur if the
254	// alignment is part of a chimeric alignment, or if the read was trimmed. When
255	// this occurs, the CIGAR for this read will begin/end with a hard clip
256	// operator that will indicate the length of the excised sequence.
257	AlignedSequence string `protobuf:"bytes,14,opt,name=aligned_sequence,json=alignedSequence,proto3" json:"aligned_sequence,omitempty"`
258	// The quality of the read sequence contained in this alignment record
259	// (equivalent to QUAL in SAM).
260	// `alignedSequence` and `alignedQuality` may be shorter than the full read
261	// sequence and quality. This will occur if the alignment is part of a
262	// chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR
263	// for this read will begin/end with a hard clip operator that will indicate
264	// the length of the excised sequence.
265	AlignedQuality []int32 `protobuf:"varint,15,rep,packed,name=aligned_quality,json=alignedQuality,proto3" json:"aligned_quality,omitempty"`
266	// The mapping of the primary alignment of the
267	// `(readNumber+1)%numberReads` read in the fragment. It replaces
268	// mate position and mate strand in SAM.
269	NextMatePosition *Position `protobuf:"bytes,16,opt,name=next_mate_position,json=nextMatePosition,proto3" json:"next_mate_position,omitempty"`
270	// A map of additional read alignment information. This must be of the form
271	// map<string, string[]> (string key mapping to a list of string values).
272	Info map[string]*structpb.ListValue `protobuf:"bytes,17,rep,name=info,proto3" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
273}
274
275func (x *Read) Reset() {
276	*x = Read{}
277	if protoimpl.UnsafeEnabled {
278		mi := &file_google_genomics_v1_readalignment_proto_msgTypes[1]
279		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
280		ms.StoreMessageInfo(mi)
281	}
282}
283
284func (x *Read) String() string {
285	return protoimpl.X.MessageStringOf(x)
286}
287
288func (*Read) ProtoMessage() {}
289
290func (x *Read) ProtoReflect() protoreflect.Message {
291	mi := &file_google_genomics_v1_readalignment_proto_msgTypes[1]
292	if protoimpl.UnsafeEnabled && x != nil {
293		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
294		if ms.LoadMessageInfo() == nil {
295			ms.StoreMessageInfo(mi)
296		}
297		return ms
298	}
299	return mi.MessageOf(x)
300}
301
302// Deprecated: Use Read.ProtoReflect.Descriptor instead.
303func (*Read) Descriptor() ([]byte, []int) {
304	return file_google_genomics_v1_readalignment_proto_rawDescGZIP(), []int{1}
305}
306
307func (x *Read) GetId() string {
308	if x != nil {
309		return x.Id
310	}
311	return ""
312}
313
314func (x *Read) GetReadGroupId() string {
315	if x != nil {
316		return x.ReadGroupId
317	}
318	return ""
319}
320
321func (x *Read) GetReadGroupSetId() string {
322	if x != nil {
323		return x.ReadGroupSetId
324	}
325	return ""
326}
327
328func (x *Read) GetFragmentName() string {
329	if x != nil {
330		return x.FragmentName
331	}
332	return ""
333}
334
335func (x *Read) GetProperPlacement() bool {
336	if x != nil {
337		return x.ProperPlacement
338	}
339	return false
340}
341
342func (x *Read) GetDuplicateFragment() bool {
343	if x != nil {
344		return x.DuplicateFragment
345	}
346	return false
347}
348
349func (x *Read) GetFragmentLength() int32 {
350	if x != nil {
351		return x.FragmentLength
352	}
353	return 0
354}
355
356func (x *Read) GetReadNumber() int32 {
357	if x != nil {
358		return x.ReadNumber
359	}
360	return 0
361}
362
363func (x *Read) GetNumberReads() int32 {
364	if x != nil {
365		return x.NumberReads
366	}
367	return 0
368}
369
370func (x *Read) GetFailedVendorQualityChecks() bool {
371	if x != nil {
372		return x.FailedVendorQualityChecks
373	}
374	return false
375}
376
377func (x *Read) GetAlignment() *LinearAlignment {
378	if x != nil {
379		return x.Alignment
380	}
381	return nil
382}
383
384func (x *Read) GetSecondaryAlignment() bool {
385	if x != nil {
386		return x.SecondaryAlignment
387	}
388	return false
389}
390
391func (x *Read) GetSupplementaryAlignment() bool {
392	if x != nil {
393		return x.SupplementaryAlignment
394	}
395	return false
396}
397
398func (x *Read) GetAlignedSequence() string {
399	if x != nil {
400		return x.AlignedSequence
401	}
402	return ""
403}
404
405func (x *Read) GetAlignedQuality() []int32 {
406	if x != nil {
407		return x.AlignedQuality
408	}
409	return nil
410}
411
412func (x *Read) GetNextMatePosition() *Position {
413	if x != nil {
414		return x.NextMatePosition
415	}
416	return nil
417}
418
419func (x *Read) GetInfo() map[string]*structpb.ListValue {
420	if x != nil {
421		return x.Info
422	}
423	return nil
424}
425
426var File_google_genomics_v1_readalignment_proto protoreflect.FileDescriptor
427
428var file_google_genomics_v1_readalignment_proto_rawDesc = []byte{
429	0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63,
430	0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65,
431	0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
432	0x2e, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f,
433	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
434	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
435	0x6c, 0x65, 0x2f, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63,
436	0x69, 0x67, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67,
437	0x6c, 0x65, 0x2f, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x70,
438	0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67,
439	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73,
440	0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x0f,
441	0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12,
442	0x38, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
443	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x65, 0x6e, 0x6f, 0x6d,
444	0x69, 0x63, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
445	0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x70,
446	0x70, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
447	0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69,
448	0x74, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x63, 0x69, 0x67, 0x61, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28,
449	0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x65, 0x6e, 0x6f, 0x6d,
450	0x69, 0x63, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x67, 0x61, 0x72, 0x55, 0x6e, 0x69, 0x74,
451	0x52, 0x05, 0x63, 0x69, 0x67, 0x61, 0x72, 0x22, 0xec, 0x06, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64,
452	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
453	0x12, 0x22, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69,
454	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x47, 0x72, 0x6f,
455	0x75, 0x70, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x11, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x67, 0x72, 0x6f,
456	0x75, 0x70, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
457	0x0e, 0x72, 0x65, 0x61, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12,
458	0x23, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
459	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74,
460	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x5f, 0x70,
461	0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
462	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12,
463	0x2d, 0x0a, 0x12, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x61,
464	0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x75, 0x70,
465	0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27,
466	0x0a, 0x0f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74,
467	0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e,
468	0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f,
469	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65,
470	0x61, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62,
471	0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b,
472	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x66,
473	0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x71, 0x75, 0x61,
474	0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28,
475	0x08, 0x52, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x56, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x51,
476	0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x41, 0x0a, 0x09,
477	0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
478	0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63,
479	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x69, 0x67, 0x6e,
480	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12,
481	0x2f, 0x0a, 0x13, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x69,
482	0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x65,
483	0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
484	0x12, 0x37, 0x0a, 0x17, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72,
485	0x79, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28,
486	0x08, 0x52, 0x16, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x79,
487	0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x69,
488	0x67, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0e, 0x20,
489	0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75,
490	0x65, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f,
491	0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x61,
492	0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a,
493	0x12, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
494	0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
495	0x6c, 0x65, 0x2e, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50,
496	0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x74,
497	0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x6e, 0x66,
498	0x6f, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
499	0x2e, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61,
500	0x64, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x69, 0x6e, 0x66,
501	0x6f, 0x1a, 0x53, 0x0a, 0x09, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
502	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
503	0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
504	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
505	0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
506	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x6d, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
507	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x2e, 0x76, 0x31,
508	0x42, 0x12, 0x52, 0x65, 0x61, 0x64, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50,
509	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
510	0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f,
511	0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x65,
512	0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69,
513	0x63, 0x73, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
514}
515
516var (
517	file_google_genomics_v1_readalignment_proto_rawDescOnce sync.Once
518	file_google_genomics_v1_readalignment_proto_rawDescData = file_google_genomics_v1_readalignment_proto_rawDesc
519)
520
521func file_google_genomics_v1_readalignment_proto_rawDescGZIP() []byte {
522	file_google_genomics_v1_readalignment_proto_rawDescOnce.Do(func() {
523		file_google_genomics_v1_readalignment_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_genomics_v1_readalignment_proto_rawDescData)
524	})
525	return file_google_genomics_v1_readalignment_proto_rawDescData
526}
527
528var file_google_genomics_v1_readalignment_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
529var file_google_genomics_v1_readalignment_proto_goTypes = []interface{}{
530	(*LinearAlignment)(nil),    // 0: google.genomics.v1.LinearAlignment
531	(*Read)(nil),               // 1: google.genomics.v1.Read
532	nil,                        // 2: google.genomics.v1.Read.InfoEntry
533	(*Position)(nil),           // 3: google.genomics.v1.Position
534	(*CigarUnit)(nil),          // 4: google.genomics.v1.CigarUnit
535	(*structpb.ListValue)(nil), // 5: google.protobuf.ListValue
536}
537var file_google_genomics_v1_readalignment_proto_depIdxs = []int32{
538	3, // 0: google.genomics.v1.LinearAlignment.position:type_name -> google.genomics.v1.Position
539	4, // 1: google.genomics.v1.LinearAlignment.cigar:type_name -> google.genomics.v1.CigarUnit
540	0, // 2: google.genomics.v1.Read.alignment:type_name -> google.genomics.v1.LinearAlignment
541	3, // 3: google.genomics.v1.Read.next_mate_position:type_name -> google.genomics.v1.Position
542	2, // 4: google.genomics.v1.Read.info:type_name -> google.genomics.v1.Read.InfoEntry
543	5, // 5: google.genomics.v1.Read.InfoEntry.value:type_name -> google.protobuf.ListValue
544	6, // [6:6] is the sub-list for method output_type
545	6, // [6:6] is the sub-list for method input_type
546	6, // [6:6] is the sub-list for extension type_name
547	6, // [6:6] is the sub-list for extension extendee
548	0, // [0:6] is the sub-list for field type_name
549}
550
551func init() { file_google_genomics_v1_readalignment_proto_init() }
552func file_google_genomics_v1_readalignment_proto_init() {
553	if File_google_genomics_v1_readalignment_proto != nil {
554		return
555	}
556	file_google_genomics_v1_cigar_proto_init()
557	file_google_genomics_v1_position_proto_init()
558	if !protoimpl.UnsafeEnabled {
559		file_google_genomics_v1_readalignment_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
560			switch v := v.(*LinearAlignment); i {
561			case 0:
562				return &v.state
563			case 1:
564				return &v.sizeCache
565			case 2:
566				return &v.unknownFields
567			default:
568				return nil
569			}
570		}
571		file_google_genomics_v1_readalignment_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
572			switch v := v.(*Read); i {
573			case 0:
574				return &v.state
575			case 1:
576				return &v.sizeCache
577			case 2:
578				return &v.unknownFields
579			default:
580				return nil
581			}
582		}
583	}
584	type x struct{}
585	out := protoimpl.TypeBuilder{
586		File: protoimpl.DescBuilder{
587			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
588			RawDescriptor: file_google_genomics_v1_readalignment_proto_rawDesc,
589			NumEnums:      0,
590			NumMessages:   3,
591			NumExtensions: 0,
592			NumServices:   0,
593		},
594		GoTypes:           file_google_genomics_v1_readalignment_proto_goTypes,
595		DependencyIndexes: file_google_genomics_v1_readalignment_proto_depIdxs,
596		MessageInfos:      file_google_genomics_v1_readalignment_proto_msgTypes,
597	}.Build()
598	File_google_genomics_v1_readalignment_proto = out.File
599	file_google_genomics_v1_readalignment_proto_rawDesc = nil
600	file_google_genomics_v1_readalignment_proto_goTypes = nil
601	file_google_genomics_v1_readalignment_proto_depIdxs = nil
602}
603