Skip to main content

Table 1 PhyloPattern syntax for representing trees and patterns

From: PhyloPattern: regular expressions to identify complex patterns in phylogenetic trees

<node> ::= <leaf> | <internal_node> | <rake>
<leaf> ::= " [" <empty_list>, <tag_list> "]"
<internal_node> ::= " [" "[" <node>, <node> "]", <tag_list> "]"
<rake> ::= &(" [" <node_list> "]")
<node_list> ::= <node>
  ::= <node>, <node_list>
<empty_list> ::= "[]"
<tag_list> ::= <empty_list>
  ::= " [" <filled_tag_list> "]"
<filled_tag_list> ::= <tag>
  ::= <tag>, <filled_tag_list>
<tag> ::= <identifier> (<value>)
<leaf_list> ::= <leaf>
  ::= <leaf>, <leaf_list>
<identifier> ::= <lower-case-letter> { <letter> | <digit>}
  ::= ' { <character> } '
<value> ::= <identifier> | <number>
<pattern> ::= <leaf>
  ::= " [" "[" <pattern>, <pattern> "]", <tag_list> "]"
  ::= &(" [" <pattern_list> "]")
  ::= @ (<pattern>)
  ::= $ (<pattern>)
  ::= #(" [" <leaf_list> "]")
<pattern_list> ::= <pattern>
  ::= <pattern>, <pattern_list>
  1. The grammar rules used for describing trees and patterns are indicated using the BNF (Bacchus Naur Form: http://cui.unige.ch/db-research/Enseignement/analyseinfo/AboutBNF.html) notation.