-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhalBlockViz.proto
More file actions
106 lines (93 loc) · 2.17 KB
/
halBlockViz.proto
File metadata and controls
106 lines (93 loc) · 2.17 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
syntax = "proto3";
package hal;
service BlockViz {
rpc GetBlocksInTargetRange (BlockRequest) returns (stream BlockResults);
rpc GetPossibleCoalescenceLimits (Alignment) returns (stream Genome);
rpc GetGenomes (Alignment) returns (stream Genome);
rpc GetChroms (GenomeRequest) returns (stream Chromosome);
rpc GetDNA (DNARequest) returns (DNAResponse);
rpc GetMaxLODQueryLength (Alignment) returns (MaxQueryLengthResponse);
rpc GetGenomeMetadata (GenomeRequest) returns (stream Metadata);
}
message MaxQueryLengthResponse {
uint64 maxSize = 1;
}
message DNARequest {
string alignmentName = 1;
string genome = 2;
uint64 start = 3;
uint64 end = 4;
}
message DNAResponse {
string dna = 1;
}
message GenomeRequest {
string alignmentName = 1;
string genome = 2;
}
message Alignment {
string name = 1;
}
message BlockRequest {
string alignmentName = 1;
string qSpecies = 2;
string tSpecies = 3;
string tChrom = 4;
uint64 tStart = 5;
uint64 tEnd = 6;
bool tReversed = 7;
enum SeqMode {
HAL_NO_SEQUENCE = 0;
HAL_LOD0_SEQUENCE = 1;
HAL_FORCE_LOD0_SEQUENCE = 2;
}
SeqMode seqMode = 8;
enum DupMode {
HAL_NO_DUPS = 0;
HAL_QUERY_DUPS = 1;
HAL_QUERY_AND_TARGET_DUPS = 2;
}
DupMode dupMode = 9;
bool mapBackAdjacencies = 10;
string coalescenceLimit = 11;
}
message BlockResults {
repeated Block mappedBlocks = 1;
repeated TargetDupe targetDupeBlocks = 2;
}
message Block {
string qChrom = 1;
uint64 tStart = 2;
uint64 qStart = 3;
uint64 size = 4;
enum Strand {
PLUS = 0;
MINUS = 1;
}
Strand strand = 5;
string qSequence = 6;
string tSequence = 7;
}
message TargetDupe {
uint64 id = 1;
string qChrom = 2;
message TargetRange {
int64 tStart = 1;
int64 size = 2;
}
repeated TargetRange tRange = 3;
}
message Genome {
string name = 1;
uint64 numChroms = 2;
string parentName = 3;
double parentBranchLength = 4;
}
message Chromosome {
string name = 1;
uint64 length = 2;
}
message Metadata {
string key = 1;
string value = 2;
}