Development Version (updated on 21 February 2012 NZDT)
The following is a list of valid elements in a beast file.
required
optional
<!-- An alignment of three short DNA sequences --> <alignment missing="-?" dataType="nucleotide"> <sequence> <taxon idref="taxon1"/> ACGACTAGCATCGAGCTTCG--GATAGCAGGC </sequence> <sequence> <taxon idref="taxon2"/> ACGACTAGCATCGAGCTTCGG-GATAGCATGC </sequence> <sequence> <taxon idref="taxon3"/> ACG?CTAGAATCGAGCTTCGAGGATAGCATGC </sequence> </alignment>
<!-- the tree model as special sockets for attaching parameters to various aspects of the tree --> <!-- The treeModel below shows the standard setup with a parameter associated with the root height --> <!-- a parameter associated with the internal node heights (minus the root height) and --> <!-- a parameter associates with all the internal node heights --> <!-- Notice that these parameters are overlapping --> <!-- The parameters are subsequently used in operators to propose changes to the tree node heights --> <treeModel id="treeModel1"> <tree idref="startingTree"/> <rootHeight> <parameter id="treeModel1.rootHeight"/> </rootHeight> <nodeHeights internalNodes="true" rootNode="false"> <parameter id="treeModel1.internalNodeHeights"/> </nodeHeights> <nodeHeights internalNodes="true" rootNode="true"> <parameter id="treeModel1.allInternalNodeHeights"/> </nodeHeights> </treeModel>
<!-- the tree model as special sockets for attaching parameters to various aspects of the tree --> <!-- The treeModel below shows the standard setup with a parameter associated with the root height --> <!-- a parameter associated with the internal node heights (minus the root height) and --> <!-- a parameter associates with all the internal node heights --> <!-- Notice that these parameters are overlapping --> <!-- The parameters are subsequently used in operators to propose changes to the tree node heights --> <treeModel id="treeModel1"> <tree idref="startingTree"/> <rootHeight> <parameter id="treeModel1.rootHeight"/> </rootHeight> <nodeHeights internalNodes="true" rootNode="false"> <parameter id="treeModel1.internalNodeHeights"/> </nodeHeights> <nodeHeights internalNodes="true" rootNode="true"> <parameter id="treeModel1.allInternalNodeHeights"/> </nodeHeights> </treeModel>
<!-- a date representing 10 years in the past --> <date value="10.0" units="years" direction="backwards"/> <!-- a date representing 300 days after Jan 1st 1989 --> <date value="300.0" origin="01/01/89" units="days" direction="forwards"/>
<!-- The XML for a nucleotide data type under this scheme would be --> <generalDataType id="nucleotides"> <state code="A"/> <state code="C"/> <state code="G"/> <state code="T"/> <alias code="U" state="T"/> <ambiguity code="R" states="AG"/> <ambiguity code="Y" states="CT"/> <ambiguity code="?" states="ACGT"/> <ambiguity code="-" states="ACGT"/> </generalDataType>
<!-- A general time reversible model for DNA. --> <!-- This element must have parameters for exactly five of the six rates --> <!-- The sixth rate has an implied value of 1.0 and all other rates are relative to it --> <!-- This example parameterizes the rate matrix relative to the A<->G transition --> <gtrModel id="gtr1"> <frequencies> <frequencyModel idref="freqs"/> </frequencies> <rateAC> <parameter id="rateAC" value="1.0"/> </rateAC> <rateAT> <parameter id="rateAT" value="1.0"/> </rateAT> <rateCG> <parameter id="rateCG" value="1.0"/> </rateCG> <rateCT> <parameter id="rateCT" value="1.0"/> </rateCT> <rateGT> <parameter id="rateGT" value="1.0"/> </rateGT> </gtrModel>
<!-- The logArg element takes an argModel to be logged --> <logArg logEvery="100" fileName="log.args"> <argModel idref="treeModel1"/> </logArg>
<!-- The logArgTree element takes an argTreeModel to be logged --> <logArgTree logEvery="100" fileName="log.trees" nexusFormat="true"> <treeModel idref="treeModel1"/> </logArgTree>
<!-- The logHiddenLinkageTree element takes a treeModel to be logged --> <logHiddenLinkageTree logEvery="100" fileName="log.trees" nexusFormat="true"> <treeModel idref="treeModel1"/> </logHiddenLinkageTree>
<!-- The logTree element takes a treeModel to be logged --> <logTree logEvery="100" fileName="log.trees" nexusFormat="true"> <treeModel idref="treeModel1"/> </logTree>
<microsatellite min="0" max="20" unitLength="2"/>
<newick units="years"> ((A:1.0, B:1.0):1.0,(C:2.0, D:2.0):1.0); </newick>
<!-- the tree model as special sockets for attaching parameters to various aspects of the tree --> <!-- The treeModel below shows the standard setup with a parameter associated with the root height --> <!-- a parameter associated with the internal node heights (minus the root height) and --> <!-- a parameter associates with all the internal node heights --> <!-- Notice that these parameters are overlapping --> <!-- The parameters are subsequently used in operators to propose changes to the tree node heights --> <treeModel id="treeModel1"> <tree idref="startingTree"/> <rootHeight> <parameter id="treeModel1.rootHeight"/> </rootHeight> <nodeHeights internalNodes="true" rootNode="false"> <parameter id="treeModel1.internalNodeHeights"/> </nodeHeights> <nodeHeights internalNodes="true" rootNode="true"> <parameter id="treeModel1.allInternalNodeHeights"/> </nodeHeights> </treeModel>
<!-- A list of six taxa --> <taxa id="greatApes"> <taxon id="human"/> <taxon id="chimp"/> <taxon id="bonobo"/> <taxon id="gorilla"/> <taxon id="orangutan"/> <taxon id="siamang"/> </taxa> <!-- A list of three taxa by references to above taxon objects --> <taxa id="humanAndChimps"> <taxon idref="human"/> <taxon idref="chimp"/> <taxon idref="bonobo"/> </taxa>
<!-- the tree model as special sockets for attaching parameters to various aspects of the tree --> <!-- The treeModel below shows the standard setup with a parameter associated with the root height --> <!-- a parameter associated with the internal node heights (minus the root height) and --> <!-- a parameter associates with all the internal node heights --> <!-- Notice that these parameters are overlapping --> <!-- The parameters are subsequently used in operators to propose changes to the tree node heights --> <treeModel id="treeModel1"> <tree idref="startingTree"/> <rootHeight> <parameter id="treeModel1.rootHeight"/> </rootHeight> <nodeHeights internalNodes="true" rootNode="false"> <parameter id="treeModel1.internalNodeHeights"/> </nodeHeights> <nodeHeights internalNodes="true" rootNode="true"> <parameter id="treeModel1.allInternalNodeHeights"/> </nodeHeights> </treeModel>