application: est2genome [
  documentation: "Align EST sequences to genomic DNA sequence"
  groups: "Alignment:Global"
  gui: "yes"
  batch: "yes"
  cpu: "medium"
]

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

  seqall: estsequence [
    parameter: "Y"
    type: "dna"
    information: "Spliced EST nucleotide sequence(s)"
    knowntype: "est sequence"
  ]

  sequence: genomesequence [
    parameter: "Y"
    type: "dna"
    information: "Unspliced genomic nucleotide sequence"
    knowntype: "genomic sequence"
  ]

endsection: input

section: additional [
  information: "Additional section"
  type: "page"
]

  integer: match [
    additional: "Y"
    default: "1"
    information: "Score for matching two bases"
  ]

  integer: mismatch [
    additional: "Y"
    default: "1"
    information: "Cost for mismatching two bases"
  ]

  integer: gappenalty [
    additional: "Y"
    default: "2"
    information: "Gap penalty"
    help: "Cost for deleting a single base in either sequence,
           excluding introns"
  ]

  integer: intronpenalty [
    additional: "Y"
    default: "40"
    information: "Intron penalty"
    help: "Cost for an intron, independent of length."
  ]

  integer: splicepenalty [
    additional: "Y"
    default: "20"
    information: "Splice site penalty"
    help: "Cost for an intron, independent of length and
           starting/ending on donor-acceptor sites"
  ]

  integer: minscore [
    additional: "Y"
    default: "30"
    information: "Minimum accepted score"
    help: "Exclude alignments with scores below this threshold score."
  ]

endsection: additional

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

  boolean: reverse [
    information: "Reverse orientation"
    help: "Reverse the orientation of the EST sequence"
  ]

  boolean: splice [
    default: "Y"
    information: "Use donor and acceptor splice sites"
    help: "Use donor and acceptor splice sites. If you want to ignore
           donor-acceptor sites then set this to be false."
  ]

  list: mode [
    default: "both"
    information: "Comparison mode"
    help: "This determines the comparion mode. The default value is
           'both', in which case both strands of the est are compared
           assuming a forward gene direction (ie GT/AG splice sites), and the
           best comparsion redone assuming a reversed (CT/AC) gene splicing
           direction. The other allowed modes are 'forward', when just the
           forward strand is searched, and 'reverse', ditto for the reverse
           strand."
    values: "both:Both strands; forward:Forward strand only;
             reverse:Reverse strand only"
  ]

  boolean: best [
    default: "Y"
    information: "Print out only best alignment"
    help: "You can print out all comparisons instead of just the best
           one by setting this to be false."
  ]

  float: space [
    default: "10.0"
    information: "Space threshold (in megabytes)"
    help: "For linear-space recursion. If product of sequence lengths
           divided by 4 exceeds this then a divide-and-conquer strategy is
           used to control the memory requirements. In this way very long
           sequences can be aligned. \
           If you have a machine with plenty of memory you can raise this
           parameter (but do not exceed the machine's physical RAM)"
  ]

  integer: shuffle [
    information: "Shuffle"
  ]

  integer: seed [
    default: "20825"
    information: "Random number seed"
  ]

endsection: advanced

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

  outfile: outfile [
    parameter: "y"
    knowntype: "est2genome output"
  ]

  boolean: align [
    information: "Show the alignment"
    help: "Show the alignment. The alignment includes the first and
           last 5 bases of each intron, together with the intron width. The
           direction of splicing is indicated by angle brackets (forward or
           reverse) or ???? (unknown)."
  ]

  integer: width [
    default: "50"
    information: "Alignment width"
  ]

endsection: output
