Jambe

Probabilistic Divergence Measures for Detecting Recombination with Markov Chain Monte Carlo

Troubleshooting

© Copyright 2001, Dirk Husmeier, Biomathematics and Statistics Scotland (BioSS).

ERRORS


Preliminary remark

Make sure that you have made the required changes to the source code and that you have the right version of Java (1.1) installed. If your program seems to be running forever without giving you any outputs - neither useful ones, nor error messages - this indicates that you use a more recent version of Java that does not interpret the code properly. (Unfortunately, an inherent shortcoming of Java - as opposed to most other programming languages - is that it is not downward compatible). Give the command

java -version

and make sure that you are running Version 1.1. If you have Version 1.2 or higher installed, JAMBE will not run properly.


ERROR: Couldn't open input file dna.dat


The dna sequence alignment must be in file dna.dat.

ERROR in readTopos: Couldn't read from file


The MCMC simulation has not run, possibly because infile is missing.

ERROR: Out of memory


You might find that a simulation terminates with a memory overflow, that is, with the error message:

java.lang.OutOfMemoryError

In this case the file resultsAllTopos.out is too big. The program SubsetSelection.java overcomes this problem by thinning out the file resultsAllTopos.out. This allows carrying out the analysis on a subset of the sampled topologies, and is also useful for a consistency check: Repeating the analysis with different thinning parameters should not dramatically change the results. The two parameters used by the program are:

1) delta: Skips every deltath topology.
2) offset: Keeps topologies with this value in the MOD operation.

The program goes through all topologies and keeps those that satisfy the condition:

mod(i,delta)==offset

where i counts the topologies, and mod is the remainder of an integer division. The values for delta and offset are specified in the program and have the following default parameters:

1) delta = 2
2) offset = 0

Change the Java code if you want to change them or read them in from an external file. The output of SubsetSelection.java is written to standard output; so use redirection to get it into the desired file. Note that, by default, topologies are read in from the file resultsAllTopos.out. You need to change the Java code if you want to change this.

Example:

java SubsetSelection > outputFile

This reads in the topologies from file resultsAllTopos.out, discards every 2nd topology (if no changes to the code have been made), and writes the results out to file outputFile. Now rename outputFile to resultsAllTopos.out,

mv resultsAllTopos.out resultsAllTopos.bak
mv outputFile resultsAllTopos.out

and re-run the analysis with the program JambeAnalyseTopos.java:

java JambeAnalyseTopos

If this still gives you an out-of-memory error, repeat the precedure to further reduce the size of resultsAllTopos.out.


Last modified: February 2002
Back to the main page.