appl: msbar [
  documentation: "Mutate sequence beyond all recognition"
  groups: "Nucleic:Mutation, Protein:Mutation"
]

section: input [ info: "input Section" type: page ]
seqall: sequence  [
  parameter: "Y"
  type: "any"
]

endsection: input

section: required [ info: "required Section" type: page ]
integer: count  [
  required: "Y"
  default: "1"
  minimum: "0"
  information: "Number of times to perform the mutation operations"
]

list: point  [
  required: "Y"
  default: "0"
  minimum: "1"
  maximum: "4"
  header: "Point mutation operations"
  values: "0:None; 1:Any of the following; 2:Insertions; 3:Deletions; 4:Changes; 5:Duplications; 6:Moves"
  delimiter: ";"
  codedelimiter: ":"
  information: "Types of point mutations to perform"
]

list: block  [
  required: "Y"
  default: "0"
  minimum: "1"
  maximum: "4"
  header: "Block mutation operations"
  values: "0:None; 1:Any of the following; 2:Insertions; 3:Deletions; 4:Changes; 5:Duplications; 6:Moves"
  delimiter: ";"
  codedelimiter: ":"
  information: "Types of block mutations to perform"
]

endsection: required

section: advanced [ info: "advanced Section" type: page ]
bool: inframe  [
  optional: "@($(sequence.protein)?N:Y)"
  default: "N"
  information: "Do 'codon' and 'block' operations in frame"
]

list: codon  [
  required: "@($(sequence.protein)?N:Y)"
  default: "0"
  minimum: "1"
  maximum: "4"
  header: "Codon mutation operations"
  values: "0:None; 1:Any of the following; 2:Insertions; 3:Deletions; 4:Changes; 5:Duplications; 6:Moves"
  delimiter: ";"
  codedelimiter: ":"
  information: "Types of codon mutations to perform"
  help: "Types of codon mutations to perform. These are only done if the sequence is nucleic."
]

integer: minimum  [
  default: "1"
  minimum: "0"
  information: "Minimum size for a block mutation"
]

integer: maximum  [
  default: "10"
  minimum: "$(minimum)"
  information: "Maximum size for a block mutation"
]

endsection: advanced

section: output [ info: "output Section" type: page ]
seqoutall: outseq  [
  parameter: "Y"
]

endsection: output
