You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+22-5Lines changed: 22 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,10 +86,15 @@ See [AUTH.md](AUTH.md) for information on authenticating with the MinKNOW API.
86
86
The files in [`proto/minknow_api`](proto/minknow_api/) describe MinKNOW's APIs. Each file
87
87
describes a single *service*, which covers a specific area of MinKNOW's functionality.
88
88
89
-
There are two global services, the [manager service](proto/minknow_api/manager.proto) and
89
+
**Prior to 6.3**, there are two global services, the [manager service](proto/minknow_api/manager.proto) and
90
90
[basecaller service](proto/minknow_api/basecaller.proto). There is only one instance of each of
91
-
these services: see below for how to connect to them. All other services are provided by each flow
92
-
cell position independently. For example, if you are using a GridION X5, which has 5 flow cell
91
+
these services: see below for how to connect to them.
92
+
93
+
**For 6.3 and above** we have begun to construct a 'consolidated' API which is intended to simplify control and interrogation of protocol/acquisition runs.
94
+
This new API is also present on the 'manager' executable, and proxies requests to individual `control_server` instances.
95
+
As such, it only requires a single gRPC client for _any number_ of flow cell positions.
96
+
97
+
The original per-flow-cell-position APIs are still maintained on each flow cell position independently. For example, if you are using a GridION X5, which has 5 flow cell
93
98
positions, there will be 5 ports (or sets of ports - secure, gRPC Web, etc), each of which
94
99
will provide *all* the other services.
95
100
@@ -127,6 +132,17 @@ information about protocol runs from before the last restart is not available vi
127
132
See the [`start_protocol` example](python/minknow_api/examples/start_protocol.py) for an example of how to use
128
133
this service to start a protocol.
129
134
135
+
### v2/protocol.proto
136
+
137
+
**6.3+ only!**
138
+
139
+
[This is the first 'consolidated' API.](proto/minknow_api/v2/protocol.proto) It is (like the endpoints on `manager.proto`) always available on port `9501` and `9502`.
140
+
141
+
It allows for protocols to be started on multiple positions simultaneously.
142
+
Once started, multiple protocols may also be stopped using only their `protocol_run_ids`, without reference to the flow cell positions on which they are running.
143
+
144
+
This pattern is intended to be extended to all methods of interacting with protocols - 'start' should be the only call that requires the user to provide information about a specific position.
145
+
130
146
### acquisition.proto
131
147
132
148
The main work of a protocol is acquiring data, and this is managed in
@@ -209,8 +225,9 @@ If you are using the `minknow_api` Python package, this is all handled for you.
209
225
gRPC client libraries directly (for example, if you are connecting from a language other than
210
226
Python), you will need to tell the library about MinKNOW's TLS certificates.
211
227
212
-
Within the MinKNOW installation, you can find the CA certificate at `conf/rpc-certs/ca.crt`. This
213
-
can be passed to most gRPC client libraries as part of creating a secure/SSL channel.
228
+
You can find the CA certificate by default at the location `<data_dir>/rpc-certs/minknow/ca.crt`,
229
+
where `<data_dir>` maps to `C:\\data` on Windows and `/data` on Ubuntu and MacOS platforms.
230
+
This can be passed to most gRPC client libraries as part of creating a secure/SSL channel.
214
231
215
232
Note that this certificate is only valid for the "localhost" name - connecting to `127.0.0.1`
216
233
directly will not work, nor will connecting across the network. You can work around this by
0 commit comments