Table 1

PhyloPattern syntax for representing trees and patterns

<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>


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 webcite) notation.

Gouret et al. BMC Bioinformatics 2009 10:298   doi:10.1186/1471-2105-10-298

Open Data