Skip to main content

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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyminknow-0.0.6.tar.gz (51.9 kB view hashes)

Uploaded Source

Built Distribution

pyminknow-0.0.6-py3-none-any.whl (59.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page