appl: transeq [
  documentation: "Translate nucleic acid sequences"
  groups: "Nucleic:Translation"
]

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

endsection: input

section: advanced [ info: "advanced Section" type: page ]
list: frame  [
  optional: "Y"
  default: "1"
  minimum: "1"
  maximum: "6"
  header: "Translation frames"
  values: "1:1, 2:2, 3:3, F:Forward three frames, -1:-1, -2:-2, -3:-3, R:Reverse three frames, 6:All six frames"
  delimiter: ","
  codedelimiter: ":"
  prompt: "Frame(s) to translate"
]

list: table  [
  optional: "Y"
  default: "0"
  minimum: "1"
  maximum: "1"
  header: "Genetic codes"
  values: "0:Standard; 1:Standard (with alternative initiation codons); 2:Vertebrate Mitochondrial; 3:Yeast Mitochondrial; 4:Mold, Protozoan, Coelenterate Mitochondrial and Mycoplasma/Spiroplasma; 5:Invertebrate Mitochondrial; 6:Ciliate Macronuclear and Dasycladacean; 9:Echinoderm Mitochondrial; 10:Euplotid Nuclear; 11:Bacterial; 12:Alternative Yeast Nuclear; 13:Ascidian Mitochondrial; 14:Flatworm Mitochondrial; 15:Blepharisma Macronuclear; 16:Chlorophycean Mitochondrial; 21:Trematode Mitochondrial; 22:Scenedesmus obliquus; 23:Thraustochytrium Mitochondrial"
  delimiter: ";"
  codedelimiter: ":"
  prompt: "Code to use"
]

range: regions  [
  optional: "Y"
  default: "$(sequence.begin)-$(sequence.end)"
  prompt: "Regions to translate (eg: 4-57,78-94)"
  help: "Regions to translate. \ If this is left blank, then the complete sequence is translated. \ A set of regions is specified by a set of pairs of positions. \ The positions are integers. \ They are separated by any non-digit, non-alpha character. \ Examples of region specifications are: \ 24-45, 56-78 \ 1:45, 67=99;765..888 \ 1,5,8,10,23,45,57,99 \ Note: you should not try to use this option with any other frame than the default, -frame=1"
  expected: "Whole sequence"
]

bool: trim  [
  optional: "Y"
  default: "N"
  prompt: "Trim trailing X's and *'s"
  help: "This removes all X and * characters from the right end of the translation. The trimming process starts at the end and continues until the next character is not a X or a *"
]

endsection: advanced

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

endsection: output
