/pyminknow

Mock minKNOW gRPC server

Primary LanguagePythonMIT LicenseMIT

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.

Glossary

  • minKNOW device manager (host software)
  • gridION a physical device containing an array of sequencing devices
  • minION a physical sequencing device

See also

Installation

$ pip install pyminknow

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

Unit tests may be used to systematically test the server functionality.

$ python -m unittest

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. Install packages and then run the service.

$ pip install pyminknow
$ python -m pyminknow