What is an easy way to tell if two Distributions have equal weights?

Testing two distributions for equal weights is a good way of telling if a training procedure has converged or if two Sequences are likely to come from the same organism. It is a bit tedious to loop through all the residues, especially in a large Alphabet. Fortunately there is a static method called areEmissionSpectraEqual() in DistributionTools that checks for you.

Using this method is demonstrated below.

```java import*; import*; import*; import*; import org.biojava.utils.*;

public class EqualDistributions {

 public static void main(String[] args) {
   FiniteAlphabet alpha = DNATools.getDNA();

   //make a uniform distribution
   Distribution uniform = new UniformDistribution(alpha);

   try {
     //make another Distribution with uniform weights
     Distribution dist = DistributionFactory.DEFAULT.createDistribution(alpha);
     dist.setWeight(DNATools.a(), 0.25);
     dist.setWeight(DNATools.c(), 0.25);
     dist.setWeight(DNATools.g(), 0.25);
     dist.setWeight(DNATools.t(), 0.25);

     //test to see if the weights are equal
     boolean equal = DistributionTools.areEmissionSpectraEqual(uniform, dist);
     System.out.println("Are 'uniform' and 'dist' equal? "+ equal);
   catch (Exception ex) {

} ```