-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenbank.proto
57 lines (51 loc) · 1.42 KB
/
genbank.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
syntax = "proto3";
package bioproto;
option go_package = ".;bioproto";
message Genbank {
string LOCUS = 1;
repeated string ACCESSION = 2;
string DEFINITION = 3;
string VERSION = 4;
repeated string DBLINK = 5;
string KEYWORDS = 6;
string SOURCE = 7;
repeated string ORGANISM = 8;
string COMMENT = 9;
string SEQUENCE = 10;
string CONTIG = 11;
repeated Reference REFERENCES = 12;
repeated Feature FEATURES = 13;
}
message Reference {
int32 Number = 1;
string ORIGIN = 2;
string AUTHORS = 3;
string CONSRTM = 4;
string TITLE = 5;
string JOURNAL = 6;
string PUBMED = 7;
string REMARK = 8;
}
message Feature {
string TYPE = 1;
bool isCompliment = 2;
bool isJoined = 3;
bool isOrdered = 4;
int64 MINPOSITION = 5;
int64 MAXPOSITION = 6;
repeated Location LOCATIONS = 7;
repeated Qualifier QUALIFIERS = 8;
}
message Location {
bool UNKNOWNLB = 1; // If the lower boundary is not exakt (indicated by > in gbff)
bool UNKNOWNUB = 2; // If the upper boundary is not exakt (indicated by < in gbff)
bool SITEBETWEEN = 3; // If START and STOP mark a site between to bases (indicated by ^)
bool UNKNOWNSINGLESITE = 4; // If START and STOP mark a single base inside the range (indicated by .)
string EXTERNALREFERENCE = 5; // if the Location is from a different location this contains the accession number
int64 START = 6;
int64 STOP = 7;
}
message Qualifier{
string key = 1;
string value = 2;
}