Cleaning up BEAUti a bit.
191 lines of code changed in 16 files:
Enabling tipBranchSubstitutionModel for ancestral state reconstruction
399 lines of code changed in 7 files:
Refactored BranchSiteModel to BranchSubstitutionModel to better reflect that this class specifies a substitution model for each branch, while SiteRateModel gives the site-specitic rate multiplier information.
288 lines of code changed in 18 files:
Added example files
91 lines of code changed in 2 files:
Almost certainly broke BeagleTreeLikelihood. Added support for BranchSiteModel (different substitution models across various sets of branches) and implemented an external vs internal branch-specific substitution process.
255 lines of code changed in 8 files:
Fixed bugs I introduced allowing resource scaling and preferences to vary across data partitions
38 lines of code changed in 1 file:
Many fixes for discrete trait generation.
92 lines of code changed in 10 files:
Traits states now get logged with the proper partition prefix
3 lines of code changed in 1 file:
updating version number in build.xml
2 lines of code changed in 1 file:
Trunk: correct spelling.
22 lines of code changed in 7 files:
Only write one general substitution data type per discrete substitution model.
40 lines of code changed in 6 files:
Spelling
3 lines of code changed in 1 file:
Fixing up discrete model generation
44 lines of code changed in 5 files:
Discrete traits models now take the union of states for all partitions that share the same discrete CTMC model.
56 lines of code changed in 7 files:
TimeSlicer update for compatibility with Google Earth 5.2 / cartographica
37 lines of code changed in 1 file:
If you explicitly specify a file then it is analysed irrespective of what its extension is.
5 lines of code changed in 1 file:
Please no exclaimation marks in UI messages!
1 lines of code changed in 1 file:
Give a more intuitive error message
5 lines of code changed in 1 file:
Give a sane message when no files are given (since files with a non-approved extension, even if explicitly given on the command line, are silently filtered out)
5 lines of code changed in 1 file:
TimeSlicer update for compatibility with Google Earth 5.2
43 lines of code changed in 2 files:
TimeSlicer update for compatibility with Google Earth 5.2
370 lines of code changed in 1 file:
Added ability to provide BEAGLE flags and scaling scheme on a partition-by-partition basis
52 lines of code changed in 1 file:
This is a very large commit. It addresses some architectural issues in BEAUti that were going to hinder implementation of continuous traits.
The main thing it does is to isolate creating and importing traits from creating partitions on those traits. A button on the data panel explicitly specifies that a trait should be used as a data partition (i.e., have a TreeLikelihood). This allows traits to be used for other purposes (such as defining Species in *BEAST). This has also allowed considerable simplification of code and tidying up.
There are a number of bug fixes as well over v1.6.0 that I will add to the issue list to keep track of them. Given the complex nature of these changes, I do not think these should be ported to the 1.6.0 branch but perhaps the bugs can be fixed.
These changes will have introduced bugs and possibly cause issues with XML generation that now need to be fixed (I will attempt to catch as many as possible).
3241 lines of code changed in 107 files:
Removed automatic use of 'guess trait values' during an add trait. We may not have traits embedded in taxon labels and the user may wish to load them manually or import them.
Removed the disabled name text field and type combo box from the guess traits dialog as it was unclear why these were disabled. Replaced with a label describing what is being edited.
Made the GuessTraitsDialog box persistent so the settings remain in subsequent calls (it was tedious to have to reconstruct a complex regex).
226 lines of code changed in 5 files:
Fixed issue with TraitGuesser not extracting match within brackets (braces).
3 lines of code changed in 1 file:
q(x0) -> 1/q(x0) [whoops!]
2 lines of code changed in 1 file:
Trunk: merge change.
1 lines of code changed in 2 files:
Updates to robust counting classes to provide branch-specific unconditioned counts
88 lines of code changed in 2 files:
Do not partition data if site count is less than number of prospective partitions
1 lines of code changed in 1 file:
Updated revision number of Pathogen
2 lines of code changed in 1 file:
Added a constant boolean to BeastVersion to specify whether it is a prerelease version. If true then the Subversion revision number is appended to the version string. The SVN revision number should be updated automatically but this may require setting the subversion property "svn:keywords" with value "Rev" to do this.
7 lines of code changed in 1 file:
Fixed a problem with pattern subsets where the last subset may have an extra pattern.
1 lines of code changed in 1 file:
Updating the BeastVersion for the trunk to differentiate builds from the 1.6 branch.
4 lines of code changed in 1 file:
Trunk: merge change.
50 lines of code changed in 6 files:
Trunk: merge change.
7 lines of code changed in 1 file:
Added common ancestor lines to pathogen. These help explore the outliers.
20 lines of code changed in 2 files:
Trunk: merge change.
5 lines of code changed in 2 files:
Trunk: merge issue 416, 417 and 418.
71 lines of code changed in 7 files:
Trunk: EBSP missing P.
1 lines of code changed in 2 files:
Trunk: merge issue 414.
125 lines of code changed in 5 files:
Trunk: merge issue 398.
1 lines of code changed in 1 file:
Trunk: merge issue 408.
17 lines of code changed in 1 file:
Trunk: merge issue 403.
3 lines of code changed in 1 file:
Trunk: fix build.
1 lines of code changed in 1 file:
Trunk: merge Issue 413: BEAUti: duplicate class PartitionModelOptions causes
model link conflict.
453 lines of code changed in 15 files:
Trunk: update EBSP tutorial
0 lines of code changed in 2 files:
Experimenting with Path-O-Gen
215 lines of code changed in 4 files:
added a getCentroid method in Polygon2D
21 lines of code changed in 1 file:
After some more extensive testing, I have now removed the node heights bound check as default. Certain moves still may make this check.
8 lines of code changed in 3 files:
Decoupled the process of checking node heights are within bounds to confirm that an operator is correct from using it to reject a move. By default tree moves just call treeModel.endTreeEdit() to finish editing the tree. If they need to check whether the resulting tree is valid they can call checkTreeIsValid() which throws an exception if not. Most moves do not need this check if correctly implemented. Some I wasn't too sure about so I left the check in for those to give the same behaviour (but it is up to the operator whether this check is made and what to do about it).
TreeModel.endTreeEdit() can optionally make this test (switch on a flag at the top of TreeModel) but throws a runtimeException so stops the program if it fails.
365 lines of code changed in 39 files:
Whilst I test the consequence of removing the height bound checking in TreeModel.endTreeEdit(), I have reinstated the test but it now throws a RuntimeException to see if any operators rely on this test failing to check for invalid moves.
11 lines of code changed in 3 files:
Removed another use of IntersectionBounds in CompoundParameter unless it is actually required. About a 10% speed up on benchmark1.xml. Further work could probably get a bit more out of this but I am not sure it would be worth it. These inefficiencies only become apparent with very large trees that don't take too long to evaluate.
13 lines of code changed in 1 file:
Trunk: EBSP tutorial and script
14354 lines of code changed in 20 files:
examples/benchmark1.xml used to take 160 seconds - it now takes 35. This is because it is a very large tree (1442 tips). The likelihood calculation was taking 22 seconds of the 160, most of the rest was spent checking the bounds of the node heights. It turned out that TreeModel.endTreeEdit() was checking the bounds of every node after every tree move. This check is simply to ensure that the tree move was behaving correctly (program stops with a RuntimeException if it doesn't). So, commented out this check and 3 fold speed up.
Actually it turned out all the nodes had their bounds added twice so this check was even more costly.
We could include this check in the initial phase of the run or as an assert.
28 lines of code changed in 2 files:
Small changes to StarBEAST tutorial
529 lines of code changed in 4 files:
Removed System.out.println's from DiscretizedBranchRates
10 lines of code changed in 1 file:
Adjusted Parameter to not use IntesectionBounds unless multiple bounds are added.
14 lines of code changed in 1 file:
Relaxed the test of RandomWalkOperator to allow for a loss of precision in the looping algorithm.
1 lines of code changed in 2 files:
Implemented algorithm for a reflected random walk avoiding a loop. Refactored the old looping algorithm out into a method and created a unit test to compare the two. Currently for the test with a very large number of loop iterations, the results are different at the 4th decimal place, probably as a result of loss of precision in the repeated subtractions in the loop.
146 lines of code changed in 2 files:
Fixed an issue where an IntegerRandomWalkOperator was actually just generating a RandomWalkOperator (the wrong string was being used).
7 lines of code changed in 4 files:
Trunk: merge issue 411
2 lines of code changed in 1 file:
Trunk: merge issue 411
15 lines of code changed in 2 files:
Trunk: *BEAST tutorial
1587 lines of code changed in 23 files:
Trunk: merge Issue 410: "Improper priors" on posterior statistics from branch 1.6.
42 lines of code changed in 9 files:
Trunk: @Override is JDK1.6 code.
45 lines of code changed in 18 files:
Adding a very hackish and trivial example XML for using the metagenome HiddenLinkageModel.
---------------
Adding a new model of hidden linkage among reads in a metagenomic dataset. The model and its application to metagenomic datasets is described in a manuscript in preparation by Aaron Darling and Jonathan Eisen. This is one part of commit phase 2.
1880 lines of code changed in 1 file:
Allow the use of a native general likelihood core. Change handling of TipPartialsModel change events so only affected nodes with TipPartialsModels get marked dirty -- saves lots of recompute.
---------------
Adding a new model of hidden linkage among reads in a metagenomic dataset. The model and its application to metagenomic datasets is described in a manuscript in preparation by Aaron Darling and Jonathan Eisen. This is one part of commit phase 2.
16 lines of code changed in 1 file:
Several small changes to TreeLoggerParser that structure it in a way that allows subclasses to use much of its functionality without reimplementing or copying code.
---------------
Adding a new model of hidden linkage among reads in a metagenomic dataset. The model and its application to metagenomic datasets is described in a manuscript in preparation by Aaron Darling and Jonathan Eisen. This is one part of commit phase 2.
33 lines of code changed in 1 file:
Warn the user when the native general likelihood core could not be loaded.
1 lines of code changed in 2 files:
Making a tiny change to TreeLogger API so that the tree can be manipulated by other classes. This gets used by the HiddenLinkageTreeLogger to avoid duplicating all the code in TreeLogger.
---------------
Adding a new model of hidden linkage among reads in a metagenomic dataset. The model and its application to metagenomic datasets is described in a manuscript in preparation by Aaron Darling and Jonathan Eisen. This is one part of commit phase 2.
10 lines of code changed in 1 file:
Adding some additional stray files that are part of the metagenome linkage model.
Adding a new model of hidden linkage among reads in a metagenomic dataset. The model and its application to metagenomic datasets is described in a manuscript in preparation by Aaron Darling and Jonathan Eisen. This is commit phase 1: adding new files. Phase 2 comes next, committing related changes to existing files.
202 lines of code changed in 3 files:
Adding parsers for metagenome models.
Adding a new model of hidden linkage among reads in a metagenomic dataset. The model and its application to metagenomic datasets is described in a manuscript in preparation by Aaron Darling and Jonathan Eisen. This is one part of commit phase 2.
13 lines of code changed in 1 file:
Adding a new model of hidden linkage among reads in a metagenomic dataset. The model and its application to metagenomic datasets is described in a manuscript in preparation by Aaron Darling and Jonathan Eisen. This is commit phase 1: adding new files. Phase 2 comes next, committing related changes to existing files.
1488 lines of code changed in 14 files: