The GeLL test packages comes with some simple JUnit tests
that either a) compare GeLL results to PAML
or b) test GePul by using
the PAML
-tested code to test other parts of GeLL. Thes tests are
designed to simply test each of the major capabilities of GeLL,
although they do not do so thoroughly. The tests
are described below.
Likelihood.LikelihoodTest
Show
Hide
This tests the likelihood calculation for a fixed set of parameters
and compares the results to PAML
. The PAML
run can be found in
/tests/PAML/Likelihood
. As PAML
always optimizes
parameters the parameter values from the PAML
run were used.
There are two tests, one simly checks the calculated likelohood is the same, while the other checks the two programs make the same site to rate category assignments.
Ancestral.JointDPTest
Show
Hide
This tests the dynamic programming part of the joint ancestral
reconstruction method for a fixed set of parameters
and compares the results to PAML
. The PAML
run can be found in
/tests/PAML/JointReconstruction
. As PAML
always optimizes
parameters the parameter values from the PAML
run were used.
There ais a single tests that checks the reconstructed alignments from the two programs are the same.
Ancestral.JointBBTest
Show
Hide
This tests the branch and bound programming part of the joint ancestral reconstruction method for a fixed set of parameters. First, the probability of each possible assignment is exhautsively calculated (using the Lieklihood method), which is possible due to the small tree size. Second we ensure that the branch and bound method is returning the most likely reconstruction.
Ancestral.MarginalTest
Show
Hide
This tests the marginal ancestral reconstruction method for a
fixed set of parameters and compares the results to PAML
. The PAML
run can be found in /tests/PAML/JointReconstruction
.
As PAML
always optimizes parameters the parameter values from the
PAML
run were used.
There ais a single tests that checks the reconstructed alignments from the two programs are the same.
Simulations.SimulateTest
Show
Hide
This tests the simulation method. First, the theoritical probability of each possible assignment is exhautsively calculated (using the Likelihood method), which is possible due to the small tree size. Second we ensure that the frequency with which the simulator generates each state agrees with the theoritical result.
Optimizers.GoldenSectionTest
Show
Hide
This is essentially the same as the Likelihood test except we only test the likelihood and we don't fix the parametes but optimize them first using the Golden Section method.
Optimizers.NelderMeadTest
Show
Hide
This is essentially the same as the Likelihood test except we only test the likelihood and we don't fix the parametes but optimize them first using the Nelder-Mead method.