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