// Describes an alignment task created in python (align_fine.py) to be processed
// in C++ (align.cc).

syntax = "proto2";

package magenta;

message Sequence {
  optional int32 x = 1;
  optional int32 y = 2;
  repeated double content = 3;
}

message AlignmentTask {
  optional Sequence sequence_1 = 1;
  optional Sequence sequence_2 = 2;
  optional double penalty_mul = 3;  // Non-diagonal path penalty multiplier
  optional double penalty = 4;      // Non-diagonal path penalty
  // Alignment band radius. If <0, any path is allowed.
  optional int32 band_radius = 5;
}

message AlignmentResult {
  optional double score = 1;
  repeated int32 i = 2;
  repeated int32 j = 3;
}
