appl: complex [
  documentation: "Find the linguistic complexity in nucleotide sequences"
  groups: "Nucleic:Composition"
]

seqall: sequence  [
  parameter: "Y"
  type: "dna"
]

bool: omnia  [
  default: "N"
  information: "All sequences"
  help: "calculate over a set of sequences"
]

seqoutall: outseq  [
  required: "$(omnia)"
]

integer: lwin  [
  required: "Y"
  default: "100"
  maximum: "$(sequence.length)"
  information: "Window length"
]

integer: step  [
  required: "Y"
  default: "5"
  maximum: "$(lwin)"
  information: "Step size"
  help: "the displacement of the window over the sequence"
]

integer: sim  [
  required: "N"
  default: "0"
  information: "Simulations"
  help: "calculate the linguistic complexity by comparison with a number of simulations having a uniform distribution of bases"
]

integer: jmin  [
  required: "Y"
  default: "4"
  minimum: "2"
  maximum: "20"
  information: "Minimum word length"
  help: ""
]

integer: jmax  [
  required: "Y"
  default: "6"
  minimum: "2"
  maximum: "50"
  information: "Maximum word length"
  help: ""
]

bool: freq  [
  default: "N"
  information: "Calculate frequency"
  help: "execute the simulation of a sequence based on the base frequency of the original sequence"
]

bool: print  [
  default: "N"
  information: "Print to file"
  help: "generate a file named UjTable containing the values of Uj for each word j in the real sequence(s) and in any simulated sequences"
]

outfile: outfile  [
  required: "Y"
  extension: "complex"
]

outfile: ujtable  [
  required: "@($(sim) & $(omnia))"
  default: "complex.ujtable"
  information: "UjTable temporary file name"
  help: ""
]
