application: newcpgreport [
  documentation: "Identify CpG islands in nucleotide sequence(s)"
  groups: "Nucleic:CpG Islands"
    relations: "EDAM_topic:0157 Sequence composition analysis"
    relations: "EDAM_operation:0430 CpG island and isochore detection"
]

section: input [
  information: "Input section"
  type: "page"
]

  seqall: sequence [
    parameter: "Y"
    type: "DNA"
    relations: "EDAM_data:2887 Sequence record (nucleic acid)"
  ]

endsection: input

section: required [
  information: "Required section"
  type: "page"
]

  integer: window [
    standard: "Y"
    minimum: "1"
    maximum: "$(sequence.end)"
    failrange: "N"
    trueminimum: "Y"
    default: "100"
    information: "Window size"
    relations: "EDAM_data:1251 Window size"
  ]

  integer: shift [
    standard: "Y"
    minimum: "1"
    maximum: "$(window)"
    failrange: "N"
    trueminimum: "Y"
    default: "1"
    information: "Shift increment"
    relations: "EDAM_data:2141 Window step size"
  ]

  integer: minlen [
    standard: "Y"
    minimum: "1"
    maximum: "$(sequence.end)"
    failrange: "N"
    trueminimum: "Y"
    default: "200"
    information: "Minimum Length"
    relations: "EDAM_data:1249 Sequence length"
  ]

  float: minoe [
    standard: "Y"
    minimum: "0."
    maximum: "10."
    default: "0.6"
    information: "Minimum observed/expected"
    relations: "EDAM_data:2146 Threshold"
  ]

  float: minpc [
    standard: "Y"
    minimum: "0."
    maximum: "100."
    default: "50."
    information: "Minimum percentage"
    relations: "EDAM_data:2146 Threshold"
  ]

endsection: required

section: output [
  information: "Output section"
  type: "page"
]

  outfile: outfile [
    parameter: "Y"
    knowntype: "newcpgreport output"
    relations: "EDAM_data:1304 Nucleic acid features
                (CpG island and isochore)"
  ]

endsection: output
