application: fpenny [
  documentation: "Penny algorithm, branch-and-bound"
  groups: "Phylogeny:Discrete characters"
  embassy: "phylipnew"
  relations:  "EDAM_topic:0084 Phylogenetics"
  relations:  "EDAM_operation:0545 Phylogenetic tree construction
               (parsimony methods)"
]

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

  discretestates: infile [
    parameter: "Y"
    characters: "01PB?"
    help: "File containing one or more data sets"
    knowntype: "discrete characters"
    information: "Phylip character discrete states file"
    relations:  "EDAM_data:1427 Phylogenetic discrete data"
  ]

  properties: weights [
    additional: "Y"
    characters: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    information: "Phylip weights file (optional)"
    nullok: "Y"
    length: "$(infile.discretelength)"
    size: "1"
    relations: "EDAM_data:2994 Phylogenetic character weights"
  ]

  properties: ancfile [
    additional: "Y"
    characters: "01?"
    information: "Phylip ancestral states file (optional)"
    nullok: "Y"
    length: "$(infile.discretelength)"
    size: "1"
    relations: "EDAM_data:1427 Phylogenetic discrete data"
  ]

  properties: mixfile [
    additional: "Y"
    characters: "CSW"
    information: "Phylip mix output file (optional)"
    nullok: "Y"
    length: "$(infile.discretelength)"
    size: "1"
    relations: "EDAM_data:1427 Phylogenetic discrete data"
  ]

endsection: input

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

  list: method [
    additional: "y"
    minimum: "1"
    maximum: "1"
    header: "Method"
    values: "Wag:Wagner; Cam:Camin-Sokal; Mix:Mixed;"
    information: "Choose the method to use"
    default: "Wagner"
    relations: "EDAM_data:2527 Parameter"
  ]

  integer: outgrno [
    additional: "Y"
    minimum: "0"
    maximum: "$(infile.discretesize)"
    failrange: "N"
    trueminimum: "Y"
    default: "0"
    information: "Species number to use as outgroup"
    relations: "EDAM_data:2527 Parameter"
  ]

  integer: howmany [
    additional: "Y"
    information: "How many groups of trees"
    default: "1000"
    relations: "EDAM_data:2527 Parameter"
  ]

  integer: howoften [
    additional: "Y"
    information: "How often to report, in trees"
    default: "100"
    relations: "EDAM_data:2527 Parameter"
  ]

  boolean: simple [
    additional: "Y"
    information: "Branch and bound is simple"
    relations: "EDAM_data:2527 Parameter"
  ]

  float: threshold [
    additional: "Y"
    minimum: "1.0"
    default: "$(infile.discretesize)"
    information: "Threshold value"
    relations: "EDAM_data:2146 Threshold"
  ]

endsection: additional

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

  outfile: outfile [
    parameter: "Y"
    knowntype: "penny output"
    information: "Phylip penny program output file"
    relations:  "EDAM_data:0872 Phylogenetic tree"
  ]

  toggle: trout [
    additional: "Y"
    default: "Y"
    information: "Write out trees to tree file"
    relations: "EDAM_data:2527 Parameter"
  ]

  outfile: outtreefile [
    additional: "$(trout)"
    extension: "treefile"
    information: "Phylip tree output file (optional)"
    knowntype: "newick tree"
    nullok: "Y"
    relations:  "EDAM_data:0872 Phylogenetic tree"
  ]

  boolean: printdata [
    additional: "Y"
    default: "N"
    information: "Print data at start of run"
    relations: "EDAM_data:2527 Parameter"
  ]

  boolean: progress [
    additional: "Y"
    default: "Y"
    information: "Print indications of progress of run"
    relations: "EDAM_data:2527 Parameter"
  ]

  boolean: treeprint [
    additional: "Y"
    default: "Y"
    information: "Print out tree"
    relations: "EDAM_data:2527 Parameter"
  ]

  boolean: stepbox [
    additional: "Y"
    default: "N"
    information: "Print out steps in each site"
    relations: "EDAM_data:2527 Parameter"
  ]

  boolean: ancseq [
    additional: "Y"
    default: "N"
    information: "Print states at all nodes of tree"
    relations: "EDAM_data:2527 Parameter"
  ]

endsection: output
