application: tcode [
  documentation: "Identify protein-coding regions using
                  Fickett TESTCODE statistic"
  groups: "Nucleic:Gene finding"
    relations: "EDAM_topic:0109 Gene finding"
    relations: "EDAM_operation:0436 Coding region prediction"
]

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

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

  datafile: datafile [
    information: "Testcode data file"
    default: "Etcode.dat"
    help: "The default data file is Etcode.dat and contains coding
           probabilities for each base. The probabilities are for both
           positional and compositional information."
    knowntype: "testcode data"
    relations: "EDAM_data:0914 Codon usage report"
  ]

endsection: input

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

  integer: window [
    standard: "Y"
    default: "200"
    minimum: "200"
    maximum: "$(sequence.length)"
    failrange: "N"
    trueminimum: "N"
    information: "Length of sliding window"
    help: "This is the number of nucleotide bases over which the
           TESTCODE statistic will be performed each time. The window will
           then slide along the sequence, covering the same number of bases
           each time."
    relations: "EDAM_data:1251 Window size"
  ]

endsection: required

section: advanced [
  information: "Advanced section"
  type: "page"
]

  integer: step [
    information: "Stepping increment for the window"
    default: "3"
    minimum: "1"
    maximum: "@($(sequence.length) - $(window))"
    failrange: "N"
    trueminimum: "Y"
    help: "The selected window will, by default, slide along the
           nucleotide sequence by three bases at a time, retaining the frame
           (although the algorithm is not frame sensitive). This may be
           altered to increase or decrease the increment of the slide."
    relations: "EDAM_data:2141 Window step size"
  ]

endsection: advanced

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

  toggle: plot [
    information: "Graphical display"
    default: "N"
    help: "On selection a graph of the sequence (X axis) plotted
           against the coding score (Y axis) will be displayed. Sequence
           above the green line is coding, that below the red line is
           non-coding."
    relations: "EDAM_data:2527 Parameter"
  ]

  report: outfile [
    standard: "@(!$(plot))"
    rformat: "table"
    multiple: "Y"
    precision: "3"
    taglist: "str:Estimation"
    nullok: "$(plot)"
    nulldefault: "$(plot)"
    relations: "EDAM_data:1313 Nucleic acid features (coding sequence)"
  ]

  xygraph: graph [
    standard: "$(plot)"
    gdesc: "Fickett testcode plot"
    relations: "EDAM_data:2160 Fickett testcode plot"
    sequence: "Y"
  ]

endsection: output
