OSDN Git Service

new repo
[bytom/vapor.git] / vendor / google.golang.org / genproto / googleapis / genomics / v1 / readalignment.pb.go
1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/genomics/v1/readalignment.proto
3
4 package genomics
5
6 import proto "github.com/golang/protobuf/proto"
7 import fmt "fmt"
8 import math "math"
9 import _ "google.golang.org/genproto/googleapis/api/annotations"
10 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
11
12 // Reference imports to suppress errors if they are not otherwise used.
13 var _ = proto.Marshal
14 var _ = fmt.Errorf
15 var _ = math.Inf
16
17 // A linear alignment can be represented by one CIGAR string. Describes the
18 // mapped position and local alignment of the read to the reference.
19 type LinearAlignment struct {
20         // The position of this alignment.
21         Position *Position `protobuf:"bytes,1,opt,name=position" json:"position,omitempty"`
22         // The mapping quality of this alignment. Represents how likely
23         // the read maps to this position as opposed to other locations.
24         //
25         // Specifically, this is -10 log10 Pr(mapping position is wrong), rounded to
26         // the nearest integer.
27         MappingQuality int32 `protobuf:"varint,2,opt,name=mapping_quality,json=mappingQuality" json:"mapping_quality,omitempty"`
28         // Represents the local alignment of this sequence (alignment matches, indels,
29         // etc) against the reference.
30         Cigar []*CigarUnit `protobuf:"bytes,3,rep,name=cigar" json:"cigar,omitempty"`
31 }
32
33 func (m *LinearAlignment) Reset()                    { *m = LinearAlignment{} }
34 func (m *LinearAlignment) String() string            { return proto.CompactTextString(m) }
35 func (*LinearAlignment) ProtoMessage()               {}
36 func (*LinearAlignment) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{0} }
37
38 func (m *LinearAlignment) GetPosition() *Position {
39         if m != nil {
40                 return m.Position
41         }
42         return nil
43 }
44
45 func (m *LinearAlignment) GetMappingQuality() int32 {
46         if m != nil {
47                 return m.MappingQuality
48         }
49         return 0
50 }
51
52 func (m *LinearAlignment) GetCigar() []*CigarUnit {
53         if m != nil {
54                 return m.Cigar
55         }
56         return nil
57 }
58
59 // A read alignment describes a linear alignment of a string of DNA to a
60 // [reference sequence][google.genomics.v1.Reference], in addition to metadata
61 // about the fragment (the molecule of DNA sequenced) and the read (the bases
62 // which were read by the sequencer). A read is equivalent to a line in a SAM
63 // file. A read belongs to exactly one read group and exactly one
64 // [read group set][google.genomics.v1.ReadGroupSet].
65 //
66 // For more genomics resource definitions, see [Fundamentals of Google
67 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
68 //
69 // ### Reverse-stranded reads
70 //
71 // Mapped reads (reads having a non-null `alignment`) can be aligned to either
72 // the forward or the reverse strand of their associated reference. Strandedness
73 // of a mapped read is encoded by `alignment.position.reverseStrand`.
74 //
75 // If we consider the reference to be a forward-stranded coordinate space of
76 // `[0, reference.length)` with `0` as the left-most position and
77 // `reference.length` as the right-most position, reads are always aligned left
78 // to right. That is, `alignment.position.position` always refers to the
79 // left-most reference coordinate and `alignment.cigar` describes the alignment
80 // of this read to the reference from left to right. All per-base fields such as
81 // `alignedSequence` and `alignedQuality` share this same left-to-right
82 // orientation; this is true of reads which are aligned to either strand. For
83 // reverse-stranded reads, this means that `alignedSequence` is the reverse
84 // complement of the bases that were originally reported by the sequencing
85 // machine.
86 //
87 // ### Generating a reference-aligned sequence string
88 //
89 // When interacting with mapped reads, it's often useful to produce a string
90 // representing the local alignment of the read to reference. The following
91 // pseudocode demonstrates one way of doing this:
92 //
93 //     out = ""
94 //     offset = 0
95 //     for c in read.alignment.cigar {
96 //       switch c.operation {
97 //       case "ALIGNMENT_MATCH", "SEQUENCE_MATCH", "SEQUENCE_MISMATCH":
98 //         out += read.alignedSequence[offset:offset+c.operationLength]
99 //         offset += c.operationLength
100 //         break
101 //       case "CLIP_SOFT", "INSERT":
102 //         offset += c.operationLength
103 //         break
104 //       case "PAD":
105 //         out += repeat("*", c.operationLength)
106 //         break
107 //       case "DELETE":
108 //         out += repeat("-", c.operationLength)
109 //         break
110 //       case "SKIP":
111 //         out += repeat(" ", c.operationLength)
112 //         break
113 //       case "CLIP_HARD":
114 //         break
115 //       }
116 //     }
117 //     return out
118 //
119 // ### Converting to SAM's CIGAR string
120 //
121 // The following pseudocode generates a SAM CIGAR string from the
122 // `cigar` field. Note that this is a lossy conversion
123 // (`cigar.referenceSequence` is lost).
124 //
125 //     cigarMap = {
126 //       "ALIGNMENT_MATCH": "M",
127 //       "INSERT": "I",
128 //       "DELETE": "D",
129 //       "SKIP": "N",
130 //       "CLIP_SOFT": "S",
131 //       "CLIP_HARD": "H",
132 //       "PAD": "P",
133 //       "SEQUENCE_MATCH": "=",
134 //       "SEQUENCE_MISMATCH": "X",
135 //     }
136 //     cigarStr = ""
137 //     for c in read.alignment.cigar {
138 //       cigarStr += c.operationLength + cigarMap[c.operation]
139 //     }
140 //     return cigarStr
141 type Read struct {
142         // The server-generated read ID, unique across all reads. This is different
143         // from the `fragmentName`.
144         Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
145         // The ID of the read group this read belongs to. A read belongs to exactly
146         // one read group. This is a server-generated ID which is distinct from SAM's
147         // RG tag (for that value, see
148         // [ReadGroup.name][google.genomics.v1.ReadGroup.name]).
149         ReadGroupId string `protobuf:"bytes,2,opt,name=read_group_id,json=readGroupId" json:"read_group_id,omitempty"`
150         // The ID of the read group set this read belongs to. A read belongs to
151         // exactly one read group set.
152         ReadGroupSetId string `protobuf:"bytes,3,opt,name=read_group_set_id,json=readGroupSetId" json:"read_group_set_id,omitempty"`
153         // The fragment name. Equivalent to QNAME (query template name) in SAM.
154         FragmentName string `protobuf:"bytes,4,opt,name=fragment_name,json=fragmentName" json:"fragment_name,omitempty"`
155         // The orientation and the distance between reads from the fragment are
156         // consistent with the sequencing protocol (SAM flag 0x2).
157         ProperPlacement bool `protobuf:"varint,5,opt,name=proper_placement,json=properPlacement" json:"proper_placement,omitempty"`
158         // The fragment is a PCR or optical duplicate (SAM flag 0x400).
159         DuplicateFragment bool `protobuf:"varint,6,opt,name=duplicate_fragment,json=duplicateFragment" json:"duplicate_fragment,omitempty"`
160         // The observed length of the fragment, equivalent to TLEN in SAM.
161         FragmentLength int32 `protobuf:"varint,7,opt,name=fragment_length,json=fragmentLength" json:"fragment_length,omitempty"`
162         // The read number in sequencing. 0-based and less than numberReads. This
163         // field replaces SAM flag 0x40 and 0x80.
164         ReadNumber int32 `protobuf:"varint,8,opt,name=read_number,json=readNumber" json:"read_number,omitempty"`
165         // The number of reads in the fragment (extension to SAM flag 0x1).
166         NumberReads int32 `protobuf:"varint,9,opt,name=number_reads,json=numberReads" json:"number_reads,omitempty"`
167         // Whether this read did not pass filters, such as platform or vendor quality
168         // controls (SAM flag 0x200).
169         FailedVendorQualityChecks bool `protobuf:"varint,10,opt,name=failed_vendor_quality_checks,json=failedVendorQualityChecks" json:"failed_vendor_quality_checks,omitempty"`
170         // The linear alignment for this alignment record. This field is null for
171         // unmapped reads.
172         Alignment *LinearAlignment `protobuf:"bytes,11,opt,name=alignment" json:"alignment,omitempty"`
173         // Whether this alignment is secondary. Equivalent to SAM flag 0x100.
174         // A secondary alignment represents an alternative to the primary alignment
175         // for this read. Aligners may return secondary alignments if a read can map
176         // ambiguously to multiple coordinates in the genome. By convention, each read
177         // has one and only one alignment where both `secondaryAlignment`
178         // and `supplementaryAlignment` are false.
179         SecondaryAlignment bool `protobuf:"varint,12,opt,name=secondary_alignment,json=secondaryAlignment" json:"secondary_alignment,omitempty"`
180         // Whether this alignment is supplementary. Equivalent to SAM flag 0x800.
181         // Supplementary alignments are used in the representation of a chimeric
182         // alignment. In a chimeric alignment, a read is split into multiple
183         // linear alignments that map to different reference contigs. The first
184         // linear alignment in the read will be designated as the representative
185         // alignment; the remaining linear alignments will be designated as
186         // supplementary alignments. These alignments may have different mapping
187         // quality scores. In each linear alignment in a chimeric alignment, the read
188         // will be hard clipped. The `alignedSequence` and
189         // `alignedQuality` fields in the alignment record will only
190         // represent the bases for its respective linear alignment.
191         SupplementaryAlignment bool `protobuf:"varint,13,opt,name=supplementary_alignment,json=supplementaryAlignment" json:"supplementary_alignment,omitempty"`
192         // The bases of the read sequence contained in this alignment record,
193         // **without CIGAR operations applied** (equivalent to SEQ in SAM).
194         // `alignedSequence` and `alignedQuality` may be
195         // shorter than the full read sequence and quality. This will occur if the
196         // alignment is part of a chimeric alignment, or if the read was trimmed. When
197         // this occurs, the CIGAR for this read will begin/end with a hard clip
198         // operator that will indicate the length of the excised sequence.
199         AlignedSequence string `protobuf:"bytes,14,opt,name=aligned_sequence,json=alignedSequence" json:"aligned_sequence,omitempty"`
200         // The quality of the read sequence contained in this alignment record
201         // (equivalent to QUAL in SAM).
202         // `alignedSequence` and `alignedQuality` may be shorter than the full read
203         // sequence and quality. This will occur if the alignment is part of a
204         // chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR
205         // for this read will begin/end with a hard clip operator that will indicate
206         // the length of the excised sequence.
207         AlignedQuality []int32 `protobuf:"varint,15,rep,packed,name=aligned_quality,json=alignedQuality" json:"aligned_quality,omitempty"`
208         // The mapping of the primary alignment of the
209         // `(readNumber+1)%numberReads` read in the fragment. It replaces
210         // mate position and mate strand in SAM.
211         NextMatePosition *Position `protobuf:"bytes,16,opt,name=next_mate_position,json=nextMatePosition" json:"next_mate_position,omitempty"`
212         // A map of additional read alignment information. This must be of the form
213         // map<string, string[]> (string key mapping to a list of string values).
214         Info map[string]*google_protobuf3.ListValue `protobuf:"bytes,17,rep,name=info" json:"info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
215 }
216
217 func (m *Read) Reset()                    { *m = Read{} }
218 func (m *Read) String() string            { return proto.CompactTextString(m) }
219 func (*Read) ProtoMessage()               {}
220 func (*Read) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{1} }
221
222 func (m *Read) GetId() string {
223         if m != nil {
224                 return m.Id
225         }
226         return ""
227 }
228
229 func (m *Read) GetReadGroupId() string {
230         if m != nil {
231                 return m.ReadGroupId
232         }
233         return ""
234 }
235
236 func (m *Read) GetReadGroupSetId() string {
237         if m != nil {
238                 return m.ReadGroupSetId
239         }
240         return ""
241 }
242
243 func (m *Read) GetFragmentName() string {
244         if m != nil {
245                 return m.FragmentName
246         }
247         return ""
248 }
249
250 func (m *Read) GetProperPlacement() bool {
251         if m != nil {
252                 return m.ProperPlacement
253         }
254         return false
255 }
256
257 func (m *Read) GetDuplicateFragment() bool {
258         if m != nil {
259                 return m.DuplicateFragment
260         }
261         return false
262 }
263
264 func (m *Read) GetFragmentLength() int32 {
265         if m != nil {
266                 return m.FragmentLength
267         }
268         return 0
269 }
270
271 func (m *Read) GetReadNumber() int32 {
272         if m != nil {
273                 return m.ReadNumber
274         }
275         return 0
276 }
277
278 func (m *Read) GetNumberReads() int32 {
279         if m != nil {
280                 return m.NumberReads
281         }
282         return 0
283 }
284
285 func (m *Read) GetFailedVendorQualityChecks() bool {
286         if m != nil {
287                 return m.FailedVendorQualityChecks
288         }
289         return false
290 }
291
292 func (m *Read) GetAlignment() *LinearAlignment {
293         if m != nil {
294                 return m.Alignment
295         }
296         return nil
297 }
298
299 func (m *Read) GetSecondaryAlignment() bool {
300         if m != nil {
301                 return m.SecondaryAlignment
302         }
303         return false
304 }
305
306 func (m *Read) GetSupplementaryAlignment() bool {
307         if m != nil {
308                 return m.SupplementaryAlignment
309         }
310         return false
311 }
312
313 func (m *Read) GetAlignedSequence() string {
314         if m != nil {
315                 return m.AlignedSequence
316         }
317         return ""
318 }
319
320 func (m *Read) GetAlignedQuality() []int32 {
321         if m != nil {
322                 return m.AlignedQuality
323         }
324         return nil
325 }
326
327 func (m *Read) GetNextMatePosition() *Position {
328         if m != nil {
329                 return m.NextMatePosition
330         }
331         return nil
332 }
333
334 func (m *Read) GetInfo() map[string]*google_protobuf3.ListValue {
335         if m != nil {
336                 return m.Info
337         }
338         return nil
339 }
340
341 func init() {
342         proto.RegisterType((*LinearAlignment)(nil), "google.genomics.v1.LinearAlignment")
343         proto.RegisterType((*Read)(nil), "google.genomics.v1.Read")
344 }
345
346 func init() { proto.RegisterFile("google/genomics/v1/readalignment.proto", fileDescriptor6) }
347
348 var fileDescriptor6 = []byte{
349         // 683 bytes of a gzipped FileDescriptorProto
350         0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xcd, 0x4e, 0xdb, 0x4a,
351         0x14, 0xc7, 0xe5, 0x84, 0x70, 0xc9, 0x09, 0x24, 0x61, 0xae, 0xc4, 0xf5, 0x8d, 0xb8, 0xb7, 0x21,
352         0x48, 0x6d, 0x58, 0xd4, 0x2e, 0x20, 0xb5, 0x88, 0x2e, 0x2a, 0x40, 0x6d, 0x45, 0x45, 0x51, 0x6a,
353         0x54, 0x16, 0xdd, 0x58, 0x83, 0x7d, 0x62, 0x46, 0xd8, 0x33, 0xc6, 0x1e, 0x47, 0xcd, 0x23, 0xf5,
354         0xdd, 0xfa, 0x00, 0x5d, 0x56, 0x33, 0xf6, 0x38, 0xd0, 0x66, 0xd1, 0x5d, 0xf2, 0x3f, 0xbf, 0xf3,
355         0xe1, 0xf3, 0x31, 0xf0, 0x34, 0x12, 0x22, 0x8a, 0xd1, 0x8d, 0x90, 0x8b, 0x84, 0x05, 0xb9, 0x3b,
356         0xdb, 0x77, 0x33, 0xa4, 0x21, 0x8d, 0x59, 0xc4, 0x13, 0xe4, 0xd2, 0x49, 0x33, 0x21, 0x05, 0x21,
357         0x25, 0xe7, 0x18, 0xce, 0x99, 0xed, 0x0f, 0xb6, 0x2b, 0x5f, 0x9a, 0x32, 0x97, 0x72, 0x2e, 0x24,
358         0x95, 0x4c, 0xf0, 0xbc, 0xf4, 0x18, 0xfc, 0xbf, 0x24, 0x72, 0xc0, 0x22, 0x9a, 0x55, 0xf6, 0x9d,
359         0x25, 0xf6, 0x54, 0xe4, 0x4c, 0xc5, 0xa8, 0x10, 0x93, 0x40, 0xff, 0xbb, 0x29, 0xa6, 0x6e, 0x2e,
360         0xb3, 0x22, 0xa8, 0x4a, 0x1a, 0x7d, 0xb3, 0xa0, 0x77, 0xc1, 0x38, 0xd2, 0xec, 0xc4, 0x14, 0x4b,
361         0x8e, 0x60, 0xcd, 0xc4, 0xb0, 0xad, 0xa1, 0x35, 0xee, 0x1c, 0x6c, 0x3b, 0xbf, 0x57, 0xee, 0x4c,
362         0x2a, 0xc6, 0xab, 0x69, 0xf2, 0x0c, 0x7a, 0x09, 0x4d, 0x53, 0xc6, 0x23, 0xff, 0xbe, 0xa0, 0x31,
363         0x93, 0x73, 0xbb, 0x31, 0xb4, 0xc6, 0x2d, 0xaf, 0x5b, 0xc9, 0x9f, 0x4a, 0x95, 0x1c, 0x42, 0x4b,
364         0x7f, 0x86, 0xdd, 0x1c, 0x36, 0xc7, 0x9d, 0x83, 0xff, 0x96, 0xc5, 0x3f, 0x53, 0xc0, 0x67, 0xce,
365         0xa4, 0x57, 0xb2, 0xa3, 0xef, 0xab, 0xb0, 0xe2, 0x21, 0x0d, 0x49, 0x17, 0x1a, 0x2c, 0xd4, 0xa5,
366         0xb5, 0xbd, 0x06, 0x0b, 0xc9, 0x08, 0x36, 0x54, 0xbb, 0xfd, 0x28, 0x13, 0x45, 0xea, 0xb3, 0x50,
367         0x27, 0x6d, 0x7b, 0x1d, 0x25, 0xbe, 0x57, 0xda, 0x79, 0x48, 0xf6, 0x60, 0xf3, 0x01, 0x93, 0xa3,
368         0x54, 0x5c, 0x53, 0x73, 0xdd, 0x9a, 0xbb, 0x42, 0x79, 0x1e, 0x92, 0x5d, 0xd8, 0x98, 0x66, 0x34,
369         0x52, 0xbd, 0xf0, 0x39, 0x4d, 0xd0, 0x5e, 0xd1, 0xd8, 0xba, 0x11, 0x2f, 0x69, 0x82, 0x64, 0x0f,
370         0xfa, 0x69, 0x26, 0x52, 0xcc, 0xfc, 0x34, 0xa6, 0x01, 0x2a, 0xdd, 0x6e, 0x0d, 0xad, 0xf1, 0x9a,
371         0xd7, 0x2b, 0xf5, 0x89, 0x91, 0xc9, 0x73, 0x20, 0x61, 0x91, 0xc6, 0x2c, 0xa0, 0x12, 0x7d, 0x13,
372         0xc4, 0x5e, 0xd5, 0xf0, 0x66, 0x6d, 0x79, 0x57, 0x19, 0x54, 0x13, 0xeb, 0xf4, 0x31, 0xf2, 0x48,
373         0xde, 0xda, 0x7f, 0x95, 0x4d, 0x34, 0xf2, 0x85, 0x56, 0xc9, 0x13, 0xd0, 0x5f, 0xe8, 0xf3, 0x22,
374         0xb9, 0xc1, 0xcc, 0x5e, 0xd3, 0x10, 0x28, 0xe9, 0x52, 0x2b, 0x64, 0x07, 0xd6, 0x4b, 0x9b, 0xaf,
375         0xc4, 0xdc, 0x6e, 0x6b, 0xa2, 0x53, 0x6a, 0xaa, 0x93, 0x39, 0x79, 0x03, 0xdb, 0x53, 0xca, 0x62,
376         0x0c, 0xfd, 0x19, 0xf2, 0x50, 0x64, 0x66, 0x6e, 0x7e, 0x70, 0x8b, 0xc1, 0x5d, 0x6e, 0x83, 0xae,
377         0xf2, 0xdf, 0x92, 0xb9, 0xd6, 0x48, 0x35, 0xc3, 0x33, 0x0d, 0x90, 0x13, 0x68, 0xd7, 0x6b, 0x6e,
378         0x77, 0xf4, 0xb6, 0xec, 0x2e, 0x9b, 0xe6, 0x2f, 0x4b, 0xe6, 0x2d, 0xbc, 0x88, 0x0b, 0x7f, 0xe7,
379         0x18, 0x08, 0x1e, 0xd2, 0x6c, 0xee, 0x2f, 0x82, 0xad, 0xeb, 0xd4, 0xa4, 0x36, 0x2d, 0x16, 0xf4,
380         0x15, 0xfc, 0x93, 0x17, 0x69, 0x1a, 0xeb, 0xf6, 0x3e, 0x76, 0xda, 0xd0, 0x4e, 0x5b, 0x8f, 0xcc,
381         0x0b, 0xc7, 0x3d, 0xe8, 0x6b, 0x14, 0x43, 0x3f, 0xc7, 0xfb, 0x02, 0x79, 0x80, 0x76, 0x57, 0x0f,
382         0xb7, 0x57, 0xe9, 0x57, 0x95, 0xac, 0xa6, 0x60, 0x50, 0xb3, 0xca, 0xbd, 0x61, 0x53, 0x4d, 0xa1,
383         0x92, 0xcd, 0x2a, 0x7f, 0x00, 0xc2, 0xf1, 0xab, 0xf4, 0x13, 0x35, 0xdd, 0xfa, 0x6e, 0xfa, 0x7f,
384         0x70, 0x37, 0x7d, 0xe5, 0xf7, 0x91, 0x4a, 0x34, 0x0a, 0x79, 0x09, 0x2b, 0x8c, 0x4f, 0x85, 0xbd,
385         0xa9, 0xaf, 0x62, 0xb4, 0xcc, 0x5b, 0x8d, 0xcd, 0x39, 0xe7, 0x53, 0xf1, 0x96, 0xcb, 0x6c, 0xee,
386         0x69, 0x7e, 0x70, 0x05, 0xed, 0x5a, 0x22, 0x7d, 0x68, 0xde, 0xe1, 0xbc, 0x3a, 0x0f, 0xf5, 0x93,
387         0xbc, 0x80, 0xd6, 0x8c, 0xc6, 0x05, 0xea, 0xbb, 0xe8, 0x1c, 0x0c, 0x4c, 0x5c, 0xf3, 0x24, 0x38,
388         0x17, 0x2c, 0x97, 0xd7, 0x8a, 0xf0, 0x4a, 0xf0, 0xb8, 0x71, 0x64, 0x9d, 0x26, 0xb0, 0x15, 0x88,
389         0x64, 0x49, 0x0d, 0xa7, 0x44, 0x15, 0x51, 0x77, 0x75, 0xa2, 0xa2, 0x4c, 0xac, 0x2f, 0xc7, 0x86,
390         0x14, 0x31, 0xe5, 0x91, 0x23, 0xb2, 0x48, 0x3d, 0x4b, 0x3a, 0x87, 0x5b, 0x9a, 0x68, 0xca, 0xf2,
391         0x87, 0x4f, 0xd5, 0x6b, 0xf3, 0xfb, 0x87, 0x65, 0xdd, 0xac, 0x6a, 0xf2, 0xf0, 0x67, 0x00, 0x00,
392         0x00, 0xff, 0xff, 0xd0, 0xe1, 0xf6, 0x57, 0x4d, 0x05, 0x00, 0x00,
393 }