...

Source file src/google.golang.org/genproto/googleapis/genomics/v1/readalignment.pb.go

Documentation: google.golang.org/genproto/googleapis/genomics/v1

     1  // Copyright 2024 Google LLC
     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        v4.24.4
    19  // source: google/genomics/v1/readalignment.proto
    20  
    21  package genomics
    22  
    23  import (
    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  
    33  const (
    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.
    42  type 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  
    60  func (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  
    69  func (x *LinearAlignment) String() string {
    70  	return protoimpl.X.MessageStringOf(x)
    71  }
    72  
    73  func (*LinearAlignment) ProtoMessage() {}
    74  
    75  func (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.
    88  func (*LinearAlignment) Descriptor() ([]byte, []int) {
    89  	return file_google_genomics_v1_readalignment_proto_rawDescGZIP(), []int{0}
    90  }
    91  
    92  func (x *LinearAlignment) GetPosition() *Position {
    93  	if x != nil {
    94  		return x.Position
    95  	}
    96  	return nil
    97  }
    98  
    99  func (x *LinearAlignment) GetMappingQuality() int32 {
   100  	if x != nil {
   101  		return x.MappingQuality
   102  	}
   103  	return 0
   104  }
   105  
   106  func (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
   195  type 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  
   275  func (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  
   284  func (x *Read) String() string {
   285  	return protoimpl.X.MessageStringOf(x)
   286  }
   287  
   288  func (*Read) ProtoMessage() {}
   289  
   290  func (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.
   303  func (*Read) Descriptor() ([]byte, []int) {
   304  	return file_google_genomics_v1_readalignment_proto_rawDescGZIP(), []int{1}
   305  }
   306  
   307  func (x *Read) GetId() string {
   308  	if x != nil {
   309  		return x.Id
   310  	}
   311  	return ""
   312  }
   313  
   314  func (x *Read) GetReadGroupId() string {
   315  	if x != nil {
   316  		return x.ReadGroupId
   317  	}
   318  	return ""
   319  }
   320  
   321  func (x *Read) GetReadGroupSetId() string {
   322  	if x != nil {
   323  		return x.ReadGroupSetId
   324  	}
   325  	return ""
   326  }
   327  
   328  func (x *Read) GetFragmentName() string {
   329  	if x != nil {
   330  		return x.FragmentName
   331  	}
   332  	return ""
   333  }
   334  
   335  func (x *Read) GetProperPlacement() bool {
   336  	if x != nil {
   337  		return x.ProperPlacement
   338  	}
   339  	return false
   340  }
   341  
   342  func (x *Read) GetDuplicateFragment() bool {
   343  	if x != nil {
   344  		return x.DuplicateFragment
   345  	}
   346  	return false
   347  }
   348  
   349  func (x *Read) GetFragmentLength() int32 {
   350  	if x != nil {
   351  		return x.FragmentLength
   352  	}
   353  	return 0
   354  }
   355  
   356  func (x *Read) GetReadNumber() int32 {
   357  	if x != nil {
   358  		return x.ReadNumber
   359  	}
   360  	return 0
   361  }
   362  
   363  func (x *Read) GetNumberReads() int32 {
   364  	if x != nil {
   365  		return x.NumberReads
   366  	}
   367  	return 0
   368  }
   369  
   370  func (x *Read) GetFailedVendorQualityChecks() bool {
   371  	if x != nil {
   372  		return x.FailedVendorQualityChecks
   373  	}
   374  	return false
   375  }
   376  
   377  func (x *Read) GetAlignment() *LinearAlignment {
   378  	if x != nil {
   379  		return x.Alignment
   380  	}
   381  	return nil
   382  }
   383  
   384  func (x *Read) GetSecondaryAlignment() bool {
   385  	if x != nil {
   386  		return x.SecondaryAlignment
   387  	}
   388  	return false
   389  }
   390  
   391  func (x *Read) GetSupplementaryAlignment() bool {
   392  	if x != nil {
   393  		return x.SupplementaryAlignment
   394  	}
   395  	return false
   396  }
   397  
   398  func (x *Read) GetAlignedSequence() string {
   399  	if x != nil {
   400  		return x.AlignedSequence
   401  	}
   402  	return ""
   403  }
   404  
   405  func (x *Read) GetAlignedQuality() []int32 {
   406  	if x != nil {
   407  		return x.AlignedQuality
   408  	}
   409  	return nil
   410  }
   411  
   412  func (x *Read) GetNextMatePosition() *Position {
   413  	if x != nil {
   414  		return x.NextMatePosition
   415  	}
   416  	return nil
   417  }
   418  
   419  func (x *Read) GetInfo() map[string]*structpb.ListValue {
   420  	if x != nil {
   421  		return x.Info
   422  	}
   423  	return nil
   424  }
   425  
   426  var File_google_genomics_v1_readalignment_proto protoreflect.FileDescriptor
   427  
   428  var 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  
   516  var (
   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  
   521  func 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  
   528  var file_google_genomics_v1_readalignment_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
   529  var 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  }
   537  var 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  
   551  func init() { file_google_genomics_v1_readalignment_proto_init() }
   552  func 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  

View as plain text