Package pal.distance

Class DistanceMatrix

java.lang.Object
pal.distance.DistanceMatrix
All Implemented Interfaces:
Serializable, IdGroup
Direct Known Subclasses:
AlignmentDistanceMatrix, JukesCantorDistanceMatrix, ReadDistanceMatrix, SUPGMADistanceMatrix, TreeDistanceMatrix

public class DistanceMatrix extends Object implements Serializable, IdGroup
storage for pairwise distance matrices.

features: - printing in in PHYLIP format, - computation of (weighted) squared distance to other distance matrix - Fills in all of array...

Version:
$Id: DistanceMatrix.java,v 1.11 2003/07/20 02:36:08 matt Exp $
Author:
Korbinian Strimmer, Alexei Drummond
See Also:
  • Constructor Details

    • DistanceMatrix

      public DistanceMatrix()
      constructor
    • DistanceMatrix

      public DistanceMatrix(double[][] distance, IdGroup idGroup)
      constructor taking distances array and IdGroup
    • DistanceMatrix

      public DistanceMatrix(DistanceMatrix dm)
      constructor that takes a distance matrix and clones the distances but uses the same idGroup.
    • DistanceMatrix

      public DistanceMatrix(DistanceMatrix dm, IdGroup subset)
      constructor that takes a distance matrix and clones the distances, of a the identifiers in idGroup.
  • Method Details

    • printPHYLIP

      public void printPHYLIP(PrintWriter out)
      print alignment (PHYLIP format)
    • toString

      public String toString()
      returns representation of this alignment as a string
      Overrides:
      toString in class Object
    • squaredDistance

      public double squaredDistance(DistanceMatrix mat, boolean weighted)
      compute squared distance to second distance matrix
    • absoluteDistance

      public double absoluteDistance(DistanceMatrix mat)
      compute absolute distance to second distance matrix
    • getSize

      public int getSize()
      Returns the number of rows and columns that the distance matrix has.
    • getClonedDistances

      public final double[][] getClonedDistances()
      Returns the distances as a 2-dimensional array of doubles. Matrix is cloned first so it can be altered freely.
    • getDistances

      protected final double[][] getDistances()
      Returns the distances as a 2-dimensional array of doubles (in the actual array used to store the distances)
    • getDistance

      public final double getDistance(int row, int col)
    • setDistance

      public void setDistance(int i, int j, double dist)
      Sets both upper and lower triangles.
    • addDistance

      public void addDistance(int i, int j, double delta)
      Adds a delta to both upper and lower triangle distances.
    • meanDistance

      public double meanDistance()
      Returns the mean pairwise distance of this matrix
    • getIdentifier

      public Identifier getIdentifier(int i)
      Description copied from interface: IdGroup
      Returns the ith identifier.
      Specified by:
      getIdentifier in interface IdGroup
    • setIdentifier

      public void setIdentifier(int i, Identifier ident)
      Description copied from interface: IdGroup
      Sets the ith identifier.
      Specified by:
      setIdentifier in interface IdGroup
    • getIdCount

      public int getIdCount()
      Description copied from interface: IdGroup
      Returns the number of identifiers in this group
      Specified by:
      getIdCount in interface IdGroup
    • whichIdNumber

      public int whichIdNumber(String name)
      Description copied from interface: IdGroup
      returns the index of the identifier with the given name.
      Specified by:
      whichIdNumber in interface IdGroup
    • getIdGroup

      public IdGroup getIdGroup()
      Deprecated.
      distance matrix now implements IdGroup
      Return id group of this alignment.
    • isSymmetric

      public boolean isSymmetric()
      test whether this matrix is a symmetric distance matrix
    • getClosestIndex

      public int getClosestIndex(String fromID, String[] exclusion)
      Parameters:
      fromID - the thing (taxa,sequence) from which we want to find the closest (excluding self)
      exlcusion - indexes of things that should not be considered, may be null
      Returns:
      the index of the thing closest to the specified
    • getClosestIndex

      public int getClosestIndex(int fromIndex, int[] exclusion)
      Parameters:
      fromIndex - the index of the thing (taxa,sequence) from which we want to find the closest (excluding self)
      exlcusion - indexes of things that should not be considered, may be null
      Returns:
      the index of the member closes to the specified
    • setIdGroup

      protected final void setIdGroup(IdGroup base)
    • setDistances

      protected final void setDistances(double[][] matrix)