nanoporetech / minknow_api

Protobuf and gRPC specifications for the MinKNOW API
Other
55 stars 12 forks source link

Error when I run the example for start_protocol.py #2

Closed harisankarsadasivan closed 5 years ago

harisankarsadasivan commented 5 years ago

My MinION-106 is connected to the machine and is detected when I use list_devices.py. I am trying to see if I can establish a communication channel to do a run until feedback to MinION. But, when I run start_protocol.py, I get the following error when I try to set sample id (note: the minion is loaded only with the configuration test cell):

Setting sample id:
Traceback (most recent call last):
  File "start_protocol.py", line 118, in <module>
    stub.set_sample_id(set_sample_id_request)
  File "/home/hariss/.local/lib/python3.6/site-packages/grpc/_channel.py", line 565, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/home/hariss/.local/lib/python3.6/site-packages/grpc/_channel.py", line 467, in _end_unary_response_blocking
    raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
        status = StatusCode.FAILED_PRECONDITION
        details = "Cannot set sample id during an acquisition period"
        debug_error_string = "{"created":"@1562026760.843265438","description":"Error received from peer ipv6:[::1]:8004","file":"src/core/lib/surface/call.cc","file_line":1046,"grpc_message":"Cannot set sample id during an acquisition period","grpc_status":9}"

But, even if I comment the sample id set-up line and proceed, the run fails to start and I get an unknown status back. Following is the error in this case:

Starting protocol: NC_48Hr_sequencing_FLO-MIN106_SQK-LSK108_plus_Basecaller
Traceback (most recent call last):
  File "start_protocol.py", line 148, in <module>
    started_protocol = stub.start_protocol(start_request)
  File "/home/hariss/.local/lib/python3.6/site-packages/grpc/_channel.py", line 565, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/home/hariss/.local/lib/python3.6/site-packages/grpc/_channel.py", line 467, in _end_unary_response_blocking
    raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
        status = StatusCode.UNKNOWN
        details = "Script '33fc31f4de8ed9c19afdd41af8069cf7d0477e8a-35c5ca6ae8f74dd9ac677c3d248847ce62fb89c8' failed to start"
        debug_error_string = "{"created":"@1562027313.360182885","description":"Error received from peer ipv6:[::1]:8004","file":"src/core/lib/surface/call.cc","file_line":1046,"grpc_message":"Script '33fc31f4de8ed9c19afdd41af8069cf7d0477e8a-35c5ca6ae8f74dd9ac677c3d248847ce62fb89c8' failed to start","grpc_status":2}"

I am wondering if this will be resolved when I load the flowcell? I want to do a stop_protocol after starting to see that my run until mini-model is successful. @jorj1988 @iiSeymour

0x55555555 commented 5 years ago

From the error messages it sounds like a protocol is already running - this will cause errors in both set_sample_id and start_protocol

Have you tried opening the UI and checking if a protocol is running for the selected sequencing device?

You could call protocol.get_current_protocol_run before the start protocol to check (this function throws if there is no protocol running)

harisankarsadasivan commented 5 years ago

@jorj1988 how do I open the UI from the command line? Pls note I have a test cell loaded and not a flow cell. Will this be any different with a test cell?

harisankarsadasivan commented 5 years ago

Hi, Problem solved. Thanks to @iiSeymour and @jorj1988 for the timely help. However, I have one final question for this thread. I can now start and stop the runs succesfully. I can also see the output directory being created with a test cell loaded. But I do not see basecalling or anything else initiated although I was running 1 of th2 protocols with basecalling. Will this happen on terminal once I actually load a real flow cell?