ArtPoon / BelleJS

Generate BEAST XML analysis files using a BEAUTI-like JavaScript interface
MIT License
2 stars 0 forks source link

Comparing BEAUti and Belle XML outputs #12

Closed ArtPoon closed 3 years ago

ArtPoon commented 3 years ago

JC, strict, constant coalescent Belle has extra entry:

        <!-- Statistic for time of most recent common ancestor of tree               -->
    <tmrcaStatistic id="age(root)" absolute="true">
        <treeModel idref="treeModel"/>
    </tmrcaStatistic>

Minor differences in HKYModel

BEAUti:

    <!-- The JC substitution model (Jukes & Cantor, 1969)                        -->
    <HKYModel id="jc">
        <frequencies>
            <frequencyModel dataType="nucleotide">
                <frequencies>
                    <parameter id="frequencies" value="0.25 0.25 0.25 0.25"/>
                </frequencies>
            </frequencyModel>
        </frequencies>
        <kappa>
            <parameter value="1.0"/>
        </kappa>
    </HKYModel>

Belle:

    <!-- The HKY substitution model (Hasegawa, Kishino & Yano, 1985)             -->
    <HKYModel id="hky">
        <frequencies xmlns="http://www.w3.org/1999/xhtml">
            <frequencymodel dataType="nucleotide">
                <frequencies>
                  <parameter id="frequencies" value="0.25 0.25 0.25 0.25"></parameter>
            </frequencies>
        </frequencymodel>
    </frequencies>
        <kappa xmlns="http://www.w3.org/1999/xhtml">
            <parameter id="kappa" value="1.0" lower="0.0"></parameter>
        </kappa>
  </HKYModel>
ArtPoon commented 3 years ago

In either case there are no operators on kappa so I think the substitution models are equivalent - id probably does not matter as long as the references (idref) are consistent.

ArtPoon commented 3 years ago

Difference in screenLog BEAUti

            <column label="rootHeight" sf="6" width="12">
                <parameter idref="treeModel.rootHeight"/>
            </column>

Belle:

            <column label="age(root)" sf="6" width="12">
                <tmrcaStatistic idref="age(root)"/>
            </column>
ArtPoon commented 3 years ago

Extra element in Belle fileLog:

<tmrcaStatistic idref="age(root)"/>
ArtPoon commented 3 years ago
397,402c24,25
<   <!-- Generate a random starting tree under the coalescent process            -->
<   <coalescentSimulator id="startingTree">
<       <taxa idref="taxa"/>
<       <constantSize idref="constant"/>
<   </coalescentSimulator>
<   
---
>   <!-- Construct a starting tree that is compatible with specified clade heights-->
>   <coalescentSimulator id="startingTree"><taxa idref="taxa"/><constantSize idref="constant"/></coalescentSimulator>

This is just formatting

422c45,50
<   
---
> 
>   <!-- Statistic for time of most recent common ancestor of tree               -->
>   <tmrcaStatistic id="age(root)" absolute="true">
>       <treeModel idref="treeModel"/>
>   </tmrcaStatistic>
> 

This bit is completely missing in our version.

433c61
<   
---
> 
441c69
<   
---
> 
446d73
<   

irrelevant whitespace

448,460c75,77
<   <!-- The JC substitution model (Jukes & Cantor, 1969)                        -->
<   <HKYModel id="jc">
<       <frequencies>
<           <frequencyModel dataType="nucleotide">
<               <frequencies>
<                   <parameter id="frequencies" value="0.25 0.25 0.25 0.25"/>
<               </frequencies>
<           </frequencyModel>
<       </frequencies>
<       <kappa>
<           <parameter value="1.0"/>
<       </kappa>
<   </HKYModel>
---
> 
>   <!-- The HKY substitution model (Hasegawa, Kishino & Yano, 1985)             -->
>   <HKYModel id="hky"><frequencies xmlns="http://www.w3.org/1999/xhtml"><frequencymodel dataType="nucleotide"><frequencies><parameter id="frequencies" value="0.25 0.25 0.25 0.25"></parameter></frequencies></frequencymodel></frequencies><kappa xmlns="http://www.w3.org/1999/xhtml"><parameter id="kappa" value="1.0" lower="0.0"></parameter></kappa></HKYModel>

Mostly formatting and extra xmlns attributes. Should probably create frequencymodel with a namespaced function to preserve case (fixed with next commit). lower setting for kappa probably inconsequential (is fixed for JC).

465c82
<           <HKYModel idref="jc"/>
---
>           <HKYModel idref="hky"/>

Just fixed this in xmlWriter.js.

473c90
<   
---
> 
484c101
<   
---
> 
487a105,106
> 
> 
513c132
<   
---
> 

whitespace silliness

516c135
<   <mcmc id="mcmc" chainLength="10000000" autoOptimize="true" operatorAnalysis="YFV.ops">
---
>   <mcmc id="mcmc" chainLength="10000000" autoOptimize="true">

Ignore, this option was not checked in Belle.

518a138,139
> 
> 
523,524c144,145
<               
<               
---
> 
> 

thbpppt.

544,545c165,166
<           <column label="rootHeight" sf="6" width="12">
<               <parameter idref="treeModel.rootHeight"/>
---
>           <column label="age(root)" sf="6" width="12">
>               <tmrcaStatistic idref="age(root)"/>
554a176
>           <tmrcaStatistic idref="age(root)"/>

Problem noted above.

556a179,180
> 
> 
562c186
<           
---
> 
574c198
<   
---
> 
580,581c204,205
<   
< </beast>
---
> 
> </beast>
\ No newline at end of file

ignore

ArtPoon commented 3 years ago

With tip dates:

