Skip to content

Commit

Permalink
Version 5.9.1 bump
Browse files Browse the repository at this point in the history
  • Loading branch information
minknowbot committed Mar 27, 2024
1 parent b464917 commit 8e7212b
Show file tree
Hide file tree
Showing 43 changed files with 5,651 additions and 4,868 deletions.
1 change: 1 addition & 0 deletions proto/minknow_api/acquisition.proto
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,7 @@ enum AcquisitionState {

enum AcquisitionStopReason {
// The acquisition has not yet stopped.
// Or the stop reason is unknown
STOPPED_NOT_SET = 0;

// The user called the stop rpc.
Expand Down
35 changes: 34 additions & 1 deletion proto/minknow_api/analysis_configuration.proto
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ option java_package = "com.nanoporetech.minknow_api";
option objc_class_prefix = "MKAPI";

import "google/protobuf/duration.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/wrappers.proto";
import "minknow_api/rpc_options.proto";

Expand Down Expand Up @@ -171,7 +172,6 @@ service AnalysisConfigurationService {
option idempotency_level = NO_SIDE_EFFECTS;
}


// Get the dynamic analysis configuration - this configuration can be changed during acquisition periods,
// and is reset at the start of acquisition.
rpc get_dynamic_analysis_configuration (GetDynamicAnalysisConfigurationRequest) returns (DynamicAnalysisConfiguration) {
Expand All @@ -187,6 +187,13 @@ service AnalysisConfigurationService {
}

message EventDetection {
enum DetectionType {
MULTITTEST = 0; // Default and older style detector.
DMEAN = 1; // New, faster detector.
}

DetectionType type = 19;

// The window size that the tstats are calculated from
uint32 window_size = 3;

Expand All @@ -200,6 +207,8 @@ message EventDetection {
// And what goes up must come down.
// Once it has detected a peak going up, it will also have to go down by 'peak_height'
// in order for the peak to be classified as a found event
//
// Note: only used for MULTITTEST detector.
double peak_height = 9;

// Conversion factor used to convert from events to bases.
Expand All @@ -212,6 +221,8 @@ message EventDetection {
// This will eliminate "mux_uncertain" events and reads. Note that this will cause starting or
// stopping unblocking to break events as well (even though the mux does not normally change in
// this case).
//
// Note: no longer used.
bool break_on_mux_changes = 17;

// Control the number of samples MinKNOW will shift mux changes back by in order to align mux changes
Expand All @@ -224,6 +235,8 @@ message EventDetection {
// recorded the change as active. Mux changes are never shifted forwards.
//
// A value of 0 will disable shifting of mux changes.
//
// Note: no longer used.
uint32 max_mux_change_back_shift = 18;
}

Expand Down Expand Up @@ -840,12 +853,16 @@ message BasecallerConfiguration
// Enable read splitting in guppy.
//
// Since 4.5
//
// Note: Since 5.9 this option has no effect, the basecaller is responsible for deciding when read splitting should be enabled.
bool enable_read_splitting = 8;

// Override score to use for guppy read splitting. If not specified a default value
// is used from guppy.
//
// Since 4.5
//
// Note: Since 5.9 this option has no effect, the basecaller is responsible for deciding read splitting score.
google.protobuf.FloatValue min_score_read_splitting = 9;
}

Expand Down Expand Up @@ -1054,6 +1071,10 @@ message WriterConfiguration {

// Number of estimated bases within a batch before it rotates to a new batch
uint64 bases_per_batch = 15;

// Do not perform batching based on output
// (time-based batching is still performed, if specified)
google.protobuf.Empty no_output_based_batching = 17;
}

// The batch duration, for time-based batching
Expand Down Expand Up @@ -1099,6 +1120,10 @@ message WriterConfiguration {

// Number of estimated bases within a batch before it rotates to a new batch
uint64 bases_per_batch = 6;

// Do not perform batching based on output
// (time-based batching is still performed, if specified)
google.protobuf.Empty no_output_based_batching = 11;
}

// Compress fastq files with gzip compression.
Expand Down Expand Up @@ -1149,6 +1174,10 @@ message WriterConfiguration {

// Number of estimated bases within a batch before it rotates to a new batch
uint64 bases_per_batch = 5;

// Do not perform batching based on output
// (time-based batching is still performed, if specified)
google.protobuf.Empty no_output_based_batching = 10;
}

// If true minknow will only write the primary alignment for each read.
Expand Down Expand Up @@ -1198,6 +1227,10 @@ message WriterConfiguration {

// Number of estimated bases within a batch before it rotates to a new batch
uint64 bases_per_batch = 7;

// Do not perform batching based on output
// (time-based batching is still performed, if specified)
google.protobuf.Empty no_output_based_batching = 9;
}

// Prevent reads which have successfully basecalled being written to pod5.
Expand Down
31 changes: 31 additions & 0 deletions proto/minknow_api/basecaller.proto
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,25 @@ service Basecaller {
option idempotency_level = NO_SIDE_EFFECTS;
}


// Clears run info data for each analysis specified
//
// Run info data is the data returned by `get_info()`.
//
// Also clears any persistence data that has been written to disk for those analyses -- this
// data will not be available after a restart.
//
// Run info will not be cleared for analyses which are still in-progress. If an invalid or
// in-progress analysis id is specified, that analysis id is ignored.
//
// Does NOT clear results from analyses (e.g. bam files, reports, etc.)
//
// Since 5.9
//
rpc clear_info(ClearInfoRequest) returns (ClearInfoResponse) {
option idempotency_level = IDEMPOTENT;
}

// Monitors basecalls, returning messages when basecalls are started, stopped or receive
// progress updates.
//
Expand Down Expand Up @@ -183,10 +202,14 @@ message StartBasecallingRequest {
analysis_configuration.AlignmentConfiguration alignment_configuration = 11;

// Enable read splitting in guppy
//
// Note: Since 5.9 this option has no effect, the basecaller is responsible for deciding when read splitting should be enabled.
bool enable_read_splitting = 13;

// Override score to use for guppy read splitting. If not specified a default value
// is used from guppy.
//
// Note: Since 5.9 this option has no effect, the basecaller is responsible for deciding when read splitting should be enabled.
google.protobuf.FloatValue min_score_read_splitting = 14;
}

Expand Down Expand Up @@ -421,6 +444,14 @@ message GetInfoResponse {
repeated RunInfo runs = 1;
}

message ClearInfoRequest {
repeated string ids = 1;
}

message ClearInfoResponse {

}

message WatchRequest {
// By default, no information will be sent about runs that were already finished when this call
// was made. Setting this to true will cause the state of already-finished runs to be returned.
Expand Down
1 change: 1 addition & 0 deletions proto/minknow_api/device.proto
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,7 @@ message GetDeviceInfoResponse {
MINION_MK1C = 4;
TRAXION = 5;
P2_SOLO = 6;
MINION_MK1D = 7;
}

// A unique identifier for the device.
Expand Down
18 changes: 18 additions & 0 deletions proto/minknow_api/manager.proto
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ service ManagerService {
rpc describe_host (DescribeHostRequest) returns (DescribeHostResponse) {
option idempotency_level = NO_SIDE_EFFECTS;
}

// Get features from the basecaller, for whether the server can support live basecalling with adaptive sampling
//
// Since 5.9
rpc get_basecaller_features (GetBasecallerFeaturesRequest) returns (GetBasecallerFeaturesResponse) {
option idempotency_level = NO_SIDE_EFFECTS;
}

// List all known positions where flow cells can be inserted.
//
Expand Down Expand Up @@ -453,6 +460,17 @@ message DescribeHostResponse {
BasecallingAvailability can_basecall = 6;
}

message GetBasecallerFeaturesRequest {}

message GetBasecallerFeaturesResponse {
// Is live basecalling with adaptive sampling
// recommended on this hardware
// Currently not recommended for Apple or Mk1C
//
// Since 5.9
bool is_live_basecalling_with_adaptive_sampling_recommended = 1;
}

enum SimpleProtocolState {
// No protocol has been started on this position (since MinKNOW was started, or the position
// was reset). It may also indicate that the protocol state has been manually cleared by the
Expand Down
59 changes: 29 additions & 30 deletions proto/minknow_api/protocol.proto
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,9 @@ message BarcodeUserData {

// Sample type grouping for the barcode.
SampleType type = 4;

// Extra context per barcode
map<string, string> passenger_info = 6;
}

message KitInfo {
Expand All @@ -287,17 +290,6 @@ message KitInfo {
repeated string barcode_expansion_kits = 2;
}

message PassengerInfo {
enum Extension {
TXT = 0;
CSV = 1;
JSON = 2;
}

bytes passenger_info = 1;
Extension file_extension = 2;
}

message ProtocolRunUserInfo {
// The group which the experiment should be held in.
//
Expand Down Expand Up @@ -374,15 +366,6 @@ message StartProtocolRequest {
//
// Since 5.3
acquisition.TargetRunUntilCriteria target_run_until_criteria = 5;

// Extra info taken as bytes, that will be output to a file in the output location
//
// The filename in the output location will be in the format:
// passenger_info_{run_id}.{extension}
//
// If the size of this argument exceeds 2MB in size, then the call will fail
// with INVALID_ARGUMENT
PassengerInfo passenger_info = 6;
}

message StartProtocolResponse {
Expand Down Expand Up @@ -537,7 +520,7 @@ enum ProtocolState {

// Enums 20-120 are "reserved" for any new script exit codes we may want to forward

// The protocol has reported and error during calibration
// The protocol has reported an error during calibration
PROTOCOL_FINISHED_WITH_ERROR_CALIBRATION = 20; // Exit with code 20

// Setting basecall settings failed (Bad config etc)
Expand All @@ -548,6 +531,15 @@ enum ProtocolState {

// The protocol was terminated due to insufficient disk space
PROTOCOL_FINISHED_WITH_ERROR_NO_DISK_SPACE = 23; // Exit with code 23

// The protocol was terminated due to a high temperature issue
// Since 5.9
PROTOCOL_FINISHED_WITH_ERROR_TEMPERATURE_HIGH = 25; // Exit with code 25

// The protocol was terminated due to an issue with
// communications with the basecaller
// Since 5.9
PROTOCOL_FINISHED_WITH_ERROR_BASECALLER_COMMUNICATION = 26; // Exit with code 26
}

enum ProtocolPhase {
Expand Down Expand Up @@ -759,9 +751,25 @@ message ProtocolRunInfo {

// Output location for protocol data (eg. reads).
//
// If data offload is being used, this is the offload source directory. Any files written to
// this location will be output alongside the rest of the experiment data
//
// Since 1.16.
string output_path = 11;

// Output location to report to the user
//
// This is the location at which files will eventually be written.
//
// This path will be present, but empty, when writing to user-specified offload locations, as
// there isn't a "local output path" when offload is used.
//
// For backwards compatibility, if this this field is not present, then `output_path` can be
// reported to the user instead.
//
// Since 5.9
optional string reported_output_path = 24;

// Indicates the current state of the protocol run.
ProtocolState state = 4;

Expand Down Expand Up @@ -1046,15 +1054,6 @@ message BeginProtocolRequest {

// Any settings changed from the defaults specified in the protocol's .toml file.
map<string, protocol_settings.ProtocolSetting.ProtocolSettingValue> settings = 4;

// Extra info taken as bytes, that will be output to a file in the output location
//
// The filename in the output location will be in the format:
// passenger_info_{run_id}.{extension}
//
// If the size of this argument exceeds 2MB in size, then the call will fail
// with INVALID_ARGUMENT
PassengerInfo passenger_info = 7;
}

message BeginProtocolResponse {
Expand Down
11 changes: 11 additions & 0 deletions proto/minknow_api/report_data.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ syntax="proto3";
package minknow_api.report_data;

import "minknow_api/acquisition.proto";
import "minknow_api/analysis_configuration.proto";
import "minknow_api/log.proto";
import "minknow_api/protocol.proto";
import "minknow_api/run_until.proto";
Expand Down Expand Up @@ -62,6 +63,16 @@ message AcquistionReportData {
repeated BasecallBoxplot basecall_boxplot = 9;

run_until.Update run_until_update = 10;

// Information about the writer configuration
//
// Since 5.9
analysis_configuration.WriterConfiguration writer_config = 12;

// Information about the basecaller configuration
//
// Since 5.9
analysis_configuration.BasecallerConfiguration basecaller_config = 13;
}

// This is a subset of the information available from the describe_host() call
Expand Down
Loading

0 comments on commit 8e7212b

Please sign in to comment.