|
a |
|
b/third_party/nucleus/protos/fastq.proto |
|
|
1 |
// Copyright 2018 Google LLC. |
|
|
2 |
// |
|
|
3 |
// Redistribution and use in source and binary forms, with or without |
|
|
4 |
// modification, are permitted provided that the following conditions |
|
|
5 |
// are met: |
|
|
6 |
// |
|
|
7 |
// 1. Redistributions of source code must retain the above copyright notice, |
|
|
8 |
// this list of conditions and the following disclaimer. |
|
|
9 |
// |
|
|
10 |
// 2. Redistributions in binary form must reproduce the above copyright |
|
|
11 |
// notice, this list of conditions and the following disclaimer in the |
|
|
12 |
// documentation and/or other materials provided with the distribution. |
|
|
13 |
// |
|
|
14 |
// 3. Neither the name of the copyright holder nor the names of its |
|
|
15 |
// contributors may be used to endorse or promote products derived from this |
|
|
16 |
// software without specific prior written permission. |
|
|
17 |
// |
|
|
18 |
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|
|
19 |
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
|
20 |
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
|
21 |
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
|
|
22 |
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
|
|
23 |
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
|
|
24 |
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
|
25 |
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
|
26 |
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
|
|
27 |
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
|
|
28 |
// POSSIBILITY OF SUCH DAMAGE. |
|
|
29 |
syntax = "proto3"; |
|
|
30 |
|
|
|
31 |
package nucleus.genomics.v1; |
|
|
32 |
|
|
|
33 |
// This message represents a single FASTQ record. |
|
|
34 |
message FastqRecord { |
|
|
35 |
// The first line of a FASTQ record begins with '@' and is followed by a |
|
|
36 |
// sequence identifier (up to the first whitespace character) and then an |
|
|
37 |
// optional description. This line is parsed into its constituent id and |
|
|
38 |
// description. |
|
|
39 |
// The sequence identifier. |
|
|
40 |
string id = 1; |
|
|
41 |
|
|
|
42 |
// Optional. The description provided in the header line. |
|
|
43 |
string description = 2; |
|
|
44 |
|
|
|
45 |
// The raw sequence letters. |
|
|
46 |
string sequence = 3; |
|
|
47 |
|
|
|
48 |
// The quality values for the sequence. Its length must be the same as the |
|
|
49 |
// sequence length, and is encoded in ASCII. The meaning of each base quality |
|
|
50 |
// may vary: it is usually a Phred-scaled score |
|
|
51 |
// (-10 * log_10(Pr{call is incorrect})) but differs for some older versions |
|
|
52 |
// of FASTQs. |
|
|
53 |
string quality = 4; |
|
|
54 |
} |
|
|
55 |
|
|
|
56 |
message FastqReaderOptions { |
|
|
57 |
reserved 1; |
|
|
58 |
|
|
|
59 |
// If true, simply drop invalid records. Otherwise, raise an error on invalid |
|
|
60 |
// records. |
|
|
61 |
bool skip_invalid_records = 2; |
|
|
62 |
} |
|
|
63 |
|
|
|
64 |
// Options for writing FASTQ files. |
|
|
65 |
// Currently this is a placeholder message but could be used to support |
|
|
66 |
// different choices on output like whether the pad line should include the |
|
|
67 |
// header or not. |
|
|
68 |
message FastqWriterOptions { |
|
|
69 |
} |