#!/usr/bin/env python import string import sys import Numeric def eudist(g1,g2): """Find the euclidean distance between two vectors""" a = g1 - g2 b = a * a c = Numeric.sum(b) d = Numeric.sqrt(c) return d # Main if len(sys.argv) != 2: sys.exit("Usage: " + sys.argv[0] + " exprfile") exprfile = sys.argv[1] f = open(exprfile, 'r') lines = f.readlines() f.close() genelist = [] data = {} for line in lines: line = string.strip(line) fields = string.split(line) label = fields[0] genelist.append(label) vals = [] for strval in fields[1:]: vals.append(eval(strval)) data[label] = Numeric.array(vals) print len(genelist) for g in genelist: print string.ljust(g, 9), for g2 in genelist: print eudist(data[g],data[g2]), print