To realize portability of the system for various environments and flexible parallel computation depending on data, our programs have been written in KL1 (KLIC 2.002) [Ueda, 1985,Chikayama et al., 1988], which is parallel logic programming. We used Cray CS-6400 (shared memory system).
We have implemented another experimental program go/0 on PIM (Parallel Inference Machine) of ICOT to investigate efficiency of parallel computation [OOta et al., 1995]. The core algorithm of DeepForest is based on go/0. However, unlike go/0, amino acid sequences are available in DeepForest. If the depth of tree is n, number of terms of equation 1.8 is O(20n) in the case of amino acid sequences while it is O(4n)in the case of nucleotide sequences. Therefore, new algorithm was introduced for DeepForest to reduce computational time (Figure 1.5).
![]() |
For example, once conditional likelihoods
on the root
of subtree 1 are obtained, these values are reused for the remaining 19
states on the root of subtree 2. This computation is iterated form
leaves to the roots 2 and 3, finally, the likelihood value is
committed for the unrooted tree. This algorithm is not sufficient for
practical data analyses. However, it is enough for
experimental usage described below.