nanoporetech / nanoporetech/minknow_api

restart position without the MiKNOW UI

Open
#35 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
73
Forks
16
PR merge metrics
No merged PRs in 30d

Description

Hello ONT,

We are trying to run our minion directly from the command line. For this we are using the start_protocol.py.
We initially had an authentication issue (Issues #34), however we set "--no-tls True" as a workaround.
Now when running we receive the following error:

`No flow cell present in position MN39033 (running)`

However, the flow cell is definitely inserted in the minion. I can see that "position_connection.device.get_flow_cell_info()" is used to obtain the flow cell information which is defined in minknow_api.device_service.DeviceService.
Notably, using "position_connection = spec.position.connect()" I can see that the device is running:

	[FlowCellPosition('localhost', {name: "MN39033"
	state: STATE_RUNNING
	rpc_ports {
	  secure: 8001
	  insecure: 8000
	  secure_grpc_web: 8002
	}
	})]

Also, using "position_connection.device.get_device_info()" I can return information on the device;

	device_info device_id: "MN39033"
	max_channel_count: 512
	max_wells_per_channel: 4
	digitisation: 8192

So cool, I can see the device, just not the flow cell. If restart the position using the MiKNOW UI the start_protocol.py script progresses (alas to another issue);

	Failed to find protocol for position MN39033 (running)
	Requested protocol:
	  product-code: None
	  kit: SQK-LSK109
	  basecalling: False
	  basecall_config: None
	  barcode-kits: None
	  barcoding: False

However, I can now retrieve the flow cell info using "position_connection.device.get_flow_cell_info()" after restarting the position with MiKNOW UI

          has_flow_cell: true
          channel_count: 126
          wells_per_channel: 1
          has_adapter: true
          adapter_id: "FA-05846"
          temperature_offset: 327.6700134277344
          asic_version: "IA02D"
          asic_id_str: "7735955"

So this leads to my question, how do we restart the position without the MiKNOW UI? I am probably missing something obvious and I apologize in advance. Thank you for any help.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading start_protocol.py and the minknow_api.device_service.DeviceService usage described in the report, then inspect the available position connection and restart-related API entry points. Compare the command-line flow with the state observed after restarting through the MiKNOW UI. Done means a command-line workflow can restart the position and retrieve flow-cell information without the UI.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc, python
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.