This service mimics a Nanopore minKNOW gene sequencing device by using its gRPC interface.
Project description
minKNOW mock server
This code will emulate a Oxford Nanopore Technologies gene sequencing device (e.g. minION or minKNOW) using its gRPC Remote Procedure Calls LIMS interface to interact with its embedded software. This package is designed to form part of a software development environment to facilitate rapid prototyping and automated testing.
- Developed at The University of Sheffield, IT Services, Research & Innovation.
- pyminknow at PyPi
Installation
Generating RPC code
The script compile_grpc.sh
contains the command to compile the protocol buffers and gRPC interface from the .proto
files in the minKNOW submodule. (See this tutorial on generating Python code: gRPC Basics - Python Generating client and server code.)
The service expects the Python modules for the gRPC interface to be in pyminknow/minknow/rpc
.
Usage
The service may run in a container or in a Python environment. To see the usage reference, run:
$ python pyminknow --help
Test client
You may use client.py
to test the functionality of the server. To get help, run:
$ python client.py --help
Container
The container is based on Debian Linux and uses Python 3.7 as defined in the Dockerfile
. You may build and run the container using the commands below.
$ docker build --tag pyminknow:latest .
$ docker run --name minit --publish 5901:5901 -publish 22:22 -d pyminknow:latest
# Start the SSH service
$ docker exec -it --user root minit service ssh start
Python
You should do this inside a Python 3.7 virtual environment. Compile the gRPC modules, install packages and then run the service.
# Compile gRPC modules
$ sh compile_grpc.sh
$ pip install pyminkow
$ python -m pyminknow
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyminknow-0.0.13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0641d916c9eb3a6047668a6b979a680a5265ada09dc7f95203dc8d7d591912db |
|
MD5 | 7849ba47931b897bf8b84824624743c5 |
|
BLAKE2b-256 | 4d4e52d5ff1b5811d12e64543d57da46a4b0a4c01558a6ad5d135e70789011a7 |