We have a new resource that largely replaces the functionality of this project! See our new repository here: https://github.com/nanoporetech/minknow_api
The new API project has a pypi module, and offers improved API and tools with minknow 4.x compatibility.
This repository is now unsupported and we do not recommend its use. Please contact Oxford Nanopore: [email protected] for help with your application if it is not possible to upgrade to our new resources, or we are missing key features.
MinKNOW is Oxford Nanopore Technologies Device Control software embedded in MinIT, GridION, PromethION and provided for installation on user PCs to run MinION. MinKNOW carries out several core tasks: data acquisition; real-time analysis and feedback; basecalling; data streaming; device control including selecting the run parameters; sample identification and tracking and ensuring that the platform chemistry is performing correctly to run the samples. With the deployment of Oxford Nanopore devices into production sequencing environments, the ability to interface with MinKNOW and pull useful metadata such as Run IDs, Flow Cell IDs, run statistics becomes more important.
MinKNOW uses Google Protocol Buffers v3 to handle serialisation in MinKNOW and its supporting applications.
MinKNOW currently uses Protobuf version 3.6.1 and gRPC 1.16.1
Protobuf can be obtained from github: https://github.com/google/protobuf/releases
An example of how to generate minknow GRPC interfaces from the contents of this repository is:
mkdir -p grpc_api/
protoc --python_out=grpc_api/ minknow/rpc/*.proto
The API contained in this project enables a user to interact with the information stored in the minknow top bar:
The MinKNOW gRPC API is split into separate services, intended to provide functionality for different use cases. There are a few key areas of interest for clients:
The protocol service contains methods to start and stop sequencing experiments.
- See
list_protocols
in order to list available scripts. - See
start_protocol
for documentation on starting a sequencing experiment (and also specifying the protocol_group_id). - See
set_sample_id
for setting the sample id for the active flow cell position.
The acquisition service provides methods to start and stop acquisition, and query yield from acquisition periods.
The device service contains methods to interrogate the sequencing device and flow cell.
The instance service provides information about the device - hostname, output directories etc.
Bream stores the flow cell check results in the minknow keystore.
© 2019 Oxford Nanopore Technologies Ltd.
This API is provided "as is" with limited support and under the Oxford Nanopore Product Terms and Conditions. It has been made available for users who require a greater degree of intergration into their internal systems.
Rev005