Exemple #1
0
    def test_matrix_stats1(self):
        """ matrix_stats should match mean, median, stdev calc'd by hand"""
        headers_list = [['a', 'c', 'b'], ['a', 'c', 'b']]
        d1 = numpy.array([[0, .2, .9], [.2, 0, .8], [.9, .8, 0]], 'float')
        d2 = numpy.array([[0, .3, 1.1], [.3, 0, .8], [1.1, .8, 0]], 'float')
        distmats_list = [d1, d2]

        exp_mean = numpy.array([[0, .25, 1.0], [.25, 0, .8], [1.0, .8, 0]],
                               'float')
        exp_median = numpy.array([[0, .25, 1.0], [.25, 0, .8], [1.0, .8, 0]],
                                 'float')
        exp_std = numpy.array([[0, .05, .1], [.05, 0, 0], [.1, 0, 0]], 'float')
        results = matrix_stats(headers_list, distmats_list)
        self.assertFloatEqual(results[1:], [exp_mean, exp_median, exp_std])
        self.assertEqual(results[0], ['a', 'c', 'b'])
Exemple #2
0
 def test_matrix_stats1(self):
     """ matrix_stats should match mean, median, stdev calc'd by hand"""
     headers_list = [['a','c','b'],['a','c','b']]
     d1 = numpy.array([  [ 0,.2,.9],
                         [.2,0,.8],
                         [.9,.8,0]],'float')
     d2 = numpy.array([  [ 0,.3,1.1],
                         [.3,0,.8],
                         [1.1,.8,0]],'float')
     distmats_list = [d1,d2]
     
     exp_mean = numpy.array([    [ 0,.25,1.0],
                                 [.25,0,.8],
                                 [1.0,.8,0]],'float')
     exp_median = numpy.array([  [ 0,.25,1.0],
                                 [.25,0,.8],
                                 [1.0,.8,0]],'float')
     exp_std = numpy.array([     [ 0,.05,.1],
                                 [.05,0,0],
                                 [.1,0,0]],'float')
     results = matrix_stats(headers_list, distmats_list)
     self.assertFloatEqual(results[1:], [exp_mean,exp_median,exp_std])
     self.assertEqual(results[0],['a','c','b'])
def main():
    option_parser, opts, args = parse_command_line_parameters(**script_info)

    indir = opts.input_dir
    outdir = opts.output_dir
    if not os.path.exists(outdir):
        os.makedirs(outdir)

    # input
    file_names = os.listdir(indir)
    file_names = [fname for fname in file_names if not fname.startswith('.')]

    distmats = []
    headers_list = []
    for fname in file_names:
        f = open(os.path.join(indir, fname), 'U')
        headers, data = parse_distmat(f)
        f.close()
        distmats.append(data)
        headers_list.append(headers)

    # calcs
    headers, means, medians, stdevs = matrix_stats(headers_list, distmats)

    # output
    f = open(os.path.join(outdir, 'means.txt'), 'w')
    f.write(format_distance_matrix(headers, means))
    f.close()

    f = open(os.path.join(outdir, 'medians.txt'), 'w')
    f.write(format_distance_matrix(headers, medians))
    f.close()

    f = open(os.path.join(outdir, 'stdevs.txt'), 'w')
    f.write(format_distance_matrix(headers, stdevs))
    f.close()
def main():
    option_parser, opts, args = parse_command_line_parameters(**script_info)
    
    indir = opts.input_dir
    outdir = opts.output_dir
    if not os.path.exists(outdir):
      os.makedirs(outdir)

    #input    
    file_names = os.listdir(indir)
    file_names = [fname for fname in file_names if not fname.startswith('.')]

    distmats = []
    headers_list = []
    for fname in file_names:
      f = open(os.path.join(indir,fname), 'U')
      headers, data = parse_distmat(f)
      f.close()
      distmats.append(data)
      headers_list.append(headers)

    #calcs
    headers, means, medians, stdevs = matrix_stats(headers_list, distmats)

    #output
    f = open(os.path.join(outdir,'means.txt'), 'w')
    f.write(format_distance_matrix(headers,means))
    f.close()

    f = open(os.path.join(outdir,'medians.txt'), 'w')
    f.write(format_distance_matrix(headers,medians))
    f.close()

    f = open(os.path.join(outdir,'stdevs.txt'), 'w')
    f.write(format_distance_matrix(headers,stdevs))
    f.close()