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.