539,544c24,25
<   <!-- Generate a random starting tree under the coalescent process            -->
<   <coalescentSimulator id="startingTree">
<       <taxa idref="taxa"/>
<       <constantSize idref="constant"/>
<   </coalescentSimulator>
<   
---
>   <!-- Construct a starting tree that is compatible with specified clade heights-->
>   <coalescentSimulator id="startingTree"><taxa idref="taxa"/><constantSize idref="constant"/></coalescentSimulator>
585c66
<           <parameter id="clock.rate" value="1.0" lower="0.0"/>
---
>           <parameter id="clock.rate" value="1.0"/>
595,607c76,77
<   <!-- The JC substitution model (Jukes & Cantor, 1969)                        -->
<   <HKYModel id="jc">
<       <frequencies>
<           <frequencyModel dataType="nucleotide">
<               <frequencies>
<                   <parameter id="frequencies" value="0.25 0.25 0.25 0.25"/>
<               </frequencies>
<           </frequencyModel>
<       </frequencies>
<       <kappa>
<           <parameter value="1.0"/>
<       </kappa>
<   </HKYModel>
---
>   <!-- The HKY substitution model (Hasegawa, Kishino & Yano, 1985)             -->
>   <HKYModel id="hky"><frequencies xmlns="http://www.w3.org/1999/xhtml"><frequencymodel dataType="nucleotide"><frequencies><parameter id="frequencies" value="0.25 0.25 0.25 0.25"></parameter></frequencies></frequencymodel></frequencies><kappa xmlns="http://www.w3.org/1999/xhtml"><parameter id="kappa" value="1.0" lower="0.0"></parameter></kappa></HKYModel>
612c82
<           <HKYModel idref="jc"/>
---
>           <HKYModel idref="hky"/>
635,636c105,108
<       <scaleOperator scaleFactor="0.75" weight="3">
<           <parameter idref="clock.rate"/>
---
>       
>       
>       <scaleOperator scaleFactor="0.75" scaleAll="true" ignoreBounds="true" weight="3">
>           <parameter idref="treeModel.allInternalNodeHeights"/>
638,645d109
<       <upDownOperator scaleFactor="0.75" weight="3">
<           <up>
<               <parameter idref="treeModel.allInternalNodeHeights"/>
<           </up>
<           <down>
<               <parameter idref="clock.rate"/>
<           </down>
<       </upDownOperator>
671c135
<   <mcmc id="mcmc" chainLength="10000000" autoOptimize="true" operatorAnalysis="YFV-HKY-strict-constant.ops">
---
>   <mcmc id="mcmc" chainLength="10000000" autoOptimize="true">
674,679c138,139
<               <ctmcScalePrior>
<                   <ctmcScale>
<                       <parameter idref="clock.rate"/>
<                   </ctmcScale>
<                   <treeModel idref="treeModel"/>
<               </ctmcScalePrior>
---
>               
>               
708,710d167
<           <column label="clock.rate" sf="6" width="12">
<               <parameter idref="clock.rate"/>
<           </column>
714c171
<       <log id="fileLog" logEvery="1000" fileName="YFV-HKY-strict-constant.log" overwrite="false">
---
>       <log id="fileLog" logEvery="1000" fileName="YFV.log" overwrite="false">
721a179,180
>           
>           
731c190
<       <logTree id="treeFileLog" logEvery="1000" nexusFormat="true" fileName="YFV-HKY-strict-constant.trees" sortTranslationTable="true">
---
>       <logTree id="treeFileLog" logEvery="1000" nexusFormat="true" fileName="YFV.trees" sortTranslationTable="true">
746c205
< </beast>
---
> </beast>
\ No newline at end of file
ArtPoon commented 3 years ago

Some residual differences between dated tips XMLs after commit 09c3a2cfcdf316834dfa91f0174424140a0d23d1 red is BEAUti, green is Belle

635,636c105,108
<       <scaleOperator scaleFactor="0.75" weight="3">
<           <parameter idref="clock.rate"/>
---
>       
>       
>       <scaleOperator scaleFactor="0.75" scaleAll="true" ignoreBounds="true" weight="3">
>           <parameter idref="treeModel.allInternalNodeHeights"/>
638,645d109
<       <upDownOperator scaleFactor="0.75" weight="3">
<           <up>
<               <parameter idref="treeModel.allInternalNodeHeights"/>
<           </up>
<           <down>
<               <parameter idref="clock.rate"/>
<           </down>
<       </upDownOperator>
671c135
<   <mcmc id="mcmc" chainLength="10000000" autoOptimize="true" operatorAnalysis="YFV-HKY-strict-constant.ops">
---
>   <mcmc id="mcmc" chainLength="10000000" autoOptimize="true">
674,679c138,139
<               <ctmcScalePrior>
<                   <ctmcScale>
<                       <parameter idref="clock.rate"/>
<                   </ctmcScale>
<                   <treeModel idref="treeModel"/>
<               </ctmcScalePrior>
---
>               
>               
708,710d167
<           <column label="clock.rate" sf="6" width="12">
<               <parameter idref="clock.rate"/>
<           </column>
714c171
<       <log id="fileLog" logEvery="1000" fileName="YFV-HKY-strict-constant.log" overwrite="false">
---
>       <log id="fileLog" logEvery="1000" fileName="YFV.log" overwrite="false">
721a179,180
>           
>           
731c190
<       <logTree id="treeFileLog" logEvery="1000" nexusFormat="true" fileName="YFV-HKY-strict-constant.trees" sortTranslationTable="true">
---
>       <logTree id="treeFileLog" logEvery="1000" nexusFormat="true" fileName="YFV.trees" sortTranslationTable="true">
746c205
< </beast>
---
> </beast>
\ No newline at end of file
ArtPoon commented 3 years ago