TAMO.Clustering.UPGMA
index
/home/David_Gordon/docs/TAMO/Clustering/UPGMA.py

This module uses a variant of the UPGMA algorithm for hierarchical clustering to
organize motifs into groups.  The "A" step (averaging) is performed by avergaing the
probability values in the aligned PSSMs within a cluster.
 
    1) Initialization
    1.1)  Assign each motif to a cluster
    1.2)  Compute Dmat of all clusters
 
    2) Iteration
    2.1)  Find the i and j with the smallest Distance
    2.2)  Create a new cluster (ij) which has n_i + n_j members
    2.3)  "Connect" i and j to (ij) and give each of the branchs D_ij/2 (better distance?)
    2.4)  Compute the distance from (ij) to all other clusters (except i and j)
    2.5)  Delete columns/rows in Dmat corresponding to i and j
 
Copyright (2005) Whitehead Institute for Biomedical Research (except as noted below)
All Rights Reserved
 
Author: David Benjamin Gordon

 
Modules
       
TAMO.util.Arith
TAMO.Clustering.MotifCompare
TAMO.MotifTools
getopt
math
os
random
re
sys

 
Functions
       
UPGMA(motifs, DFUNC=None)
1) Initialization
1.1)  Assign each motif to a cluster
1.2)  Compute Dmat of all clusters
 
2) Iteration
2.1)  Find the i and j with the smallest Distance
2.2)  Create a new cluster (ij) which has n_i + n_j members
2.3)  "Connect" i and j to (ij) and give each of the branchs D_ij/2 (better distance?)
2.4)  Compute the distance from (ij) to all other clusters (except i and j)
2.5)  Delete columns/rows in Dmat corresponding to i and j
UPGMAstep(motifs, DMAXrange, DFUNC=None)
collapse_clusters(A, B, Dmat, _DFUNC=None)
extendDmat(Dmat, clusters, SKIPD, _DFUNC=None)
find_min_ij(Dmat, SKIPD)
flatten_members(M)
getarg(varname)
main()
parse_opts()
print_dmat(D, SKIPD={})
print_tree(tree, level=0)
set_dfunc(_dfunc, _dmax)
set_dfunc(dfunc, dmax)
 
Set the distance/divergence/difference metric and threshold, and synchronize
between this module and MotifCompare
 
Examples:
set_dfunc(MotifCompare.negcommonbitsrange, -8.0)
set_dfunc(MotifCompare.diffrange, 0.23)
slice_tree(tree, DMAX)
usage(txt='')
Place information about command-line arguments here

 
Data
        ACGT = ['A', 'C', 'G', 'T']
DFUNC = None
DMAX = 0.20000000000000001
GLOBALS = {}
rcmemo = {}