The GeLL test packages comes with some simple JUnit tests
that either a) compare GeLL results to PAML
or b) test GeLL by using
the PAML
-tested code to test other parts of GeLL. These 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 optimises
parameters the parameter values from the PAML
run were used.
There are two tests, one simply checks the calculated likelihood 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 optimises
parameters the parameter values from the PAML
run were used.
There is a single test 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 exhaustively calculated (using the Likelihood 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/MarginalReconstruction
.
As PAML
always optimises parameters the parameter values from the
PAML
run were used.
There is a single test that checks the reconstructed alignments from the two programs are the same.
Simulations.SimulateTest
Show
Hide
This tests the simulation method. First, the theoretical probability of each possible assignment is exhaustively 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 theoretical 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 parameters but optimise 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 parameters but optimise them first using the Nelder-Mead method.