-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRealTime.proto
More file actions
75 lines (63 loc) · 2.46 KB
/
RealTime.proto
File metadata and controls
75 lines (63 loc) · 2.46 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
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
option java_multiple_files = true;
option java_package = "edu.umich.andykong.msfragger.realtimesearch";
option csharp_namespace = "edu.umich.andykong.msfragger.realtimesearch";
package edu.umich.andykong.msfragger.realtimesearch;
service RealTimeServer {
rpc RealTimeSearcherAsync (stream ScanRequest) returns (stream ResultReply) {}
rpc RealTimeSearcherSync (ScanRequest) returns (ResultReply) {}
}
message ResultReply {
int32 status = 1; // 0 = finished without any error, 1 = finished with error, 2 = finished without any error but no good result.
int32 scanNum = 2;
repeated Hit hits = 3;
}
message Hit {
int32 rank = 1;
float hyperscore = 2;
float expect = 3;
string peptideSequence = 4;
float massDiff = 5;
repeated float modMasses = 6 [packed=true];
float nTermMass = 7;
float cTermMass = 8;
int32 charge = 18;
float theoreticalMZ = 19;
bool isDecoy = 9;
string proteins = 10;
optional float nextscore = 11;
optional int32 numMatchedIons = 12;
optional int32 numTotalIons = 13;
repeated Fragment matchedFragments = 14;
optional string glycanComposition = 15;
optional float glycanMass = 16;
optional float glycanScore = 17;
}
message Fragment {
float mz = 1; // observed m/z
float intensity = 2;
int32 ionType = 3; // 0 = unspecified, 1 = N-term, 2 = C-term, 3 = N-term-H2O, 4 = C-term-H2O, 5 = Y, 6 = diagnostic ions
int32 position = 4; // e.g. 1 for N-term 1, 0 for Y or diagnostic ions
int32 charge = 5;
bool modified = 6; // including fixed modification
float modMass = 7; // theoretical mass of the modification including fixed modification
}
message ScanRequest {
int32 type = 17; // 0 = send a spectrum to search; 1 = request a searching result.
int32 scanNum = 6;
float precursorMz = 7;
int32 charge = 8;
repeated float mz = 9 [packed=true];
repeated float intensity = 10 [packed=true];
float isolationWindowLowerMz = 11;
float isolationWindowUpperMz = 12;
}