appl: dotmatcher [
  documentation: "Displays a thresholded dotplot of two sequences"
  groups: "Alignment:Dot plots"
]

section: input [ info: "input Section" type: page ]
sequence: sequencea  [
  parameter: "y"
  type: "any"
]

sequence: sequenceb  [
  parameter: "y"
  type: "@($(sequencea.protein) ? protein : nucleotide)"
]

endsection: input

section: advanced [ info: "advanced Section" type: page ]
integer: windowsize  [
  optional: "Y"
  information: "window size over which to test threshhold"
  default: "10"
  minimum: "3"
]

integer: threshold  [
  optional: "Y"
  information: "threshold"
  default: "50"
  minimum: "0"
]

matrix: matrixfile  [
  optional: "Y"
  information: "Matrix file"
  protein: "$(sequencea.protein)"
]

endsection: advanced

section: output [ info: "output Section" type: page ]
bool: stretch  [
  required: "N"
  default: "N"
  information: "Stretch plot"
  help: "Display a non-proportional graph"
]

bool: data  [
  required: "@(!$(stretch))"
  default: "N"
  information: "Display as data"
  help: "Output the match data to a file instead of plotting it"
]

graph: graph  [
  required: "@(@(!$(data)) & @(!$(stretch)))"
  optional: "N"
  gtitle: "Dotmatcher: $(sequencea.name) vs $(sequenceb.name)"
  gxtitle: "$(sequencea.name)"
  gytitle: "$(sequenceb.name)"
]

xygraph: xygraph  [
  required: "$(stretch)"
  optional: "N"
  gtitle: "Dotmatcher: $(sequencea.name) vs $(sequenceb.name)"
  gxtitle: "$(sequencea.name)"
  gytitle: "$(sequenceb.name)"
]

outfile: outfile  [
  required: "@($(data) & @(!$(stretch)))"
  nullok: "Y"
  information: "Display as data"
]

endsection: output

