[root]/src/dr/evomodel/arg
branchratemodel
(1 files, -6 lines)
coalescent
(3 files, -3 lines)
likelihood
(2 files, 12 lines)
operators
(10 files, -14 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 117 (100.0%) | 14862 (100.0%) | 127.0 |
msuchard | 18 (15.4%) | 7570 (50.9%) | 420.5 |
alexei.drummond | 21 (17.9%) | 4897 (32.9%) | 233.1 |
bloomquist | 39 (33.3%) | 2137 (14.4%) | 54.7 |
rambaut | 17 (14.5%) | 164 (1.1%) | 9.6 |
jheled | 16 (13.7%) | 90 (0.6%) | 5.6 |
dong.w.xie | 6 (5.1%) | 4 (0.0%) | 0.6 |
Loggers weren't logging if they overrode the base class log(int state) - because it had been changed to log(long state). Put a final int version in the base class to prevent overriding.
2 lines of code changed in 4 files:
Some refactoring of MatrixParameter (renamed getNumberOfParameters to getParameterCount). Also allowed MultivariateNormalPrior take a matrix parameter and assume the individual parameters within this represent independent draws from the MVN.
2 lines of code changed in 2 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.
9 lines of code changed in 1 file:
TreeTraits commit number 2. This one is a bit more wide ranging with potential to break things. 1) BranchAttributeProvider and NodeAttributeProvider have been deleted and replaced with a combination of TreeTraits and TreeTraitProviders. Sources implement TreeTraitProvider to say that they can provide information about nodes and branches. A good example of a class which has been generalized is AncestralState (in evomodel.treelikelihood) - this now just takes a TreeTrait and logs the trait for a given MRCA (the trait can be anything at all - whereas previously it took an AncestralStateTreeLikelihood).
2 lines of code changed in 1 file:
This update does a number of things. 1) TreeLoggerParser and DemographicLoggerParser were in dr.inferencexml which breaks the dependency rules as they link to things in dr.evomodel. These are now moved to dr.evomodelxml. 2) A dr.evolution.tree.TreeTrait interface is created which is a general purpose interface for access to traits on nodes/branches. BranchAttributeProvider and NodeAttributeProvider will be replaced by this interface in the next update. 3) All BranchRateModels now have a common abstract base class AbstractBranchRateModel to implement their common features (these now implement TreeTrait to provide rates).
2 lines of code changed in 3 files:
Trunk refactoring: organize distribution parsers again.
1 lines of code changed in 2 files:
Trunk refactoring: organize tree and treelikelihood parsers.
1 lines of code changed in 1 file:
Trunk refactoring: make evoxml parsers more organized.
2 lines of code changed in 3 files:
generify and auto intelliJ
17 lines of code changed in 2 files:
generify via auto intelliJ
8 lines of code changed in 3 files:
Parameter -> Variable, Act 2 -- this is probably the biggest change made to core BEAST in a few years. So I tagged revision 1870 for convenience. Parameter is now basically obsoleted and should be replaced by DoubleVariable or Variable<Double> where appropriate. We can now also develop some Variable<Integer> and Variable<Boolean> et cetera so should be nice in the future... I have also added a Variable<double[]> for vectors and matrices. See dr.inference.tutorial.Tutorial1 for a first peek at programmable BEAST MCMC...
240 lines of code changed in 9 files:
First step in development of a generic version of Parameter, called Variable for now. Parameter now implements Variable<Double> but eventually all dr.inference.* will be based on Variable rather than Parameter. At least that is the idea anyway...
526 lines of code changed in 5 files:
Beginning of refactoring to remove dr.inference.* dependency on dr.xml. Will take a while...
182 lines of code changed in 1 file:
get rid of cyclic dependency. Add setting of population sizes to initial species tree.
5 lines of code changed in 1 file:
More of the same - string constants
2 lines of code changed in 2 files:
more string constants
2 lines of code changed in 1 file:
A small improvment in reducing usage of litteral string constants.
Each constant should be defined in one place and referenced elsewhere.
The best place I found is in the various parsers. This may be wrong but now moving it elsewhere is a simple matter.
4 lines of code changed in 1 file:
Extended linking/unlinking to include trees by mirroring the setup we use for substitution models. Not complete yet so have included a static switch in DataPanel.ALLOW_UNLINKED_TREES which when false, reverts to the old GUI.
2 lines of code changed in 2 files:
Made some improvements to TaxonList and Taxa to make them work better with collections. For a start TaxonList is now Iterable so can be used in a for(Taxon taxon : taxonList) construct. In the long run we would be better dropping TaxonList and just replacing it with List<Taxon>.
116 lines of code changed in 2 files:
ARGModel now fully supports caching partial likelihood calculations even as nodes are added and remove from tree. Support is not fully implemented in the operators yet.
126 lines of code changed in 3 files:
Started overhaul of ARG model likelihood calculations to cache unaffected partials (it's about time I did this). All changes to the ARG model, except for topological changes, appear to be caching correctly; speed-up is about 30% (for a small example, suspect much more for larger problems). I need to think harder about how to handle topological changes -- a simple map from old ARGTree nodes to ARGModel to new ARGTree nodes should suffice.
38 lines of code changed in 2 files:
Continued Marc's refactorization. I wonder what other shared functionality we can pull off in there.
0 lines of code changed in 3 files:
Refactored LikelihoodColumn as protected class in AbstractModelLikelihood (thanks, Joseph ... this was a good idea); removed subclassing of getLogColumns in several AMLs to see if this break things. I do not suspect that it will and we can/should now remove subclassing getLogColumns and redefinition of LikelihoodColumn in most AMLs, saving hundreds of lines of code .. or shotting myself in the foot :-)
532 lines of code changed in 2 files:
add a nethod for getting a meaningfull name of a likelihood. more classes may benefit from overriding the default.
8 lines of code changed in 2 files:
Rate variation appears to be working. In fact, it seems to be working very well! For now, old arg stuff will not work, but will fix as soon as possible.
107 lines of code changed in 2 files:
Forgot to add these new classes.
293 lines of code changed in 2 files:
Not positive yet, but fairly sure have joint rate variation estimation and ARG inference working.
406 lines of code changed in 2 files:
Made major fix to ARGAddRemoveOperator.
132 lines of code changed in 5 files:
Added ancestral restriction to ARGCoalescentLikelihood.
99 lines of code changed in 1 file:
Modified so it works now.
8 lines of code changed in 2 files:
Added a hierarchical partition model for ARG model.
202 lines of code changed in 7 files:
Minor changes to the Distinct tree loggers.
63 lines of code changed in 2 files:
Added the ability to count distinct trees in argmodel.
114 lines of code changed in 3 files:
Modified some minor ARG Stuff. Added statistic to give total ARG length.
76 lines of code changed in 1 file:
Modifications to the ARG package.
79 lines of code changed in 2 files:
Added a partition likelihood for ARGModel
361 lines of code changed in 4 files:
Slight reworking of the plug-in system. A "beast.properties" file defines the root package of a plugin. See dr.evomodel.arg for an example (I thought the ARG was a good example of a plugin because all the files are in a single package). This can have names, descriptions, authors and citation properties that will presumably be printed up when the plugin is loaded. It also contains the name of the parsers list.
dr.app.beast also has a 'beast.properties' file which allows us to switch the parser file between the release and the development version.
Next thing is to implement a recursive search through the packages for 'beast.properties'.
29 lines of code changed in 2 files:
Fixed some bugs.
69 lines of code changed in 2 files:
Added removeParameter functionality to CompoundParameter to faciliate removal of ARGCompoundParameter and VariableSizeCompoundParameter classes to integrate the ARG code more fully. A small success for simplification against the growing tide of class proliferation!
22 lines of code changed in 1 file:
Moved ParameterChangeType -> Parameter.ChangeType
6 lines of code changed in 2 files:
(9 more)