3.9 State File
This file should not be edited by the user. The reason for
understanding the file layout is for debugging in the event of an
error. The statefile is generated either in the event of a fatal
error, or as a regular backup for long runs. It's purpose is to allow
the program to resume running from the point at which it was
interrupted. This is done using the --recover option
(see -recover).
The statefile is however in a human-readable format, so it can be read
in an attempt to determine the cause of the fatal error. Its format is
as follows:
- Line 1 is a text string identifying the current stage of program
execution. The options are:
newx
- The program has just calculated the next set of parameters and branch
lengths.
hessian
- The program was in the middle of calculating the hessian.
endhessian
- The program had just finished calculating the derivatives, but had not
yet sorted the values out into a matrix and applied the Newton-Raphson
method.
- Line 2 gives abbreviations for the types of variables stored in
the file. It will normally be of the form
LiLiLiLiL
. This
line is to allow the same code to be useable for other programs which
might save different types of variables.
- Line 3 is the current set of parameter values. The parameters are
orthonormalised at the start of the program, to improve
convergence. Therefore, this line will not give a direct insight into
the parameter values. [You could find out the actual parameter values,
by running with the options --recover (see -recover) and
-n0 (see -n).]
- The remaining lines come in pairs, the first of which contains
the number of the site on which the program was working when it was
interrupted, and the second contains a list of cumulative values for
the log likelihood and its derivatives, on the sites already
calculated. There should be one pair for each thread of the
program. The current cumulative log-likelihood and its derivatives can
be obtained by summing the relevant values for all these pairs. The
sites that remain to be done are the site numbers listed in the
program, and any other numbers higher than all those site
numbers.