In [743]:
from collections     import OrderedDict, defaultdict
from IPython.display import display, HTML
from os.path         import commonprefix

import datetime
import json
import sys

In [2]:
data_files        = [
    { "infile": "cannon_Test_phylo_4.infiles.csv"       , "classes": "classes_all/report_validation_4.csv"          },
    #{ "infile": "cannon_Test_phylo_oneach.infiles.csv"  , "classes": "classes_all/classes.csv.filled.csv.named.csv.oneeach.csv" },
    { "infile": "cannon_Test_phylo_tomatoes.infiles.csv", "classes": "classes_all/report_validation_tomatoes.csv"   },
    
    { "infile": "cnidaria_11.infiles.csv"               , "classes": "classes_all/report_validation_4.csv"          },
    { "infile": "cnidaria_11.infiles.csv"               , "classes": "classes_all/report_validation_tomatoes.csv"   },
    
    { "infile": "cnidaria_15.infiles.csv"               , "classes": "classes_all/report_validation_4.csv"          },
    { "infile": "cnidaria_15.infiles.csv"               , "classes": "classes_all/report_validation_tomatoes.csv"   },
    
    { "infile": "cnidaria_17.infiles.csv"               , "classes": "classes_all/report_validation_4.csv"          },
    { "infile": "cnidaria_17.infiles.csv"               , "classes": "classes_all/report_validation_tomatoes.csv"   },
    
    { "infile": "cnidaria_21_e_0001_0050.infiles.csv"   , "classes": "classes_all/report_validation_4.csv"          },
    { "infile": "cnidaria_21_e_0001_0050.infiles.csv"   , "classes": "classes_all/report_validation_tomatoes.csv"   },
    
    { "infile": "cnidaria_21_e.infiles.csv"             , "classes": "classes_all/report_validation_4.csv"          },
    { "infile": "cnidaria_21_e.infiles.csv"             , "classes": "classes_all/report_validation_tomatoes.csv"   },
    
    { "infile": "cnidaria_21.infiles.csv"               , "classes": "classes_all/report_validation_4.csv"          },
    { "infile": "cnidaria_21.infiles.csv"               , "classes": "classes_all/report_validation_tomatoes.csv"   },
    
    { "infile": "cnidaria_31.infiles.csv"               , "classes": "classes_all/report_validation_4.csv"          },
    { "infile": "cnidaria_31.infiles.csv"               , "classes": "classes_all/report_validation_tomatoes.csv"   },
]

In [3]:
name_translation_tables = [
    "cannon_filelist_4.csv.filled.csv",
    "cannon_filelist_tomatoes.csv.filled.csv",
    "cannon_filelist_oneach.csv.filled.csv",
    "filelist.csv"
]

In [4]:
class matrices(object):
    def __init__(self, infiles, name_translation_table=None, desired_rows=None, classes_file=None, verbose=False):
        self.fn_filename               = infiles
        self.fn_name_translation_table = name_translation_table
        self.fn_desired_rows           = desired_rows
        self.fn_class                  = classes_file
        self.matrices                  = {}
        self.verbose                   = verbose

        
        if self.fn_name_translation_table:
            self.translation_table = translation_table(verbose=self.verbose)
            for fn_name_translation_table in self.fn_name_translation_table:
                self.translation_table.append(fn_name_translation_table)
        else:
            self.translation_table = None
        
        
        if self.fn_desired_rows:
            self.filternames       = filternames(self.fn_desired_rows, verbose=self.verbose)
        else:
            self.filternames       = None
        
        
        if self.fn_class:
            self.classes           = classification(self.fn_class, verbose=self.verbose)
        else:
            self.classes           = None
        
        print "matrices         :: parsing     : %s" % self.fn_filename
        with open(self.fn_filename) as fhd:
            for infile in fhd:
                infile  = infile.strip()
                matrixl = matrix(infile)
                
                matrixl.rename(   self.translation_table )
                matrixl.filter(   self.filternames       )
                matrixl.classify( self.classes           )
                    
                self.matrices[ infile ] = matrixl
                
    def __repr__(self):
        res = []
        res.append("matrices         :: filename         : %s"  % self.fn_filename       )
        res.append("matrices         :: translation table:\n%s" % self.translation_table )
        res.append("matrices         :: filternames      :\n%s" % self.filternames       )
        res.append("matrices         :: classes          :\n%s" % self.classes           )
        res.append("matrices         :: matrices         :")
        
        for n in self.matrices:
            res.append("matrices         :: matrix           : %s\n%s" % (n, self.matrices[n]) )
        
        return "\n".join(res)

In [5]:
class matrix(object):
    def __init__(self, infile, verbose=False):
        self.filename       = infile
        self.matrix         = []
        self.rownames       = []
        self.classification = None
        self.verbose        = verbose
        
        if False:
            print "matrix           :: parsing     : %s" % self.filename
        
        with open(self.filename) as fhd:
            lc   = -1
            
            for line in fhd:
                lc += 1

                line = line.strip()
                
                if lc == 0:
                    self.rownames = line.split("\t")
                    #print "colnames:", self.rownames
                    
                else:
                    if len(line) == 0:
                        continue
                    
                    row = [ float(x) for x in line.split("\t")[1:] ]
                    
                    assert len(row) == len(self.rownames), "# of data cols (%d) != # of cols (%d)" % (len(row), len(self.rownames))
                    
                    self.matrix.append(row)
                    
        assert len(self.matrix) == len(self.rownames), "# of rows (%d) != # of cols (%d)" % (len(self.matrix), len(self.rownames))
        
    def rename(self, translation_table):
        if translation_table:
            for i, name in enumerate(self.rownames):
                lname = translation_table.translate(name)
                
                self.rownames[i] = lname
                
                if self.verbose:
                    print "matrix           :: translated  : %s > %s" % (name, lname)
        
    def filter(self, filternames):
        if filternames:
            filter_names = set(filternames.names)
            curr_names   = set(self.rownames)
            diff         = curr_names - filter_names
            
            if self.verbose:
                print "filtering", diff
            
            self.delete_regs(list(diff))
    
    def classify(self, classes):
        if classes:
            self.filter_class(classes)
            
            self.classification = classes.classify(self)
    
    def filter_class(self, classes):
        if classes:
            filter_names = set(classes.samples)
            curr_names   = set(self.rownames)
            
            if self.verbose:
                print "matrix           :: filtering class"
                print "filter_names", sorted(list(filter_names               ))
                print "curr_names  ", sorted(list(curr_names                 ))
                print "f - c       ", sorted(list(filter_names - curr_names  ))
                print "c - f       ", sorted(list(curr_names   - filter_names))
            
            
            if   curr_names   < filter_names:
                print "matrix           :: filtering class : curr   names -  filter names %s" % (str(curr_names   - filter_names))
                print "matrix           :: filtering class : filter names -  curr   names %s" % (str(filter_names - curr_names  ))
                print "matrix           :: filtering class : curr   names %s" % (str(sorted(list(curr_names  ))))
                print "matrix           :: filtering class : filter names %s" % (str(sorted(list(filter_names))))
                assert False
                
            else:
                
                if len(list(filter_names - curr_names)) > 0:
                    print "matrix           :: filtering class : filter names <  curr"
                    print "matrix           :: filtering class : curr   names -  filter names %s" % (str(curr_names   - filter_names))
                    print "matrix           :: filtering class : filter names -  curr   names %s" % (str(filter_names - curr_names  ))
                    print "matrix           :: filtering class : curr   names %s" % (str(sorted(list(curr_names  ))))
                    print "matrix           :: filtering class : filter names %s" % (str(sorted(list(filter_names))))
                    assert False

                else:
                    if self.verbose:
                        print "matrix           :: filtering class : filter names == curr   c-f   %s" % (str(curr_names   - filter_names))
                        print "matrix           :: filtering class : filter names == curr   f-c   %s" % (str(filter_names - curr_names  ))
                        print "curr names >= filter names", curr_names   - filter_names

                    diff         = curr_names - filter_names

                    if self.verbose:
                        print "class filtering", diff

                    self.delete_regs(list(diff))
    
    def delete_regs(self, names_to_delete):
        if len(names_to_delete) > 0:
            for name_to_delete in names_to_delete:
                index_to_delete = self.rownames.index(name_to_delete)
                
                if self.verbose:
                    print "matrix           :: delete name : %s index %d" % (name_to_delete, index_to_delete)
                
                del self.rownames[index_to_delete]
                del self.matrix[index_to_delete]
                
                for d in self.matrix:
                    del d[index_to_delete]
                    assert len(self.rownames) == len(d)
                    
                assert len(self.rownames) == len(self.matrix)
                assert len(self.rownames) == len(self.matrix)
    
    def as_html(self):
        html = ["<table>"]
        
        html.append("<tr>")
        html.append("<th>{0}</th>".format("spps"))
        for rn, rt in enumerate(self.rownames):
            html.append("<th>{0}.{1}</th>".format(rn,rt))
        html.append("</tr>")

        
        for rn, row in enumerate(self.matrix):
            html.append("<tr>")
            html.append("<th>{0}.{1}</th>".format(rn, self.rownames[rn]))
            for col in row:
                html.append("<td>{0}</td>".format(col))
            
            html.append("</tr>")
        html.append("</table>")
        return HTML(''.join(html))
    
    def __repr__(self):
        res = []
        
        res.append("matrix           :: filename    : %s" %    ( self.filename ))
        res.append("matrix           :: rownames    : %d" % len( self.rownames ))
                        
        for f in self.rownames:
            res.append("matrix           :: rowname     : %s" % f)
        
        return "\n".join(res)

In [237]:
class translation_table(object):
    def __init__(self, verbose=False):
        self.filenames = []
        self.names     = {}
        self.verbose   = verbose
        
    def append(self, filename):
        print "translation table:: parsing     : %s" % filename
        
        self.filenames.append( filename )
        
        with open(filename) as fhd:
            for line in fhd:
                line = line.strip()
                
                if len(line) == 0:
                    continue
                
                if line[0] == "#":
                    continue
                
                cols = line.split("\t")
                self.names[ cols[0] ] = cols[1]

    def translate(self, name):
        if name in self.names:
            return self.names[name]
        
        else:
            for lname in self.names:
                if lname.endswith(name):
                    return self.names[lname]
            
            return name
    
    def __repr__(self):
        res = []

        res.append("translation table:: filename    : %s" % ( ",".join(self.filenames) ))
        
        for n in self.names:
            res.append("translation table:: names       : %s: %s" % (n, self.names[n]) )

        return "\n".join( res )

In [7]:
class filternames(object):
    def __init__(self, filename, verbose=False):
        self.filename = filename
        self.names    = []
        self.verbose  = verbose

        print "filternames      :: parsing     : %s" % self.filename, "\n"
        
        with open(filename) as fhd:
            for line in fhd:
                line = line.strip()
                
                if len(line) == 0:
                    continue
                
                if line[0] == "#":
                    continue
                
                self.names.append( line )
                
    def __repr__(self):
        return "filternames      :: filename    : %s names: %s\n" % ( self.filename, ",".join(self.names) )

In [8]:
class classification(object):
    def __init__(self, class_file, verbose=False):
        #verbose=True
        self.filename = class_file
        self.samples  = []
        self.levels   = []
        self.matrix   = []
        self.verbose  = verbose
        
        print "classification   :: parsing     : %s" % self.filename
        
        with open(self.filename) as fhd:
            lc = -1
            for line in fhd:
                lc   += 1
                line  = line.strip()
                
                if len(line) == 0:
                    continue
                
                if line[0] == "#":
                    continue
                
                if lc == 0:
                    self.levels = line.split("\t")[2:]
                    #print "levels", self.levels
                    
                else:
                    cols   = [x.strip() for x in line.split("\t")]
                    cols   = [x if x != '' else None for x in cols]
                    sample =     cols[0]
                    use    = int(cols[1])
                    #print "sample", sample,"use",use,"vals",cols[2:]
                    if use:
                        row = cols[2:]
                        self.samples.append( sample )
                        self.matrix.append(  row    )
                        assert len(self.levels ) == len(row), "number or levels  (%d) != cols (%d)" % (len(self.samples), len(self.matrix[0]))

        assert len(self.samples) == len(self.matrix   ), "number or samples (%d) != rows (%d)" % (len(self.samples), len(self.matrix   ))

        if self.verbose:
            print "classification   :: samples     : ", self.samples, "\n"
            print "classification   :: levels      : ", self.levels , "\n"
            print "classification   :: matrix      : ", self.matrix , "\n"
    
    def classify(self, matrix):
        res = OrderedDict()
        
        for x, m in enumerate(matrix.matrix):
            matrix.matrix[x][x] = sys.maxint
        
        if self.verbose:
            display( matrix.as_html() )
        
        if self.verbose:
            print "classification   :: classify"
            print "classification   :: classify    : levels   : %s" % ( ",".join(self.levels            ) )
            print "classification   :: classify    : samples  : %s" % ( ",".join(sorted(self.samples   )) )
            print "classification   :: classify    : row names: %s" % ( ",".join(sorted(matrix.rownames)) )
        
        
        for level_index, level in enumerate(self.levels):
            level_col = [x[level_index] for x in self.matrix]
            
            res[level] = [[], -1]
            
            if self.verbose:
                print "classification   :: classify    : level: %-10s" % ( level )
                print "classification   :: classify    : col  : %s"    % ( ",".join(level_col) )
            
            for spp_index, spp in enumerate(self.samples):
                spp_class      = level_col[spp_index]
                data_spp_index = matrix.rownames.index(spp)
                
                if self.verbose:
                    print "classification   :: classify    : level: %-10s : spp %-30s : x %4d : class %-20s" % ( level, spp, data_spp_index, spp_class )
                
                assert data_spp_index != -1, "spp %s was not found in matrix: %s" % (spp, ",".join(matrix.rownames))
                
                data_spp_row   = matrix.matrix[data_spp_index]
                data_spp_min   = min(data_spp_row)
                data_spp_count = data_spp_row.count(data_spp_min)
                
                if   data_spp_count == 0:                     #zero. shouldnt happen
                    assert False, "no spp equal to minimum %s" % (str(data_spp_min))
                
                if self.verbose:
                    print "classification   :: classify    : level: %-10s : spp %-30s : x %4d : class %-20s : min   %.3f" % ( level, spp, data_spp_index, spp_class, data_spp_min   )
                    print "classification   :: classify    : level: %-10s : spp %-30s : x %4d : class %-20s : count %d"   % ( level, spp, data_spp_index, spp_class, data_spp_count )
                 
                matches        = [ x == data_spp_min for x in data_spp_row ]
                
                if self.verbose:
                    print "classification   :: classify    : level: %-10s : spp %-30s : x %4d : class %-20s : matches %s" % ( level, spp, data_spp_index, spp_class, ",".join([str(x) for x in matches]) )
                
                lres = []
                
                for match_spp_index, match in enumerate(matches):
                    if match:
                        match_spp_name   = matrix.rownames[    match_spp_index  ]
                        match_spp_classi = self.samples.index( match_spp_name   )
                        match_spp_class  = level_col[          match_spp_classi ]

                        if self.verbose:
                            print "classification   :: classify    : level: %-10s : spp %-30s : x %4d : class %-20s : match %s y %4d ci %4d class %s" % ( level, spp, data_spp_index, spp_class, match_spp_name, match_spp_index, match_spp_classi, match_spp_class )
                        
                        lres.append( 1 if match_spp_class == spp_class else 0 )
                
                if self.verbose:
                    print "classification   :: classify    : level: %-10s : spp %-30s : x %4d : class %-20s : sum %d" % ( level, spp, data_spp_index, spp_class, sum(lres) )
                
                avg = (sum(lres) * 1.0) / len(lres)
                
                if self.verbose:
                    print "classification   :: classify    : level: %-10s : spp %-30s : x %4d : class %-20s : avg %.3f" % ( level, spp, data_spp_index, spp_class, avg )
                
                res[level][0].append( 1 if avg >= 0.50 else 0 )
                
                if self.verbose:
                    print "classification   :: classify    : level: %-10s : spp %-30s : x %4d : class %-20s : res %s" % ( level, spp, data_spp_index, spp_class, str(1 if avg >= 0.50 else 0) )
            
            res[level][1] = (sum(res[level][0]) * 1.0) / len(res[level][0])
            if self.verbose:
                print "classification   :: classify    : level: %-10s : sum %4d / %4d res %.4f" % ( level, sum(res[level][0]), len(res[level][0]), res[level][1] )
                
        return res

In [9]:
#matrix_data = matrices(infiles_file, filelist=filelist_file, desired_rows=desired_rows_file, classes=classes)
#matrix_data = matrices(infiles_file, filelist=filelist_file, classes_files=classes_files)

for data_file in data_files:
    print "\n\n", data_file
    data_file["matrices"] = matrices(data_file["infile"], name_translation_table=name_translation_tables, classes_file=data_file["classes"])



{'classes': 'classes_all/report_validation_4.csv', 'infile': 'cannon_Test_phylo_4.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_4.csv
matrices         :: parsing     : cannon_Test_phylo_4.infiles.csv


{'classes': 'classes_all/report_validation_tomatoes.csv', 'infile': 'cannon_Test_phylo_tomatoes.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_tomatoes.csv
matrices         :: parsing     : cannon_Test_phylo_tomatoes.infiles.csv


{'classes': 'classes_all/report_validation_4.csv', 'infile': 'cnidaria_11.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_4.csv
matrices         :: parsing     : cnidaria_11.infiles.csv


{'classes': 'classes_all/report_validation_tomatoes.csv', 'infile': 'cnidaria_11.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_tomatoes.csv
matrices         :: parsing     : cnidaria_11.infiles.csv


{'classes': 'classes_all/report_validation_4.csv', 'infile': 'cnidaria_15.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_4.csv
matrices         :: parsing     : cnidaria_15.infiles.csv


{'classes': 'classes_all/report_validation_tomatoes.csv', 'infile': 'cnidaria_15.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_tomatoes.csv
matrices         :: parsing     : cnidaria_15.infiles.csv


{'classes': 'classes_all/report_validation_4.csv', 'infile': 'cnidaria_17.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_4.csv
matrices         :: parsing     : cnidaria_17.infiles.csv


{'classes': 'classes_all/report_validation_tomatoes.csv', 'infile': 'cnidaria_17.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_tomatoes.csv
matrices         :: parsing     : cnidaria_17.infiles.csv


{'classes': 'classes_all/report_validation_4.csv', 'infile': 'cnidaria_21_e_0001_0050.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_4.csv
matrices         :: parsing     : cnidaria_21_e_0001_0050.infiles.csv


{'classes': 'classes_all/report_validation_tomatoes.csv', 'infile': 'cnidaria_21_e_0001_0050.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_tomatoes.csv
matrices         :: parsing     : cnidaria_21_e_0001_0050.infiles.csv


{'classes': 'classes_all/report_validation_4.csv', 'infile': 'cnidaria_21_e.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_4.csv
matrices         :: parsing     : cnidaria_21_e.infiles.csv


{'classes': 'classes_all/report_validation_tomatoes.csv', 'infile': 'cnidaria_21_e.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_tomatoes.csv
matrices         :: parsing     : cnidaria_21_e.infiles.csv


{'classes': 'classes_all/report_validation_4.csv', 'infile': 'cnidaria_21.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_4.csv
matrices         :: parsing     : cnidaria_21.infiles.csv


{'classes': 'classes_all/report_validation_tomatoes.csv', 'infile': 'cnidaria_21.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_tomatoes.csv
matrices         :: parsing     : cnidaria_21.infiles.csv


{'classes': 'classes_all/report_validation_4.csv', 'infile': 'cnidaria_31.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_4.csv
matrices         :: parsing     : cnidaria_31.infiles.csv


{'classes': 'classes_all/report_validation_tomatoes.csv', 'infile': 'cnidaria_31.infiles.csv'}
translation table:: parsing     : cannon_filelist_4.csv.filled.csv
translation table:: parsing     : cannon_filelist_tomatoes.csv.filled.csv
translation table:: parsing     : cannon_filelist_oneach.csv.filled.csv
translation table:: parsing     : filelist.csv
classification   :: parsing     : classes_all/report_validation_tomatoes.csv
matrices         :: parsing     : cnidaria_31.infiles.csv

In [10]:
def rec_dd():
    return defaultdict(rec_dd)

In [11]:
verbose   = False
avail_cls = set([])

for data_file in data_files:
    cls       = data_file["matrices"].classes.levels
    avail_cls = avail_cls | set(cls)

avail_cls = sorted(list(avail_cls))
    
print avail_cls


['family', 'genus', 'kingdom', 'order', 'phylum', 'species']

In [241]:
cls_order = [
    'kingdom',
    'phylum',
    'order',
    'family',
    'genus',
    'species'
]
avail_cls = cls_order
avail_cls


Out[241]:
['kingdom', 'phylum', 'order', 'family', 'genus', 'species']

In [12]:
replace_rules = [
    ('annon_Test_phylo_4'            , 'RepeatFree_21'          ),
    ('annon_Test_phylo_tomatoes'     , 'RepeatFree_21'          ),
    ('nidaria_'                      , 'Cnidaria_'              ),
    ('Cnidaria_21_e'                 , 'Cnidaria_21_extended'   ),
    ('Cnidaria_21_extended_0001_0050', 'Cnidaria_21_extended_2%'),
    ('_'                             , ' '                      )
]

In [242]:
summary   = defaultdict(rec_dd)

dcp       = commonprefix([ x["infile"]       for x in data_files ])
dce       = commonprefix([ x["infile"][::-1] for x in data_files ])[::-1]

for data_file in data_files:
    print "\n\n", data_file["infile"], data_file["classes"]
    
    infile   = data_file["infile"  ]
    matrices = data_file["matrices"].matrices
    
    mcp      = commonprefix(matrices)
    mce      = commonprefix([x[::-1] for x in matrices])[::-1]
    
    dshortL  = infile[len(dcp):len(infile)-len(dce)]

    dshort   = dshortL

    for rule in replace_rules:
        dshort = dshort.replace(rule[0], rule[1])

    #if verbose:
    print dshort
    
    for matrix_data in sorted(matrices):
        if verbose:
            print "  matrix_data", matrix_data
        
        cls    = matrices[matrix_data].classification
        
        mshort = matrix_data[len(mcp):len(matrix_data)-len(mce)]
        
        if verbose:
            print "  mshort", mshort
        
        for classi in cls:
            val = cls[classi]
            
            if verbose:
                print "   class %-10s: %.4f" % (classi, val[1])
                
            summary[ dshort ][ mshort ][ classi ] = val[1]
            
            if verbose:
                print dshort, mshort, classi, val[1]



cannon_Test_phylo_4.infiles.csv classes_all/report_validation_4.csv
RepeatFree 21


cannon_Test_phylo_tomatoes.infiles.csv classes_all/report_validation_tomatoes.csv
RepeatFree 21


cnidaria_11.infiles.csv classes_all/report_validation_4.csv
Cnidaria 11


cnidaria_11.infiles.csv classes_all/report_validation_tomatoes.csv
Cnidaria 11


cnidaria_15.infiles.csv classes_all/report_validation_4.csv
Cnidaria 15


cnidaria_15.infiles.csv classes_all/report_validation_tomatoes.csv
Cnidaria 15


cnidaria_17.infiles.csv classes_all/report_validation_4.csv
Cnidaria 17


cnidaria_17.infiles.csv classes_all/report_validation_tomatoes.csv
Cnidaria 17


cnidaria_21_e_0001_0050.infiles.csv classes_all/report_validation_4.csv
Cnidaria 21 extended 2%


cnidaria_21_e_0001_0050.infiles.csv classes_all/report_validation_tomatoes.csv
Cnidaria 21 extended 2%


cnidaria_21_e.infiles.csv classes_all/report_validation_4.csv
Cnidaria 21 extended


cnidaria_21_e.infiles.csv classes_all/report_validation_tomatoes.csv
Cnidaria 21 extended


cnidaria_21.infiles.csv classes_all/report_validation_4.csv
Cnidaria 21


cnidaria_21.infiles.csv classes_all/report_validation_tomatoes.csv
Cnidaria 21


cnidaria_31.infiles.csv classes_all/report_validation_4.csv
Cnidaria 31


cnidaria_31.infiles.csv classes_all/report_validation_tomatoes.csv
Cnidaria 31

In [243]:
csv_data  = []
csv_data.append( [ 'test_name', 'statistics' ] + avail_cls )

for infile in sorted(summary):
    for matrix_name in sorted(summary[infile]):
        row = [ infile, matrix_name ] + [None]*len(avail_cls)
        
        for classi in summary[infile][matrix_name]:
            row[ avail_cls.index(classi) + 2 ] = summary[infile][matrix_name][classi]
        csv_data.append( row )

In [15]:
if False:
    print json.dumps( summary, sort_keys=True, indent=1 )

In [16]:
if False:
    print json.dumps( csv_data, sort_keys=True, indent=1 )

In [244]:
with open('report.csv', 'w') as fhd:
    for line in csv_data:
        fhd.write("\t".join([str(x) for x in line]))
        fhd.write("\n")

In [740]:
%matplotlib inline

import matplotlib
import numpy             as np
import pandas            as pd
import matplotlib.pyplot as plt
import seaborn           as sns

from   matplotlib.backends.backend_pdf import PdfPages
from   pandas.tools.plotting           import parallel_coordinates
from   matplotlib        import cm
from   pylab             import rcParams
import warnings
warnings.simplefilter(action = "ignore", category = FutureWarning)

In [487]:
mr = pd.get_option('display.max_rows')
pd.set_option('display.max_rows', len(csv_data)+1)

if not avail_cls:
    avail_cls = "family,genus,kingdom,order,phylum,species".split(",")

datatypes = [('test_name', np.str_),('statistics', np.str_)] + [(x, np.float64) for x in avail_cls]
pd_data = pd.read_csv('report.csv', sep="\t", dtype=datatypes, na_values="None")

pd_data[ avail_cls ] = pd_data[ avail_cls ] * 100.0

display( pd_data )

pd.set_option('display.max_rows', mr)


test_name statistics kingdom phylum order family genus species
0 Cnidaria 11 D_bray_curtis 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
1 Cnidaria 11 D_chord 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
2 Cnidaria 11 D_euclid 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
3 Cnidaria 11 D_hamming 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
4 Cnidaria 11 D_hellinger 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
5 Cnidaria 11 D_jaccard 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
6 Cnidaria 11 D_jaccard_sqrt 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
7 Cnidaria 11 D_lance_williams 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
8 Cnidaria 11 D_mean_manhattan 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
9 Cnidaria 11 D_pattern_difference 66.666667 66.666667 53.333333 53.333333 10.000000 3.030303
10 Cnidaria 11 D_shaped_difference 73.333333 73.333333 60.000000 60.000000 53.333333 3.030303
11 Cnidaria 11 D_sized_difference 76.666667 76.666667 63.333333 63.333333 56.666667 0.000000
12 Cnidaria 11 D_squared_euclid 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
13 Cnidaria 11 D_vari 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
14 Cnidaria 11 D_yuleq 73.333333 66.666667 46.666667 46.666667 30.000000 6.060606
15 Cnidaria 11 S_anderberg 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
16 Cnidaria 11 S_baroni_urbani_buser_I 76.666667 76.666667 60.000000 60.000000 53.333333 3.030303
17 Cnidaria 11 S_baroni_urbani_buser_II 76.666667 76.666667 60.000000 60.000000 53.333333 3.030303
18 Cnidaria 11 S_braun_banquet 93.333333 93.333333 80.000000 80.000000 73.333333 0.000000
19 Cnidaria 11 S_cole 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
20 Cnidaria 11 S_cosine 80.000000 70.000000 53.333333 53.333333 6.666667 0.000000
21 Cnidaria 11 S_dennis 66.666667 66.666667 53.333333 53.333333 46.666667 3.030303
22 Cnidaria 11 S_dice 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
23 Cnidaria 11 S_dispersion 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
24 Cnidaria 11 S_driver_kroeber 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
25 Cnidaria 11 S_eyraud 73.333333 73.333333 60.000000 60.000000 53.333333 3.030303
26 Cnidaria 11 S_fager_mcgowan 73.333333 73.333333 66.666667 66.666667 60.000000 0.000000
27 Cnidaria 11 S_faith 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
28 Cnidaria 11 S_forbes_I 66.666667 66.666667 53.333333 53.333333 10.000000 3.030303
29 Cnidaria 11 S_forbes_II 66.666667 66.666667 53.333333 53.333333 10.000000 3.030303
30 Cnidaria 11 S_fossum 66.666667 66.666667 53.333333 53.333333 46.666667 3.030303
31 Cnidaria 11 S_gilbert_wells 66.666667 66.666667 53.333333 53.333333 10.000000 3.030303
32 Cnidaria 11 S_goodman_kruskal 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
33 Cnidaria 11 S_gower 73.333333 73.333333 60.000000 60.000000 53.333333 0.000000
34 Cnidaria 11 S_gower_legendre 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
35 Cnidaria 11 S_hamann 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
36 Cnidaria 11 S_innerproduct 26.666667 20.000000 6.666667 6.666667 6.666667 6.060606
37 Cnidaria 11 S_intersection 26.666667 20.000000 6.666667 6.666667 6.666667 6.060606
38 Cnidaria 11 S_jaccard 23.333333 16.666667 3.333333 3.333333 3.333333 6.060606
39 Cnidaria 11 S_jaccard3w 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
40 Cnidaria 11 S_johson 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
41 Cnidaria 11 S_kulczynski_I 73.333333 73.333333 60.000000 60.000000 53.333333 3.030303
42 Cnidaria 11 S_kulczynski_II 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
43 Cnidaria 11 S_mcconnaughey 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
44 Cnidaria 11 S_michael 70.000000 70.000000 56.666667 56.666667 50.000000 3.030303
45 Cnidaria 11 S_mountford 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
46 Cnidaria 11 S_nei_li 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
47 Cnidaria 11 S_ochiai_I 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
48 Cnidaria 11 S_ochiai_II 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
49 Cnidaria 11 S_otsuka 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
50 Cnidaria 11 S_pearson_I 70.000000 70.000000 56.666667 56.666667 50.000000 3.030303
51 Cnidaria 11 S_pearson_II 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
52 Cnidaria 11 S_pearson_III 76.666667 76.666667 60.000000 60.000000 53.333333 0.000000
53 Cnidaria 11 S_pearson_heron_I 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
54 Cnidaria 11 S_pearson_heron_II 66.666667 66.666667 53.333333 53.333333 10.000000 3.030303
55 Cnidaria 11 S_pierce 46.666667 40.000000 6.666667 6.666667 6.666667 9.090909
56 Cnidaria 11 S_roger_tanimoto 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
57 Cnidaria 11 S_russell_rao 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
58 Cnidaria 11 S_simpson 66.666667 66.666667 53.333333 53.333333 10.000000 3.030303
59 Cnidaria 11 S_sokal_michener 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
60 Cnidaria 11 S_sokal_sneath_I 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
61 Cnidaria 11 S_sokal_sneath_II 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
62 Cnidaria 11 S_sokal_sneath_III 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
63 Cnidaria 11 S_sokal_sneath_IV 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
64 Cnidaria 11 S_sokal_sneath_IV2 73.333333 73.333333 60.000000 60.000000 53.333333 3.030303
65 Cnidaria 11 S_sokal_sneath_V 70.000000 66.666667 53.333333 53.333333 0.000000 0.000000
66 Cnidaria 11 S_sorgenfrei 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
67 Cnidaria 11 S_tanimoto 66.666667 66.666667 53.333333 53.333333 36.666667 0.000000
68 Cnidaria 11 S_tarwid 66.666667 66.666667 53.333333 53.333333 10.000000 0.000000
69 Cnidaria 11 S_yuleq 66.666667 66.666667 53.333333 53.333333 10.000000 3.030303
70 Cnidaria 11 S_yulew 66.666667 66.666667 53.333333 53.333333 10.000000 3.030303
71 Cnidaria 15 D_bray_curtis 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
72 Cnidaria 15 D_chord 76.666667 76.666667 76.666667 76.666667 73.333333 60.606061
73 Cnidaria 15 D_euclid 83.333333 76.666667 63.333333 63.333333 60.000000 63.636364
74 Cnidaria 15 D_hamming 83.333333 76.666667 63.333333 63.333333 60.000000 63.636364
75 Cnidaria 15 D_hellinger 76.666667 76.666667 76.666667 76.666667 73.333333 60.606061
76 Cnidaria 15 D_jaccard 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
77 Cnidaria 15 D_jaccard_sqrt 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
78 Cnidaria 15 D_lance_williams 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
79 Cnidaria 15 D_mean_manhattan 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
80 Cnidaria 15 D_pattern_difference 3.333333 3.333333 3.333333 3.333333 3.333333 39.393939
81 Cnidaria 15 D_shaped_difference 63.333333 63.333333 60.000000 60.000000 56.666667 54.545455
82 Cnidaria 15 D_sized_difference 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
83 Cnidaria 15 D_squared_euclid 83.333333 76.666667 63.333333 63.333333 60.000000 63.636364
84 Cnidaria 15 D_vari 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
85 Cnidaria 15 D_yuleq 26.666667 13.333333 0.000000 0.000000 0.000000 0.000000
86 Cnidaria 15 S_anderberg 73.333333 73.333333 60.000000 60.000000 56.666667 54.545455
87 Cnidaria 15 S_baroni_urbani_buser_I 93.333333 93.333333 93.333333 93.333333 86.666667 57.575758
88 Cnidaria 15 S_baroni_urbani_buser_II 93.333333 93.333333 93.333333 93.333333 86.666667 57.575758
89 Cnidaria 15 S_braun_banquet 93.333333 93.333333 90.000000 90.000000 83.333333 21.212121
90 Cnidaria 15 S_cole 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
91 Cnidaria 15 S_cosine 83.333333 83.333333 70.000000 70.000000 70.000000 42.424242
92 Cnidaria 15 S_dennis 73.333333 73.333333 60.000000 60.000000 53.333333 30.303030
93 Cnidaria 15 S_dice 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
94 Cnidaria 15 S_dispersion 70.000000 70.000000 66.666667 66.666667 63.333333 57.575758
95 Cnidaria 15 S_driver_kroeber 73.333333 73.333333 60.000000 60.000000 56.666667 54.545455
96 Cnidaria 15 S_eyraud 73.333333 73.333333 60.000000 60.000000 53.333333 51.515152
97 Cnidaria 15 S_fager_mcgowan 90.000000 86.666667 76.666667 76.666667 70.000000 33.333333
98 Cnidaria 15 S_faith 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
99 Cnidaria 15 S_forbes_I 73.333333 73.333333 60.000000 60.000000 53.333333 60.606061
100 Cnidaria 15 S_forbes_II 70.000000 70.000000 56.666667 56.666667 53.333333 54.545455
101 Cnidaria 15 S_fossum 73.333333 73.333333 60.000000 60.000000 53.333333 30.303030
102 Cnidaria 15 S_gilbert_wells 73.333333 73.333333 60.000000 60.000000 53.333333 60.606061
103 Cnidaria 15 S_goodman_kruskal 73.333333 73.333333 60.000000 60.000000 56.666667 54.545455
104 Cnidaria 15 S_gower 26.666667 20.000000 6.666667 6.666667 6.666667 6.060606
105 Cnidaria 15 S_gower_legendre 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
106 Cnidaria 15 S_hamann 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
107 Cnidaria 15 S_innerproduct 26.666667 20.000000 6.666667 6.666667 6.666667 6.060606
108 Cnidaria 15 S_intersection 26.666667 16.666667 3.333333 3.333333 3.333333 6.060606
109 Cnidaria 15 S_jaccard 23.333333 16.666667 3.333333 3.333333 3.333333 6.060606
110 Cnidaria 15 S_jaccard3w 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
111 Cnidaria 15 S_johson 73.333333 73.333333 60.000000 60.000000 56.666667 54.545455
112 Cnidaria 15 S_kulczynski_I 73.333333 73.333333 60.000000 60.000000 46.666667 27.272727
113 Cnidaria 15 S_kulczynski_II 73.333333 73.333333 60.000000 60.000000 56.666667 54.545455
114 Cnidaria 15 S_mcconnaughey 73.333333 73.333333 60.000000 60.000000 56.666667 54.545455
115 Cnidaria 15 S_michael 73.333333 73.333333 63.333333 63.333333 60.000000 30.303030
116 Cnidaria 15 S_mountford 83.333333 83.333333 80.000000 80.000000 76.666667 60.606061
117 Cnidaria 15 S_nei_li 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
118 Cnidaria 15 S_ochiai_I 76.666667 76.666667 76.666667 76.666667 73.333333 60.606061
119 Cnidaria 15 S_ochiai_II 70.000000 70.000000 70.000000 70.000000 66.666667 60.606061
120 Cnidaria 15 S_otsuka 76.666667 76.666667 76.666667 76.666667 73.333333 60.606061
121 Cnidaria 15 S_pearson_I 73.333333 73.333333 60.000000 60.000000 53.333333 30.303030
122 Cnidaria 15 S_pearson_II 93.333333 73.333333 60.000000 60.000000 56.666667 54.545455
123 Cnidaria 15 S_pearson_III 70.000000 70.000000 70.000000 70.000000 63.333333 57.575758
124 Cnidaria 15 S_pearson_heron_I 73.333333 73.333333 60.000000 60.000000 56.666667 54.545455
125 Cnidaria 15 S_pearson_heron_II 73.333333 73.333333 60.000000 60.000000 53.333333 60.606061
126 Cnidaria 15 S_pierce 70.000000 63.333333 50.000000 50.000000 50.000000 39.393939
127 Cnidaria 15 S_roger_tanimoto 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
128 Cnidaria 15 S_russell_rao 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
129 Cnidaria 15 S_simpson 70.000000 70.000000 56.666667 56.666667 53.333333 54.545455
130 Cnidaria 15 S_sokal_michener 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
131 Cnidaria 15 S_sokal_sneath_I 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
132 Cnidaria 15 S_sokal_sneath_II 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
133 Cnidaria 15 S_sokal_sneath_III 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
134 Cnidaria 15 S_sokal_sneath_IV 66.666667 66.666667 66.666667 66.666667 63.333333 48.484848
135 Cnidaria 15 S_sokal_sneath_IV2 73.333333 73.333333 63.333333 63.333333 60.000000 48.484848
136 Cnidaria 15 S_sokal_sneath_V 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
137 Cnidaria 15 S_sorgenfrei 76.666667 76.666667 76.666667 76.666667 73.333333 60.606061
138 Cnidaria 15 S_tanimoto 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
139 Cnidaria 15 S_tarwid 73.333333 73.333333 60.000000 60.000000 53.333333 60.606061
140 Cnidaria 15 S_yuleq 73.333333 73.333333 60.000000 60.000000 53.333333 60.606061
141 Cnidaria 15 S_yulew 73.333333 73.333333 60.000000 60.000000 53.333333 60.606061
142 Cnidaria 17 D_bray_curtis 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
143 Cnidaria 17 D_chord 83.333333 83.333333 80.000000 80.000000 76.666667 72.727273
144 Cnidaria 17 D_euclid 80.000000 73.333333 60.000000 60.000000 60.000000 48.484848
145 Cnidaria 17 D_hamming 80.000000 73.333333 60.000000 60.000000 60.000000 48.484848
146 Cnidaria 17 D_hellinger 83.333333 83.333333 80.000000 80.000000 76.666667 72.727273
147 Cnidaria 17 D_jaccard 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
148 Cnidaria 17 D_jaccard_sqrt 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
149 Cnidaria 17 D_lance_williams 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
150 Cnidaria 17 D_mean_manhattan 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
151 Cnidaria 17 D_pattern_difference 3.333333 3.333333 3.333333 3.333333 3.333333 36.363636
152 Cnidaria 17 D_shaped_difference 10.000000 10.000000 10.000000 10.000000 10.000000 54.545455
153 Cnidaria 17 D_sized_difference 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
154 Cnidaria 17 D_squared_euclid 80.000000 73.333333 60.000000 60.000000 60.000000 48.484848
155 Cnidaria 17 D_vari 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
156 Cnidaria 17 D_yuleq 26.666667 10.000000 0.000000 0.000000 0.000000 0.000000
157 Cnidaria 17 S_anderberg 73.333333 73.333333 60.000000 60.000000 60.000000 57.575758
158 Cnidaria 17 S_baroni_urbani_buser_I 100.000000 100.000000 100.000000 100.000000 93.333333 66.666667
159 Cnidaria 17 S_baroni_urbani_buser_II 100.000000 100.000000 100.000000 100.000000 93.333333 66.666667
160 Cnidaria 17 S_braun_banquet 96.666667 96.666667 96.666667 96.666667 90.000000 54.545455
161 Cnidaria 17 S_cole 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
162 Cnidaria 17 S_cosine 96.666667 96.666667 96.666667 96.666667 96.666667 45.454545
163 Cnidaria 17 S_dennis 86.666667 80.000000 60.000000 60.000000 56.666667 81.818182
164 Cnidaria 17 S_dice 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
165 Cnidaria 17 S_dispersion 66.666667 66.666667 60.000000 60.000000 56.666667 75.757576
166 Cnidaria 17 S_driver_kroeber 73.333333 73.333333 60.000000 60.000000 60.000000 75.757576
167 Cnidaria 17 S_eyraud 73.333333 73.333333 60.000000 60.000000 60.000000 63.636364
168 Cnidaria 17 S_fager_mcgowan 86.666667 83.333333 76.666667 76.666667 70.000000 54.545455
169 Cnidaria 17 S_faith 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
170 Cnidaria 17 S_forbes_I 73.333333 73.333333 60.000000 60.000000 60.000000 66.666667
171 Cnidaria 17 S_forbes_II 93.333333 93.333333 80.000000 80.000000 80.000000 60.606061
172 Cnidaria 17 S_fossum 73.333333 73.333333 60.000000 60.000000 56.666667 63.636364
173 Cnidaria 17 S_gilbert_wells 73.333333 73.333333 60.000000 60.000000 60.000000 66.666667
174 Cnidaria 17 S_goodman_kruskal 73.333333 73.333333 60.000000 60.000000 60.000000 57.575758
175 Cnidaria 17 S_gower 26.666667 20.000000 6.666667 6.666667 6.666667 6.060606
176 Cnidaria 17 S_gower_legendre 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
177 Cnidaria 17 S_hamann 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
178 Cnidaria 17 S_innerproduct 26.666667 20.000000 6.666667 6.666667 6.666667 6.060606
179 Cnidaria 17 S_intersection 26.666667 13.333333 0.000000 0.000000 0.000000 6.060606
180 Cnidaria 17 S_jaccard 23.333333 16.666667 0.000000 0.000000 0.000000 6.060606
181 Cnidaria 17 S_jaccard3w 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
182 Cnidaria 17 S_johson 73.333333 73.333333 60.000000 60.000000 60.000000 75.757576
183 Cnidaria 17 S_kulczynski_I 73.333333 73.333333 60.000000 60.000000 6.666667 12.121212
184 Cnidaria 17 S_kulczynski_II 73.333333 73.333333 60.000000 60.000000 60.000000 75.757576
185 Cnidaria 17 S_mcconnaughey 73.333333 73.333333 60.000000 60.000000 60.000000 75.757576
186 Cnidaria 17 S_michael 66.666667 66.666667 60.000000 60.000000 56.666667 84.848485
187 Cnidaria 17 S_mountford 100.000000 100.000000 100.000000 100.000000 100.000000 57.575758
188 Cnidaria 17 S_nei_li 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
189 Cnidaria 17 S_ochiai_I 83.333333 83.333333 80.000000 80.000000 76.666667 72.727273
190 Cnidaria 17 S_ochiai_II 83.333333 83.333333 76.666667 76.666667 73.333333 75.757576
191 Cnidaria 17 S_otsuka 83.333333 83.333333 80.000000 80.000000 76.666667 72.727273
192 Cnidaria 17 S_pearson_I 80.000000 80.000000 50.000000 50.000000 50.000000 78.787879
193 Cnidaria 17 S_pearson_II 76.666667 63.333333 46.666667 46.666667 46.666667 72.727273
194 Cnidaria 17 S_pearson_III 73.333333 73.333333 60.000000 60.000000 60.000000 54.545455
195 Cnidaria 17 S_pearson_heron_I 70.000000 70.000000 60.000000 60.000000 60.000000 72.727273
196 Cnidaria 17 S_pearson_heron_II 73.333333 73.333333 60.000000 60.000000 60.000000 66.666667
197 Cnidaria 17 S_pierce 73.333333 66.666667 53.333333 53.333333 53.333333 39.393939
198 Cnidaria 17 S_roger_tanimoto 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
199 Cnidaria 17 S_russell_rao 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
200 Cnidaria 17 S_simpson 73.333333 73.333333 60.000000 60.000000 60.000000 60.606061
201 Cnidaria 17 S_sokal_michener 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
202 Cnidaria 17 S_sokal_sneath_I 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
203 Cnidaria 17 S_sokal_sneath_II 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
204 Cnidaria 17 S_sokal_sneath_III 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
205 Cnidaria 17 S_sokal_sneath_IV 80.000000 80.000000 73.333333 73.333333 70.000000 75.757576
206 Cnidaria 17 S_sokal_sneath_IV2 80.000000 80.000000 73.333333 73.333333 70.000000 72.727273
207 Cnidaria 17 S_sokal_sneath_V 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
208 Cnidaria 17 S_sorgenfrei 83.333333 83.333333 80.000000 80.000000 76.666667 72.727273
209 Cnidaria 17 S_tanimoto 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
210 Cnidaria 17 S_tarwid 73.333333 73.333333 60.000000 60.000000 60.000000 66.666667
211 Cnidaria 17 S_yuleq 73.333333 73.333333 60.000000 60.000000 60.000000 66.666667
212 Cnidaria 17 S_yulew 73.333333 73.333333 60.000000 60.000000 60.000000 66.666667
213 Cnidaria 21 D_bray_curtis 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
214 Cnidaria 21 D_chord 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
215 Cnidaria 21 D_euclid 76.666667 76.666667 60.000000 60.000000 60.000000 69.696970
216 Cnidaria 21 D_hamming 76.666667 76.666667 60.000000 60.000000 60.000000 69.696970
217 Cnidaria 21 D_hellinger 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
218 Cnidaria 21 D_jaccard 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
219 Cnidaria 21 D_jaccard_sqrt 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
220 Cnidaria 21 D_lance_williams 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
221 Cnidaria 21 D_mean_manhattan 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
222 Cnidaria 21 D_pattern_difference 3.333333 3.333333 3.333333 3.333333 3.333333 36.363636
223 Cnidaria 21 D_shaped_difference 10.000000 10.000000 10.000000 10.000000 10.000000 57.575758
224 Cnidaria 21 D_sized_difference 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
225 Cnidaria 21 D_squared_euclid 76.666667 76.666667 60.000000 60.000000 60.000000 69.696970
226 Cnidaria 21 D_vari 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
227 Cnidaria 21 D_yuleq 13.333333 10.000000 0.000000 0.000000 0.000000 0.000000
228 Cnidaria 21 S_anderberg 80.000000 80.000000 66.666667 66.666667 63.333333 78.787879
229 Cnidaria 21 S_baroni_urbani_buser_I 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
230 Cnidaria 21 S_baroni_urbani_buser_II 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
231 Cnidaria 21 S_braun_banquet 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
232 Cnidaria 21 S_cole 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
233 Cnidaria 21 S_cosine 100.000000 100.000000 100.000000 100.000000 100.000000 45.454545
234 Cnidaria 21 S_dennis 93.333333 93.333333 80.000000 80.000000 80.000000 81.818182
235 Cnidaria 21 S_dice 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
236 Cnidaria 21 S_dispersion 70.000000 70.000000 70.000000 70.000000 70.000000 78.787879
237 Cnidaria 21 S_driver_kroeber 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
238 Cnidaria 21 S_eyraud 100.000000 100.000000 100.000000 100.000000 100.000000 69.696970
239 Cnidaria 21 S_fager_mcgowan 90.000000 86.666667 76.666667 76.666667 73.333333 54.545455
240 Cnidaria 21 S_faith 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
241 Cnidaria 21 S_forbes_I 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
242 Cnidaria 21 S_forbes_II 100.000000 100.000000 100.000000 100.000000 100.000000 60.606061
243 Cnidaria 21 S_fossum 86.666667 86.666667 86.666667 86.666667 86.666667 84.848485
244 Cnidaria 21 S_gilbert_wells 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
245 Cnidaria 21 S_goodman_kruskal 80.000000 80.000000 66.666667 66.666667 63.333333 78.787879
246 Cnidaria 21 S_gower 26.666667 20.000000 3.333333 3.333333 3.333333 6.060606
247 Cnidaria 21 S_gower_legendre 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
248 Cnidaria 21 S_hamann 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
249 Cnidaria 21 S_innerproduct 26.666667 20.000000 3.333333 3.333333 3.333333 6.060606
250 Cnidaria 21 S_intersection 26.666667 13.333333 0.000000 0.000000 0.000000 6.060606
251 Cnidaria 21 S_jaccard 0.000000 0.000000 0.000000 0.000000 0.000000 6.060606
252 Cnidaria 21 S_jaccard3w 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
253 Cnidaria 21 S_johson 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
254 Cnidaria 21 S_kulczynski_I 73.333333 73.333333 60.000000 60.000000 6.666667 27.272727
255 Cnidaria 21 S_kulczynski_II 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
256 Cnidaria 21 S_mcconnaughey 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
257 Cnidaria 21 S_michael 70.000000 70.000000 70.000000 70.000000 70.000000 87.878788
258 Cnidaria 21 S_mountford 100.000000 100.000000 100.000000 100.000000 100.000000 66.666667
259 Cnidaria 21 S_nei_li 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
260 Cnidaria 21 S_ochiai_I 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
261 Cnidaria 21 S_ochiai_II 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
262 Cnidaria 21 S_otsuka 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
263 Cnidaria 21 S_pearson_I 20.000000 20.000000 6.666667 6.666667 6.666667 81.818182
264 Cnidaria 21 S_pearson_II 70.000000 46.666667 23.333333 23.333333 16.666667 78.787879
265 Cnidaria 21 S_pearson_III 80.000000 80.000000 73.333333 73.333333 70.000000 72.727273
266 Cnidaria 21 S_pearson_heron_I 73.333333 73.333333 73.333333 73.333333 73.333333 78.787879
267 Cnidaria 21 S_pearson_heron_II 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
268 Cnidaria 21 S_pierce 83.333333 83.333333 66.666667 66.666667 66.666667 42.424242
269 Cnidaria 21 S_roger_tanimoto 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
270 Cnidaria 21 S_russell_rao 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
271 Cnidaria 21 S_simpson 86.666667 86.666667 86.666667 86.666667 86.666667 60.606061
272 Cnidaria 21 S_sokal_michener 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
273 Cnidaria 21 S_sokal_sneath_I 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
274 Cnidaria 21 S_sokal_sneath_II 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
275 Cnidaria 21 S_sokal_sneath_III 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
276 Cnidaria 21 S_sokal_sneath_IV 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
277 Cnidaria 21 S_sokal_sneath_IV2 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
278 Cnidaria 21 S_sokal_sneath_V 73.333333 73.333333 60.000000 60.000000 6.666667 0.000000
279 Cnidaria 21 S_sorgenfrei 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
280 Cnidaria 21 S_tanimoto 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
281 Cnidaria 21 S_tarwid 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
282 Cnidaria 21 S_yuleq 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
283 Cnidaria 21 S_yulew 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
284 Cnidaria 21 extended D_bray_curtis 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
285 Cnidaria 21 extended D_chord 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
286 Cnidaria 21 extended D_euclid 76.666667 76.666667 60.000000 60.000000 60.000000 69.696970
287 Cnidaria 21 extended D_hamming 76.666667 76.666667 60.000000 60.000000 60.000000 69.696970
288 Cnidaria 21 extended D_hellinger 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
289 Cnidaria 21 extended D_jaccard 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
290 Cnidaria 21 extended D_jaccard_sqrt 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
291 Cnidaria 21 extended D_lance_williams 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
292 Cnidaria 21 extended D_mean_manhattan 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
293 Cnidaria 21 extended D_pattern_difference 3.333333 3.333333 3.333333 3.333333 3.333333 36.363636
294 Cnidaria 21 extended D_shaped_difference 10.000000 10.000000 10.000000 10.000000 10.000000 57.575758
295 Cnidaria 21 extended D_sized_difference 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
296 Cnidaria 21 extended D_squared_euclid 76.666667 76.666667 60.000000 60.000000 60.000000 69.696970
297 Cnidaria 21 extended D_vari 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
298 Cnidaria 21 extended D_yuleq 13.333333 10.000000 0.000000 0.000000 0.000000 0.000000
299 Cnidaria 21 extended S_anderberg 80.000000 80.000000 66.666667 66.666667 63.333333 78.787879
300 Cnidaria 21 extended S_baroni_urbani_buser_I 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
301 Cnidaria 21 extended S_baroni_urbani_buser_II 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
302 Cnidaria 21 extended S_braun_banquet 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
303 Cnidaria 21 extended S_cole 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
304 Cnidaria 21 extended S_cosine 100.000000 100.000000 100.000000 100.000000 100.000000 45.454545
305 Cnidaria 21 extended S_dennis 93.333333 93.333333 80.000000 80.000000 80.000000 81.818182
306 Cnidaria 21 extended S_dice 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
307 Cnidaria 21 extended S_dispersion 70.000000 70.000000 70.000000 70.000000 70.000000 78.787879
308 Cnidaria 21 extended S_driver_kroeber 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
309 Cnidaria 21 extended S_eyraud 100.000000 100.000000 100.000000 100.000000 100.000000 69.696970
310 Cnidaria 21 extended S_fager_mcgowan 90.000000 86.666667 76.666667 76.666667 73.333333 54.545455
311 Cnidaria 21 extended S_faith 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
312 Cnidaria 21 extended S_forbes_I 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
313 Cnidaria 21 extended S_forbes_II 100.000000 100.000000 100.000000 100.000000 100.000000 60.606061
314 Cnidaria 21 extended S_fossum 86.666667 86.666667 86.666667 86.666667 86.666667 84.848485
315 Cnidaria 21 extended S_gilbert_wells 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
316 Cnidaria 21 extended S_goodman_kruskal 80.000000 80.000000 66.666667 66.666667 63.333333 78.787879
317 Cnidaria 21 extended S_gower 26.666667 20.000000 3.333333 3.333333 3.333333 6.060606
318 Cnidaria 21 extended S_gower_legendre 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
319 Cnidaria 21 extended S_hamann 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
320 Cnidaria 21 extended S_innerproduct 26.666667 20.000000 3.333333 3.333333 3.333333 6.060606
321 Cnidaria 21 extended S_intersection 26.666667 13.333333 0.000000 0.000000 0.000000 6.060606
322 Cnidaria 21 extended S_jaccard 0.000000 0.000000 0.000000 0.000000 0.000000 6.060606
323 Cnidaria 21 extended S_jaccard3w 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
324 Cnidaria 21 extended S_johson 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
325 Cnidaria 21 extended S_kulczynski_I 73.333333 73.333333 60.000000 60.000000 6.666667 27.272727
326 Cnidaria 21 extended S_kulczynski_II 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
327 Cnidaria 21 extended S_mcconnaughey 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
328 Cnidaria 21 extended S_michael 70.000000 70.000000 70.000000 70.000000 70.000000 87.878788
329 Cnidaria 21 extended S_mountford 100.000000 100.000000 100.000000 100.000000 100.000000 66.666667
330 Cnidaria 21 extended S_nei_li 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
331 Cnidaria 21 extended S_ochiai_I 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
332 Cnidaria 21 extended S_ochiai_II 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
333 Cnidaria 21 extended S_otsuka 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
334 Cnidaria 21 extended S_pearson_I 20.000000 20.000000 6.666667 6.666667 6.666667 81.818182
335 Cnidaria 21 extended S_pearson_II 70.000000 46.666667 23.333333 23.333333 16.666667 78.787879
336 Cnidaria 21 extended S_pearson_III 80.000000 80.000000 73.333333 73.333333 70.000000 72.727273
337 Cnidaria 21 extended S_pearson_heron_I 73.333333 73.333333 73.333333 73.333333 73.333333 78.787879
338 Cnidaria 21 extended S_pearson_heron_II 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
339 Cnidaria 21 extended S_pierce 83.333333 83.333333 66.666667 66.666667 66.666667 42.424242
340 Cnidaria 21 extended S_roger_tanimoto 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
341 Cnidaria 21 extended S_russell_rao 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
342 Cnidaria 21 extended S_simpson 86.666667 86.666667 86.666667 86.666667 86.666667 60.606061
343 Cnidaria 21 extended S_sokal_michener 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
344 Cnidaria 21 extended S_sokal_sneath_I 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
345 Cnidaria 21 extended S_sokal_sneath_II 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
346 Cnidaria 21 extended S_sokal_sneath_III 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
347 Cnidaria 21 extended S_sokal_sneath_IV 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
348 Cnidaria 21 extended S_sokal_sneath_IV2 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
349 Cnidaria 21 extended S_sokal_sneath_V 73.333333 73.333333 60.000000 60.000000 6.666667 0.000000
350 Cnidaria 21 extended S_sorgenfrei 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
351 Cnidaria 21 extended S_tanimoto 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
352 Cnidaria 21 extended S_tarwid 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
353 Cnidaria 21 extended S_yuleq 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
354 Cnidaria 21 extended S_yulew 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
355 Cnidaria 21 extended 2% D_bray_curtis 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
356 Cnidaria 21 extended 2% D_chord 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
357 Cnidaria 21 extended 2% D_euclid 76.666667 76.666667 60.000000 60.000000 60.000000 69.696970
358 Cnidaria 21 extended 2% D_hamming 76.666667 76.666667 60.000000 60.000000 60.000000 69.696970
359 Cnidaria 21 extended 2% D_hellinger 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
360 Cnidaria 21 extended 2% D_jaccard 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
361 Cnidaria 21 extended 2% D_jaccard_sqrt 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
362 Cnidaria 21 extended 2% D_lance_williams 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
363 Cnidaria 21 extended 2% D_mean_manhattan 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
364 Cnidaria 21 extended 2% D_pattern_difference 3.333333 3.333333 3.333333 3.333333 3.333333 36.363636
365 Cnidaria 21 extended 2% D_shaped_difference 10.000000 10.000000 10.000000 10.000000 10.000000 57.575758
366 Cnidaria 21 extended 2% D_sized_difference 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
367 Cnidaria 21 extended 2% D_squared_euclid 76.666667 76.666667 60.000000 60.000000 60.000000 69.696970
368 Cnidaria 21 extended 2% D_vari 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
369 Cnidaria 21 extended 2% D_yuleq 13.333333 10.000000 0.000000 0.000000 0.000000 0.000000
370 Cnidaria 21 extended 2% S_anderberg 80.000000 80.000000 66.666667 66.666667 63.333333 78.787879
371 Cnidaria 21 extended 2% S_baroni_urbani_buser_I 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
372 Cnidaria 21 extended 2% S_baroni_urbani_buser_II 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
373 Cnidaria 21 extended 2% S_braun_banquet 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
374 Cnidaria 21 extended 2% S_cole 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
375 Cnidaria 21 extended 2% S_cosine 100.000000 100.000000 100.000000 100.000000 100.000000 45.454545
376 Cnidaria 21 extended 2% S_dennis 93.333333 93.333333 80.000000 80.000000 80.000000 81.818182
377 Cnidaria 21 extended 2% S_dice 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
378 Cnidaria 21 extended 2% S_dispersion 70.000000 70.000000 70.000000 70.000000 70.000000 78.787879
379 Cnidaria 21 extended 2% S_driver_kroeber 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
380 Cnidaria 21 extended 2% S_eyraud 100.000000 100.000000 100.000000 100.000000 100.000000 69.696970
381 Cnidaria 21 extended 2% S_fager_mcgowan 90.000000 86.666667 76.666667 76.666667 73.333333 54.545455
382 Cnidaria 21 extended 2% S_faith 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
383 Cnidaria 21 extended 2% S_forbes_I 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
384 Cnidaria 21 extended 2% S_forbes_II 100.000000 100.000000 100.000000 100.000000 100.000000 60.606061
385 Cnidaria 21 extended 2% S_fossum 86.666667 86.666667 86.666667 86.666667 86.666667 84.848485
386 Cnidaria 21 extended 2% S_gilbert_wells 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
387 Cnidaria 21 extended 2% S_goodman_kruskal 80.000000 80.000000 66.666667 66.666667 63.333333 78.787879
388 Cnidaria 21 extended 2% S_gower 26.666667 20.000000 3.333333 3.333333 3.333333 6.060606
389 Cnidaria 21 extended 2% S_gower_legendre 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
390 Cnidaria 21 extended 2% S_hamann 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
391 Cnidaria 21 extended 2% S_innerproduct 26.666667 20.000000 3.333333 3.333333 3.333333 6.060606
392 Cnidaria 21 extended 2% S_intersection 26.666667 13.333333 0.000000 0.000000 0.000000 6.060606
393 Cnidaria 21 extended 2% S_jaccard 0.000000 0.000000 0.000000 0.000000 0.000000 6.060606
394 Cnidaria 21 extended 2% S_jaccard3w 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
395 Cnidaria 21 extended 2% S_johson 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
396 Cnidaria 21 extended 2% S_kulczynski_I 73.333333 73.333333 60.000000 60.000000 6.666667 27.272727
397 Cnidaria 21 extended 2% S_kulczynski_II 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
398 Cnidaria 21 extended 2% S_mcconnaughey 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
399 Cnidaria 21 extended 2% S_michael 70.000000 70.000000 70.000000 70.000000 70.000000 87.878788
400 Cnidaria 21 extended 2% S_mountford 100.000000 100.000000 100.000000 100.000000 100.000000 63.636364
401 Cnidaria 21 extended 2% S_nei_li 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
402 Cnidaria 21 extended 2% S_ochiai_I 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
403 Cnidaria 21 extended 2% S_ochiai_II 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
404 Cnidaria 21 extended 2% S_otsuka 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
405 Cnidaria 21 extended 2% S_pearson_I 20.000000 20.000000 6.666667 6.666667 6.666667 81.818182
406 Cnidaria 21 extended 2% S_pearson_II 70.000000 46.666667 23.333333 23.333333 16.666667 78.787879
407 Cnidaria 21 extended 2% S_pearson_III 80.000000 80.000000 73.333333 73.333333 70.000000 72.727273
408 Cnidaria 21 extended 2% S_pearson_heron_I 73.333333 73.333333 73.333333 73.333333 73.333333 78.787879
409 Cnidaria 21 extended 2% S_pearson_heron_II 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
410 Cnidaria 21 extended 2% S_pierce 83.333333 83.333333 66.666667 66.666667 66.666667 42.424242
411 Cnidaria 21 extended 2% S_roger_tanimoto 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
412 Cnidaria 21 extended 2% S_russell_rao 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
413 Cnidaria 21 extended 2% S_simpson 86.666667 86.666667 86.666667 86.666667 86.666667 60.606061
414 Cnidaria 21 extended 2% S_sokal_michener 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
415 Cnidaria 21 extended 2% S_sokal_sneath_I 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
416 Cnidaria 21 extended 2% S_sokal_sneath_II 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
417 Cnidaria 21 extended 2% S_sokal_sneath_III 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
418 Cnidaria 21 extended 2% S_sokal_sneath_IV 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
419 Cnidaria 21 extended 2% S_sokal_sneath_IV2 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
420 Cnidaria 21 extended 2% S_sokal_sneath_V 93.333333 93.333333 86.666667 86.666667 33.333333 0.000000
421 Cnidaria 21 extended 2% S_sorgenfrei 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
422 Cnidaria 21 extended 2% S_tanimoto 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
423 Cnidaria 21 extended 2% S_tarwid 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
424 Cnidaria 21 extended 2% S_yuleq 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
425 Cnidaria 21 extended 2% S_yulew 96.666667 96.666667 96.666667 96.666667 96.666667 72.727273
426 Cnidaria 31 D_bray_curtis 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
427 Cnidaria 31 D_chord 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
428 Cnidaria 31 D_euclid 93.333333 93.333333 86.666667 86.666667 86.666667 75.757576
429 Cnidaria 31 D_hamming 93.333333 93.333333 86.666667 86.666667 86.666667 75.757576
430 Cnidaria 31 D_hellinger 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
431 Cnidaria 31 D_jaccard 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
432 Cnidaria 31 D_jaccard_sqrt 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
433 Cnidaria 31 D_lance_williams 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
434 Cnidaria 31 D_mean_manhattan 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
435 Cnidaria 31 D_pattern_difference 20.000000 20.000000 13.333333 13.333333 13.333333 36.363636
436 Cnidaria 31 D_shaped_difference 40.000000 40.000000 40.000000 40.000000 40.000000 66.666667
437 Cnidaria 31 D_sized_difference 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
438 Cnidaria 31 D_squared_euclid 93.333333 93.333333 86.666667 86.666667 86.666667 75.757576
439 Cnidaria 31 D_vari 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
440 Cnidaria 31 D_yuleq 13.333333 13.333333 0.000000 0.000000 0.000000 0.000000
441 Cnidaria 31 S_anderberg 93.333333 93.333333 93.333333 93.333333 90.000000 75.757576
442 Cnidaria 31 S_baroni_urbani_buser_I 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
443 Cnidaria 31 S_baroni_urbani_buser_II 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
444 Cnidaria 31 S_braun_banquet 100.000000 100.000000 100.000000 100.000000 100.000000 84.848485
445 Cnidaria 31 S_cole 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
446 Cnidaria 31 S_cosine 100.000000 100.000000 100.000000 100.000000 100.000000 63.636364
447 Cnidaria 31 S_dennis 96.666667 96.666667 96.666667 96.666667 96.666667 81.818182
448 Cnidaria 31 S_dice 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
449 Cnidaria 31 S_dispersion 93.333333 93.333333 93.333333 93.333333 93.333333 78.787879
450 Cnidaria 31 S_driver_kroeber 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
451 Cnidaria 31 S_eyraud 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
452 Cnidaria 31 S_fager_mcgowan 90.000000 86.666667 76.666667 76.666667 73.333333 51.515152
453 Cnidaria 31 S_faith 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
454 Cnidaria 31 S_forbes_I 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
455 Cnidaria 31 S_forbes_II 100.000000 100.000000 100.000000 100.000000 100.000000 72.727273
456 Cnidaria 31 S_fossum 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
457 Cnidaria 31 S_gilbert_wells 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
458 Cnidaria 31 S_goodman_kruskal 93.333333 93.333333 93.333333 93.333333 90.000000 75.757576
459 Cnidaria 31 S_gower 26.666667 20.000000 13.333333 13.333333 13.333333 6.060606
460 Cnidaria 31 S_gower_legendre 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
461 Cnidaria 31 S_hamann 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
462 Cnidaria 31 S_innerproduct 26.666667 20.000000 10.000000 10.000000 10.000000 6.060606
463 Cnidaria 31 S_intersection 20.000000 13.333333 0.000000 0.000000 0.000000 6.060606
464 Cnidaria 31 S_jaccard 0.000000 0.000000 0.000000 0.000000 0.000000 6.060606
465 Cnidaria 31 S_jaccard3w 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
466 Cnidaria 31 S_johson 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
467 Cnidaria 31 S_kulczynski_I 80.000000 80.000000 80.000000 80.000000 33.333333 39.393939
468 Cnidaria 31 S_kulczynski_II 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
469 Cnidaria 31 S_mcconnaughey 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
470 Cnidaria 31 S_michael 93.333333 93.333333 93.333333 93.333333 93.333333 87.878788
471 Cnidaria 31 S_mountford 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
472 Cnidaria 31 S_nei_li 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
473 Cnidaria 31 S_ochiai_I 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
474 Cnidaria 31 S_ochiai_II 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
475 Cnidaria 31 S_otsuka 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
476 Cnidaria 31 S_pearson_I 26.666667 26.666667 26.666667 26.666667 26.666667 78.787879
477 Cnidaria 31 S_pearson_II 66.666667 66.666667 50.000000 50.000000 46.666667 78.787879
478 Cnidaria 31 S_pearson_III 96.666667 96.666667 96.666667 96.666667 93.333333 81.818182
479 Cnidaria 31 S_pearson_heron_I 93.333333 93.333333 93.333333 93.333333 93.333333 81.818182
480 Cnidaria 31 S_pearson_heron_II 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
481 Cnidaria 31 S_pierce 90.000000 90.000000 83.333333 83.333333 83.333333 42.424242
482 Cnidaria 31 S_roger_tanimoto 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
483 Cnidaria 31 S_russell_rao 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
484 Cnidaria 31 S_simpson 100.000000 100.000000 100.000000 100.000000 100.000000 72.727273
485 Cnidaria 31 S_sokal_michener 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
486 Cnidaria 31 S_sokal_sneath_I 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
487 Cnidaria 31 S_sokal_sneath_II 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
488 Cnidaria 31 S_sokal_sneath_III 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
489 Cnidaria 31 S_sokal_sneath_IV 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
490 Cnidaria 31 S_sokal_sneath_IV2 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
491 Cnidaria 31 S_sokal_sneath_V 93.333333 93.333333 86.666667 86.666667 33.333333 0.000000
492 Cnidaria 31 S_sorgenfrei 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
493 Cnidaria 31 S_tanimoto 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
494 Cnidaria 31 S_tarwid 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
495 Cnidaria 31 S_yuleq 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
496 Cnidaria 31 S_yulew 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
497 RepeatFree 21 D_bray_curtis 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
498 RepeatFree 21 D_chord 86.666667 86.666667 86.666667 86.666667 86.666667 75.757576
499 RepeatFree 21 D_euclid 73.333333 66.666667 60.000000 60.000000 60.000000 75.757576
500 RepeatFree 21 D_hamming 73.333333 66.666667 60.000000 60.000000 60.000000 75.757576
501 RepeatFree 21 D_hellinger 86.666667 86.666667 86.666667 86.666667 86.666667 75.757576
502 RepeatFree 21 D_jaccard 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
503 RepeatFree 21 D_jaccard_sqrt 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
504 RepeatFree 21 D_lance_williams 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
505 RepeatFree 21 D_mean_manhattan 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
506 RepeatFree 21 D_pattern_difference 16.666667 16.666667 13.333333 13.333333 6.666667 6.060606
507 RepeatFree 21 D_shaped_difference 46.666667 46.666667 43.333333 43.333333 36.666667 66.666667
508 RepeatFree 21 D_sized_difference 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
509 RepeatFree 21 D_squared_euclid 73.333333 66.666667 60.000000 60.000000 60.000000 75.757576
510 RepeatFree 21 D_vari 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
511 RepeatFree 21 D_yuleq 66.666667 66.666667 30.000000 30.000000 23.333333 0.000000
512 RepeatFree 21 S_anderberg 73.333333 73.333333 73.333333 73.333333 66.666667 72.727273
513 RepeatFree 21 S_baroni_urbani_buser_I 86.666667 83.333333 80.000000 80.000000 76.666667 75.757576
514 RepeatFree 21 S_baroni_urbani_buser_II 86.666667 83.333333 80.000000 80.000000 76.666667 75.757576
515 RepeatFree 21 S_braun_banquet 93.333333 93.333333 86.666667 86.666667 86.666667 75.757576
516 RepeatFree 21 S_cole 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
517 RepeatFree 21 S_cosine 96.666667 96.666667 96.666667 96.666667 96.666667 54.545455
518 RepeatFree 21 S_dennis 86.666667 80.000000 80.000000 80.000000 73.333333 78.787879
519 RepeatFree 21 S_dice 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
520 RepeatFree 21 S_dispersion 73.333333 73.333333 73.333333 73.333333 66.666667 75.757576
521 RepeatFree 21 S_driver_kroeber 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
522 RepeatFree 21 S_eyraud 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
523 RepeatFree 21 S_fager_mcgowan 63.333333 60.000000 56.666667 56.666667 53.333333 39.393939
524 RepeatFree 21 S_faith 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
525 RepeatFree 21 S_forbes_I 73.333333 73.333333 73.333333 73.333333 66.666667 81.818182
526 RepeatFree 21 S_forbes_II 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
527 RepeatFree 21 S_fossum 70.000000 70.000000 63.333333 63.333333 56.666667 75.757576
528 RepeatFree 21 S_gilbert_wells 73.333333 73.333333 73.333333 73.333333 66.666667 81.818182
529 RepeatFree 21 S_goodman_kruskal 73.333333 73.333333 73.333333 73.333333 66.666667 72.727273
530 RepeatFree 21 S_gower 23.333333 16.666667 10.000000 10.000000 10.000000 6.060606
531 RepeatFree 21 S_gower_legendre 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
532 RepeatFree 21 S_hamann 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
533 RepeatFree 21 S_innerproduct 23.333333 16.666667 10.000000 10.000000 10.000000 6.060606
534 RepeatFree 21 S_intersection 66.666667 66.666667 30.000000 30.000000 23.333333 0.000000
535 RepeatFree 21 S_jaccard 66.666667 66.666667 30.000000 30.000000 23.333333 0.000000
536 RepeatFree 21 S_jaccard3w 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
537 RepeatFree 21 S_johson 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
538 RepeatFree 21 S_kulczynski_I 66.666667 66.666667 53.333333 53.333333 30.000000 54.545455
539 RepeatFree 21 S_kulczynski_II 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
540 RepeatFree 21 S_mcconnaughey 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
541 RepeatFree 21 S_michael 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
542 RepeatFree 21 S_mountford 96.666667 96.666667 96.666667 96.666667 96.666667 75.757576
543 RepeatFree 21 S_nei_li 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
544 RepeatFree 21 S_ochiai_I 86.666667 86.666667 86.666667 86.666667 86.666667 75.757576
545 RepeatFree 21 S_ochiai_II 86.666667 86.666667 86.666667 86.666667 86.666667 75.757576
546 RepeatFree 21 S_otsuka 86.666667 86.666667 86.666667 86.666667 86.666667 75.757576
547 RepeatFree 21 S_pearson_I 66.666667 66.666667 53.333333 53.333333 46.666667 72.727273
548 RepeatFree 21 S_pearson_II 66.666667 66.666667 46.666667 46.666667 46.666667 78.787879
549 RepeatFree 21 S_pearson_III 73.333333 73.333333 73.333333 73.333333 66.666667 75.757576
550 RepeatFree 21 S_pearson_heron_I 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
551 RepeatFree 21 S_pearson_heron_II 73.333333 73.333333 73.333333 73.333333 66.666667 81.818182
552 RepeatFree 21 S_pierce 76.666667 70.000000 60.000000 60.000000 60.000000 30.303030
553 RepeatFree 21 S_roger_tanimoto 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
554 RepeatFree 21 S_russell_rao 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
555 RepeatFree 21 S_simpson 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
556 RepeatFree 21 S_sokal_michener 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
557 RepeatFree 21 S_sokal_sneath_I 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
558 RepeatFree 21 S_sokal_sneath_II 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
559 RepeatFree 21 S_sokal_sneath_III 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
560 RepeatFree 21 S_sokal_sneath_IV 73.333333 73.333333 73.333333 73.333333 66.666667 75.757576
561 RepeatFree 21 S_sokal_sneath_IV2 73.333333 73.333333 73.333333 73.333333 66.666667 78.787879
562 RepeatFree 21 S_sokal_sneath_V 86.666667 86.666667 73.333333 73.333333 26.666667 0.000000
563 RepeatFree 21 S_sorgenfrei 86.666667 86.666667 86.666667 86.666667 86.666667 75.757576
564 RepeatFree 21 S_tanimoto 66.666667 66.666667 53.333333 53.333333 0.000000 0.000000
565 RepeatFree 21 S_tarwid 73.333333 73.333333 73.333333 73.333333 66.666667 81.818182
566 RepeatFree 21 S_yuleq 73.333333 73.333333 73.333333 73.333333 66.666667 81.818182
567 RepeatFree 21 S_yulew 73.333333 73.333333 73.333333 73.333333 66.666667 81.818182

In [488]:
pd_data.dtypes


Out[488]:
test_name      object
statistics     object
kingdom       float64
phylum        float64
order         float64
family        float64
genus         float64
species       float64
dtype: object

In [489]:
dbs = pd.Series.unique(pd_data["test_name"])
dbs


Out[489]:
array(['Cnidaria 11', 'Cnidaria 15', 'Cnidaria 17', 'Cnidaria 21',
       'Cnidaria 21 extended', 'Cnidaria 21 extended 2%', 'Cnidaria 31',
       'RepeatFree 21'], dtype=object)

In [490]:
stats = pd.Series.unique(pd_data["statistics"])
print len(stats)
stats


71
Out[490]:
array(['D_bray_curtis', 'D_chord', 'D_euclid', 'D_hamming', 'D_hellinger',
       'D_jaccard', 'D_jaccard_sqrt', 'D_lance_williams',
       'D_mean_manhattan', 'D_pattern_difference', 'D_shaped_difference',
       'D_sized_difference', 'D_squared_euclid', 'D_vari', 'D_yuleq',
       'S_anderberg', 'S_baroni_urbani_buser_I',
       'S_baroni_urbani_buser_II', 'S_braun_banquet', 'S_cole', 'S_cosine',
       'S_dennis', 'S_dice', 'S_dispersion', 'S_driver_kroeber',
       'S_eyraud', 'S_fager_mcgowan', 'S_faith', 'S_forbes_I',
       'S_forbes_II', 'S_fossum', 'S_gilbert_wells', 'S_goodman_kruskal',
       'S_gower', 'S_gower_legendre', 'S_hamann', 'S_innerproduct',
       'S_intersection', 'S_jaccard', 'S_jaccard3w', 'S_johson',
       'S_kulczynski_I', 'S_kulczynski_II', 'S_mcconnaughey', 'S_michael',
       'S_mountford', 'S_nei_li', 'S_ochiai_I', 'S_ochiai_II', 'S_otsuka',
       'S_pearson_I', 'S_pearson_II', 'S_pearson_III', 'S_pearson_heron_I',
       'S_pearson_heron_II', 'S_pierce', 'S_roger_tanimoto',
       'S_russell_rao', 'S_simpson', 'S_sokal_michener',
       'S_sokal_sneath_I', 'S_sokal_sneath_II', 'S_sokal_sneath_III',
       'S_sokal_sneath_IV', 'S_sokal_sneath_IV2', 'S_sokal_sneath_V',
       'S_sorgenfrei', 'S_tanimoto', 'S_tarwid', 'S_yuleq', 'S_yulew'], dtype=object)

In [491]:
mr = pd.get_option('display.max_rows')
pd.set_option('display.max_rows', len(dbs)*8 + 2)

display(pd_data.groupby('test_name').describe())

pd.set_option('display.max_rows', mr)


family genus kingdom order phylum species
test_name
Cnidaria 11 count 71.000000 71.000000 71.000000 71.000000 71.000000 71.000000
mean 57.464789 44.366197 71.924883 57.464789 71.267606 2.859582
std 13.644753 20.668138 11.306157 13.644753 12.691282 1.526995
min 3.333333 0.000000 23.333333 3.333333 16.666667 0.000000
25% 53.333333 41.666667 70.000000 53.333333 66.666667 3.030303
50% 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
75% 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
max 80.000000 73.333333 93.333333 80.000000 93.333333 9.090909
Cnidaria 15 count 71.000000 71.000000 71.000000 71.000000 71.000000 71.000000
mean 63.990610 57.183099 72.300469 63.990610 70.985915 47.076398
std 21.139144 22.946784 16.757766 21.139144 18.191175 18.302851
min 0.000000 0.000000 3.333333 0.000000 3.333333 0.000000
25% 60.000000 53.333333 73.333333 60.000000 73.333333 45.454545
50% 63.333333 60.000000 73.333333 63.333333 73.333333 54.545455
75% 80.000000 73.333333 80.000000 80.000000 80.000000 57.575758
max 93.333333 86.666667 93.333333 93.333333 93.333333 63.636364
Cnidaria 17 count 71.000000 71.000000 71.000000 71.000000 71.000000 71.000000
mean 68.826291 63.990610 77.746479 68.826291 76.338028 59.368331
std 27.637670 30.360897 22.094851 27.637670 23.905601 23.290721
min 0.000000 0.000000 3.333333 0.000000 3.333333 0.000000
25% 60.000000 58.333333 73.333333 60.000000 73.333333 54.545455
50% 60.000000 60.000000 80.000000 60.000000 80.000000 72.727273
75% 96.666667 93.333333 96.666667 96.666667 96.666667 72.727273
max 100.000000 100.000000 100.000000 100.000000 100.000000 84.848485
Cnidaria 21 count 71.000000 71.000000 71.000000 71.000000 71.000000 71.000000
mean 79.436620 76.150235 84.037559 79.436620 83.239437 65.685019
std 31.852766 36.334635 26.773094 31.852766 28.058736 24.866294
min 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25% 66.666667 65.000000 76.666667 66.666667 76.666667 69.696970
50% 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
Cnidaria 21 extended count 71.000000 71.000000 71.000000 71.000000 71.000000 71.000000
mean 79.436620 76.150235 84.037559 79.436620 83.239437 65.685019
std 31.852766 36.334635 26.773094 31.852766 28.058736 24.866294
min 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25% 66.666667 65.000000 76.666667 66.666667 76.666667 69.696970
50% 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
Cnidaria 21 extended 2% count 71.000000 71.000000 71.000000 71.000000 71.000000 71.000000
mean 79.812207 76.525822 84.319249 79.812207 83.521127 65.642339
std 31.777437 35.739075 26.764074 31.777437 28.058258 24.867186
min 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25% 68.333333 65.000000 78.333333 68.333333 78.333333 69.696970
50% 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
Cnidaria 31 count 71.000000 71.000000 71.000000 71.000000 71.000000 71.000000
mean 86.009390 82.863850 88.262911 86.009390 87.934272 68.373880
std 28.594703 32.709863 25.247091 28.594703 25.993688 25.227457
min 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25% 90.000000 88.333333 93.333333 90.000000 93.333333 75.757576
50% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
75% 100.000000 100.000000 100.000000 100.000000 100.000000 80.303030
max 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
RepeatFree 21 count 71.000000 71.000000 71.000000 71.000000 71.000000 71.000000
mean 72.535211 67.183099 77.136150 72.535211 76.338028 65.428937
std 20.443222 25.302286 15.546099 20.443222 16.321715 25.680187
min 10.000000 0.000000 16.666667 10.000000 16.666667 0.000000
25% 68.333333 60.000000 73.333333 68.333333 71.666667 75.757576
50% 73.333333 66.666667 73.333333 73.333333 73.333333 75.757576
75% 90.000000 90.000000 90.000000 90.000000 90.000000 77.272727
max 96.666667 96.666667 96.666667 96.666667 96.666667 81.818182

In [492]:
mr = pd.get_option('display.max_rows')
pd.set_option('display.max_rows', len(stats)*8 + 2)

display(pd_data.groupby('statistics').describe())

pd.set_option('display.max_rows', mr)


family genus kingdom order phylum species
statistics
D_bray_curtis count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
D_chord count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 88.333333 86.666667 90.416667 88.333333 90.416667 65.909091
std 14.029447 16.426846 10.755213 14.029447 10.755213 26.155570
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 79.166667 75.833333 81.666667 79.166667 81.666667 69.696970
50% 93.333333 93.333333 93.333333 93.333333 93.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
D_euclid count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 64.166667 62.916667 79.583333 64.166667 77.083333 59.469697
std 9.215239 9.667077 6.283640 9.215239 7.440238 24.400862
min 60.000000 56.666667 73.333333 60.000000 66.666667 3.030303
25% 60.000000 60.000000 76.666667 60.000000 75.833333 59.848485
50% 60.000000 60.000000 76.666667 60.000000 76.666667 69.696970
75% 63.333333 60.000000 80.833333 63.333333 76.666667 71.212121
max 86.666667 86.666667 93.333333 86.666667 93.333333 75.757576
D_hamming count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 64.166667 62.916667 79.583333 64.166667 77.083333 59.469697
std 9.215239 9.667077 6.283640 9.215239 7.440238 24.400862
min 60.000000 56.666667 73.333333 60.000000 66.666667 3.030303
25% 60.000000 60.000000 76.666667 60.000000 75.833333 59.848485
50% 60.000000 60.000000 76.666667 60.000000 76.666667 69.696970
75% 63.333333 60.000000 80.833333 63.333333 76.666667 71.212121
max 86.666667 86.666667 93.333333 86.666667 93.333333 75.757576
D_hellinger count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 88.333333 86.666667 90.416667 88.333333 90.416667 65.909091
std 14.029447 16.426846 10.755213 14.029447 10.755213 26.155570
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 79.166667 75.833333 81.666667 79.166667 81.666667 69.696970
50% 93.333333 93.333333 93.333333 93.333333 93.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
D_jaccard count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
D_jaccard_sqrt count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
D_lance_williams count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
D_mean_manhattan count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
D_pattern_difference count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 12.083333 5.833333 15.000000 12.083333 15.000000 28.787879
std 17.268882 3.883216 21.966786 17.268882 21.966786 15.021084
min 3.333333 3.333333 3.333333 3.333333 3.333333 3.030303
25% 3.333333 3.333333 3.333333 3.333333 3.333333 28.787879
50% 3.333333 3.333333 3.333333 3.333333 3.333333 36.363636
75% 13.333333 7.500000 17.500000 13.333333 17.500000 36.363636
max 53.333333 13.333333 66.666667 53.333333 66.666667 39.393939
D_shaped_difference count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 30.416667 28.333333 32.916667 30.416667 32.916667 52.272727
std 22.917208 20.625150 26.453763 22.917208 26.453763 20.472575
min 10.000000 10.000000 10.000000 10.000000 10.000000 3.030303
25% 10.000000 10.000000 10.000000 10.000000 10.000000 54.545455
50% 25.000000 23.333333 25.000000 25.000000 25.000000 57.575758
75% 47.500000 43.333333 50.833333 47.500000 50.833333 59.848485
max 60.000000 56.666667 73.333333 60.000000 73.333333 66.666667
D_sized_difference count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 64.772727
std 13.325891 16.010909 9.667077 13.325891 9.667077 27.437573
min 63.333333 56.666667 76.666667 63.333333 76.666667 0.000000
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
D_squared_euclid count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 64.166667 62.916667 79.583333 64.166667 77.083333 59.469697
std 9.215239 9.667077 6.283640 9.215239 7.440238 24.400862
min 60.000000 56.666667 73.333333 60.000000 66.666667 3.030303
25% 60.000000 60.000000 76.666667 60.000000 75.833333 59.848485
50% 60.000000 60.000000 76.666667 60.000000 76.666667 69.696970
75% 63.333333 60.000000 80.833333 63.333333 76.666667 71.212121
max 86.666667 86.666667 93.333333 86.666667 93.333333 75.757576
D_vari count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
D_yuleq count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 9.583333 6.666667 30.833333 9.583333 25.000000 0.757576
std 18.295415 12.472191 24.928469 18.295415 25.758340 2.142748
min 0.000000 0.000000 13.333333 0.000000 10.000000 0.000000
25% 0.000000 0.000000 13.333333 0.000000 10.000000 0.000000
50% 0.000000 0.000000 20.000000 0.000000 11.666667 0.000000
75% 7.500000 5.833333 36.666667 7.500000 26.666667 0.000000
max 46.666667 30.000000 73.333333 46.666667 66.666667 6.060606
S_anderberg count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 68.750000 65.000000 78.750000 68.750000 78.750000 62.500000
std 10.828754 10.690450 6.651769 10.828754 6.651769 25.913078
min 60.000000 56.666667 73.333333 60.000000 73.333333 3.030303
25% 62.500000 59.166667 73.333333 62.500000 73.333333 56.818182
50% 66.666667 63.333333 78.333333 66.666667 78.333333 74.242424
75% 68.333333 64.166667 80.000000 68.333333 80.000000 78.787879
max 93.333333 90.000000 93.333333 93.333333 93.333333 78.787879
S_baroni_urbani_buser_I count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.666667 88.750000 94.583333 91.666667 94.166667 63.636364
std 14.584184 16.613009 8.717343 14.584184 9.215239 25.456607
min 60.000000 53.333333 76.666667 60.000000 76.666667 3.030303
25% 90.000000 84.166667 91.666667 90.000000 90.833333 64.393939
50% 100.000000 96.666667 100.000000 100.000000 100.000000 75.757576
75% 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_baroni_urbani_buser_II count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.666667 88.750000 94.583333 91.666667 94.166667 63.636364
std 14.584184 16.613009 8.717343 14.584184 9.215239 25.456607
min 60.000000 53.333333 76.666667 60.000000 76.666667 3.030303
25% 90.000000 84.166667 91.666667 90.000000 90.833333 64.393939
50% 100.000000 96.666667 100.000000 100.000000 100.000000 75.757576
75% 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_braun_banquet count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 94.166667 91.666667 97.083333 94.166667 97.083333 57.954545
std 7.715167 10.079053 3.303437 7.715167 3.303437 30.964109
min 80.000000 73.333333 93.333333 80.000000 93.333333 0.000000
25% 89.166667 85.833333 93.333333 89.166667 93.333333 46.212121
50% 98.333333 95.000000 98.333333 98.333333 98.333333 75.757576
75% 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
max 100.000000 100.000000 100.000000 100.000000 100.000000 84.848485
S_cole count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
std 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
min 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
25% 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
50% 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
75% 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
max 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
S_cosine count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 89.583333 83.750000 94.583333 89.583333 93.333333 42.803030
std 17.856349 32.778114 8.152807 17.856349 10.983393 18.640499
min 53.333333 6.666667 80.000000 53.333333 70.000000 0.000000
25% 90.000000 90.000000 93.333333 90.000000 93.333333 44.696970
50% 98.333333 98.333333 98.333333 98.333333 98.333333 45.454545
75% 100.000000 100.000000 100.000000 100.000000 100.000000 47.727273
max 100.000000 100.000000 100.000000 100.000000 100.000000 63.636364
S_dennis count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 73.750000 70.833333 86.250000 73.750000 84.583333 65.151515
std 14.522834 16.973368 10.755213 14.522834 11.118053 30.818133
min 53.333333 46.666667 66.666667 53.333333 66.666667 3.030303
25% 60.000000 55.833333 83.333333 60.000000 78.333333 66.666667
50% 80.000000 76.666667 90.000000 80.000000 86.666667 81.818182
75% 80.000000 80.000000 93.333333 80.000000 93.333333 81.818182
max 96.666667 96.666667 96.666667 96.666667 96.666667 81.818182
S_dice count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_dispersion count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 70.833333 68.333333 73.750000 70.833333 73.750000 65.909091
std 10.039604 11.547005 8.439796 10.039604 8.439796 26.405152
min 60.000000 56.666667 66.666667 60.000000 66.666667 3.030303
25% 65.833333 61.666667 70.000000 65.833333 70.000000 71.212121
50% 70.000000 68.333333 70.000000 70.000000 70.000000 77.272727
75% 70.833333 70.000000 74.166667 70.833333 74.166667 78.787879
max 93.333333 93.333333 93.333333 93.333333 93.333333 78.787879
S_driver_kroeber count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 80.833333 78.750000 85.833333 80.833333 85.833333 66.287879
std 18.322508 20.310096 12.567279 18.322508 12.567279 26.979545
min 60.000000 56.666667 73.333333 60.000000 73.333333 3.030303
25% 62.500000 59.166667 73.333333 62.500000 73.333333 70.454545
50% 85.000000 81.666667 86.666667 85.000000 86.666667 78.787879
75% 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_eyraud count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 81.666667 79.166667 86.666667 81.666667 86.666667 60.984848
std 20.079208 22.660363 14.253933 20.079208 14.253933 25.168330
min 60.000000 53.333333 73.333333 60.000000 73.333333 3.030303
25% 60.000000 58.333333 73.333333 60.000000 73.333333 60.606061
50% 86.666667 83.333333 86.666667 86.666667 86.666667 69.696970
75% 100.000000 100.000000 100.000000 100.000000 100.000000 71.969697
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_fager_mcgowan count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 72.916667 68.333333 84.166667 72.916667 81.250000 42.803030
std 7.440238 7.559289 10.196482 7.440238 9.748830 19.126779
min 56.666667 53.333333 63.333333 56.666667 60.000000 0.000000
25% 74.166667 67.500000 83.333333 74.166667 80.833333 37.878788
50% 76.666667 71.666667 90.000000 76.666667 86.666667 53.030303
75% 76.666667 73.333333 90.000000 76.666667 86.666667 54.545455
max 76.666667 73.333333 90.000000 76.666667 86.666667 54.545455
S_faith count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_forbes_I count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 79.583333 72.500000 84.583333 79.583333 84.583333 64.015152
std 19.955307 31.559971 14.022374 19.955307 14.022374 25.633135
min 53.333333 10.000000 66.666667 53.333333 66.666667 3.030303
25% 60.000000 58.333333 73.333333 60.000000 73.333333 65.151515
50% 85.000000 81.666667 85.000000 85.000000 85.000000 72.727273
75% 96.666667 96.666667 96.666667 96.666667 96.666667 75.000000
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_forbes_II count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 82.916667 76.250000 87.916667 82.916667 87.916667 56.439394
std 20.113764 32.241032 15.112016 20.113764 15.112016 22.960563
min 53.333333 10.000000 66.666667 53.333333 66.666667 3.030303
25% 69.166667 63.333333 72.500000 69.166667 72.500000 59.090909
50% 90.000000 90.000000 96.666667 90.000000 96.666667 60.606061
75% 100.000000 100.000000 100.000000 100.000000 100.000000 63.636364
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_fossum count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 74.583333 71.666667 80.416667 74.583333 80.416667 64.393939
std 17.268882 20.314980 11.330182 17.268882 11.330182 31.314295
min 53.333333 46.666667 66.666667 53.333333 66.666667 3.030303
25% 60.000000 55.833333 72.500000 60.000000 72.500000 55.303030
50% 75.000000 71.666667 80.000000 75.000000 80.000000 80.303030
75% 86.666667 86.666667 86.666667 86.666667 86.666667 84.848485
max 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
S_gilbert_wells count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 79.583333 72.500000 84.583333 79.583333 84.583333 64.015152
std 19.955307 31.559971 14.022374 19.955307 14.022374 25.633135
min 53.333333 10.000000 66.666667 53.333333 66.666667 3.030303
25% 60.000000 58.333333 73.333333 60.000000 73.333333 65.151515
50% 85.000000 81.666667 85.000000 85.000000 85.000000 72.727273
75% 96.666667 96.666667 96.666667 96.666667 96.666667 75.000000
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_goodman_kruskal count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 68.750000 65.000000 78.750000 68.750000 78.750000 62.500000
std 10.828754 10.690450 6.651769 10.828754 6.651769 25.913078
min 60.000000 56.666667 73.333333 60.000000 73.333333 3.030303
25% 62.500000 59.166667 73.333333 62.500000 73.333333 56.818182
50% 66.666667 63.333333 78.333333 66.666667 78.333333 74.242424
75% 68.333333 64.166667 80.000000 68.333333 80.000000 78.787879
max 93.333333 90.000000 93.333333 93.333333 93.333333 78.787879
S_gower count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 13.333333 12.500000 32.083333 13.333333 26.250000 5.303030
std 19.189944 16.879592 16.708281 19.189944 19.060264 2.142748
min 3.333333 3.333333 23.333333 3.333333 16.666667 0.000000
25% 3.333333 3.333333 26.666667 3.333333 20.000000 6.060606
50% 6.666667 6.666667 26.666667 6.666667 20.000000 6.060606
75% 10.833333 10.833333 26.666667 10.833333 20.000000 6.060606
max 60.000000 53.333333 73.333333 60.000000 73.333333 6.060606
S_gower_legendre count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_hamann count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_innerproduct count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 6.250000 6.250000 26.250000 6.250000 19.583333 6.060606
std 2.781743 2.781743 1.178511 2.781743 1.178511 0.000000
min 3.333333 3.333333 23.333333 3.333333 16.666667 6.060606
25% 3.333333 3.333333 26.666667 3.333333 20.000000 6.060606
50% 6.666667 6.666667 26.666667 6.666667 20.000000 6.060606
75% 7.500000 7.500000 26.666667 7.500000 20.000000 6.060606
max 10.000000 10.000000 26.666667 10.000000 20.000000 6.060606
S_intersection count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 5.000000 4.166667 30.833333 5.000000 21.250000 5.303030
std 10.389250 8.116219 14.665584 10.389250 18.511043 2.142748
min 0.000000 0.000000 20.000000 0.000000 13.333333 0.000000
25% 0.000000 0.000000 26.666667 0.000000 13.333333 6.060606
50% 0.000000 0.000000 26.666667 0.000000 13.333333 6.060606
75% 4.166667 4.166667 26.666667 4.166667 17.500000 6.060606
max 30.000000 23.333333 66.666667 30.000000 66.666667 6.060606
S_jaccard count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 4.583333 3.750000 17.083333 4.583333 14.583333 5.303030
std 10.379696 8.054871 23.124062 10.379696 22.603378 2.142748
min 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
25% 0.000000 0.000000 0.000000 0.000000 0.000000 6.060606
50% 0.000000 0.000000 11.666667 0.000000 8.333333 6.060606
75% 3.333333 3.333333 23.333333 3.333333 16.666667 6.060606
max 30.000000 23.333333 66.666667 30.000000 66.666667 6.060606
S_jaccard3w count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_johson count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 80.833333 78.750000 85.833333 80.833333 85.833333 66.287879
std 18.322508 20.310096 12.567279 18.322508 12.567279 26.979545
min 60.000000 56.666667 73.333333 60.000000 73.333333 3.030303
25% 62.500000 59.166667 73.333333 62.500000 73.333333 70.454545
50% 85.000000 81.666667 86.666667 85.000000 86.666667 78.787879
75% 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_kulczynski_I count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 61.666667 23.750000 73.333333 61.666667 73.333333 27.272727
std 7.766432 19.634558 3.563483 7.766432 3.563483 15.620449
min 53.333333 6.666667 66.666667 53.333333 66.666667 3.030303
25% 60.000000 6.666667 73.333333 60.000000 73.333333 23.484848
50% 60.000000 18.333333 73.333333 60.000000 73.333333 27.272727
75% 60.000000 36.666667 73.333333 60.000000 73.333333 30.303030
max 80.000000 53.333333 80.000000 80.000000 80.000000 54.545455
S_kulczynski_II count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 80.833333 78.750000 85.833333 80.833333 85.833333 66.287879
std 18.322508 20.310096 12.567279 18.322508 12.567279 26.979545
min 60.000000 56.666667 73.333333 60.000000 73.333333 3.030303
25% 62.500000 59.166667 73.333333 62.500000 73.333333 70.454545
50% 85.000000 81.666667 86.666667 85.000000 86.666667 78.787879
75% 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_mcconnaughey count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 80.833333 78.750000 85.833333 80.833333 85.833333 66.287879
std 18.322508 20.310096 12.567279 18.322508 12.567279 26.979545
min 60.000000 56.666667 73.333333 60.000000 73.333333 3.030303
25% 62.500000 59.166667 73.333333 62.500000 73.333333 70.454545
50% 85.000000 81.666667 86.666667 85.000000 86.666667 78.787879
75% 96.666667 96.666667 96.666667 96.666667 96.666667 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_michael count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 69.583333 67.083333 73.333333 69.583333 73.333333 68.560606
std 11.189210 12.902258 8.357109 11.189210 8.357109 32.994639
min 56.666667 50.000000 66.666667 56.666667 66.666667 3.030303
25% 62.500000 59.166667 70.000000 62.500000 70.000000 66.666667
50% 70.000000 68.333333 70.000000 70.000000 70.000000 86.363636
75% 70.833333 70.000000 73.333333 70.833333 73.333333 87.878788
max 93.333333 93.333333 93.333333 93.333333 93.333333 87.878788
S_mountford count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 92.500000 91.250000 94.583333 92.500000 94.583333 58.712121
std 13.656791 16.128207 9.247479 13.656791 9.247479 23.413171
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 92.500000 91.666667 93.333333 92.500000 93.333333 59.848485
50% 100.000000 100.000000 100.000000 100.000000 100.000000 65.151515
75% 100.000000 100.000000 100.000000 100.000000 100.000000 68.939394
max 100.000000 100.000000 100.000000 100.000000 100.000000 75.757576
S_nei_li count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_ochiai_I count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 88.333333 86.666667 90.416667 88.333333 90.416667 65.909091
std 14.029447 16.426846 10.755213 14.029447 10.755213 26.155570
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 79.166667 75.833333 81.666667 79.166667 81.666667 69.696970
50% 93.333333 93.333333 93.333333 93.333333 93.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_ochiai_II count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 87.083333 85.416667 89.583333 87.083333 89.583333 66.287879
std 15.268756 17.632717 12.141690 15.268756 12.141690 26.290015
min 63.333333 56.666667 70.000000 63.333333 70.000000 3.030303
25% 75.000000 71.666667 81.666667 75.000000 81.666667 71.969697
50% 93.333333 93.333333 93.333333 93.333333 93.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_otsuka count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 88.333333 86.666667 90.416667 88.333333 90.416667 65.909091
std 14.029447 16.426846 10.755213 14.029447 10.755213 26.155570
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 79.166667 75.833333 81.666667 79.166667 81.666667 69.696970
50% 93.333333 93.333333 93.333333 93.333333 93.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_pearson_I count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 33.333333 30.833333 47.083333 33.333333 47.083333 63.636364
std 24.234306 21.584092 27.512623 24.234306 27.512623 30.042167
min 6.666667 6.666667 20.000000 6.666667 20.000000 3.030303
25% 6.666667 6.666667 20.000000 6.666667 20.000000 62.121212
50% 38.333333 36.666667 46.666667 38.333333 46.666667 78.787879
75% 54.166667 50.000000 70.833333 54.166667 70.833333 81.818182
max 60.000000 53.333333 80.000000 60.000000 80.000000 81.818182
S_pearson_II count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 42.083333 37.916667 73.750000 42.083333 60.833333 65.530303
std 16.613009 18.077215 8.807915 16.613009 12.440334 26.612376
min 23.333333 16.666667 66.666667 23.333333 46.666667 3.030303
25% 23.333333 16.666667 69.166667 23.333333 46.666667 68.181818
50% 46.666667 46.666667 70.000000 46.666667 65.000000 78.787879
75% 52.500000 49.166667 76.666667 52.500000 68.333333 78.787879
max 63.333333 56.666667 93.333333 63.333333 76.666667 78.787879
S_pearson_III count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 72.500000 68.333333 78.750000 72.500000 78.750000 60.984848
std 11.373877 11.683661 8.152807 11.373877 8.152807 26.290015
min 60.000000 53.333333 70.000000 60.000000 70.000000 0.000000
25% 67.500000 62.500000 73.333333 67.500000 73.333333 56.818182
50% 73.333333 68.333333 78.333333 73.333333 78.333333 72.727273
75% 73.333333 70.000000 80.000000 73.333333 80.000000 73.484848
max 96.666667 93.333333 96.666667 96.666667 96.666667 81.818182
S_pearson_heron_I count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 71.250000 69.166667 75.833333 71.250000 75.833333 65.909091
std 10.828754 12.182475 7.292092 10.828754 7.292092 26.848553
min 60.000000 56.666667 70.000000 60.000000 70.000000 3.030303
25% 62.500000 59.166667 73.333333 62.500000 73.333333 68.181818
50% 73.333333 70.000000 73.333333 73.333333 73.333333 78.787879
75% 73.333333 73.333333 74.166667 73.333333 74.166667 78.787879
max 93.333333 93.333333 93.333333 93.333333 93.333333 81.818182
S_pearson_heron_II count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 79.583333 72.500000 84.583333 79.583333 84.583333 64.015152
std 19.955307 31.559971 14.022374 19.955307 14.022374 25.633135
min 53.333333 10.000000 66.666667 53.333333 66.666667 3.030303
25% 60.000000 58.333333 73.333333 60.000000 73.333333 65.151515
50% 85.000000 81.666667 85.000000 85.000000 85.000000 72.727273
75% 96.666667 96.666667 96.666667 96.666667 96.666667 75.000000
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_pierce count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 56.666667 56.666667 75.833333 56.666667 72.500000 35.984848
std 22.607767 22.607767 13.422322 22.607767 16.207974 11.616946
min 6.666667 6.666667 46.666667 6.666667 40.000000 9.090909
25% 52.500000 52.500000 72.500000 52.500000 65.833333 37.121212
50% 63.333333 63.333333 80.000000 63.333333 76.666667 40.909091
75% 66.666667 66.666667 83.333333 66.666667 83.333333 42.424242
max 83.333333 83.333333 90.000000 83.333333 90.000000 42.424242
S_roger_tanimoto count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_russell_rao count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_simpson count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 75.416667 68.750000 80.416667 75.416667 80.416667 56.439394
std 17.176719 28.560018 11.330182 17.176719 11.330182 22.960563
min 53.333333 10.000000 66.666667 53.333333 66.666667 3.030303
25% 59.166667 58.333333 72.500000 59.166667 72.500000 59.090909
50% 80.000000 76.666667 80.000000 80.000000 80.000000 60.606061
75% 86.666667 86.666667 86.666667 86.666667 86.666667 63.636364
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_sokal_michener count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_sokal_sneath_I count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_sokal_sneath_II count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_sokal_sneath_III count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 91.250000 89.166667 92.916667 91.250000 92.916667 65.151515
std 13.325891 16.010909 9.667077 13.325891 9.667077 26.417569
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 87.500000 85.833333 87.500000 87.500000 87.500000 68.181818
50% 98.333333 96.666667 98.333333 98.333333 98.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_sokal_sneath_IV count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 84.583333 82.083333 87.083333 84.583333 87.083333 64.772727
std 16.803014 19.512918 14.302569 16.803014 14.302569 27.003845
min 63.333333 56.666667 66.666667 63.333333 66.666667 3.030303
25% 71.666667 65.833333 75.833333 71.666667 75.833333 68.939394
50% 86.666667 85.000000 90.000000 86.666667 90.000000 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_sokal_sneath_IV2 count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 83.750000 81.250000 87.500000 83.750000 87.500000 65.151515
std 17.945022 20.620340 13.540064 17.945022 13.540064 27.296767
min 60.000000 53.333333 73.333333 60.000000 73.333333 3.030303
25% 70.833333 65.000000 73.333333 70.833333 73.333333 66.666667
50% 86.666667 85.000000 90.000000 86.666667 90.000000 78.787879
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_sokal_sneath_V count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 65.833333 13.333333 77.916667 65.833333 77.500000 0.000000
std 14.447497 15.118579 11.400014 14.447497 11.785113 0.000000
min 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
25% 53.333333 0.000000 69.166667 53.333333 66.666667 0.000000
50% 60.000000 6.666667 73.333333 60.000000 73.333333 0.000000
75% 76.666667 28.333333 88.333333 76.666667 88.333333 0.000000
max 86.666667 33.333333 93.333333 86.666667 93.333333 0.000000
S_sorgenfrei count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 88.333333 86.666667 90.416667 88.333333 90.416667 65.909091
std 14.029447 16.426846 10.755213 14.029447 10.755213 26.155570
min 63.333333 56.666667 76.666667 63.333333 76.666667 3.030303
25% 79.166667 75.833333 81.666667 79.166667 81.666667 69.696970
50% 93.333333 93.333333 93.333333 93.333333 93.333333 77.272727
75% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
max 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
S_tanimoto count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 53.333333 4.583333 66.666667 53.333333 66.666667 0.000000
std 0.000000 12.963624 0.000000 0.000000 0.000000 0.000000
min 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
25% 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
50% 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
75% 53.333333 0.000000 66.666667 53.333333 66.666667 0.000000
max 53.333333 36.666667 66.666667 53.333333 66.666667 0.000000
S_tarwid count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 79.583333 72.500000 84.583333 79.583333 84.583333 63.636364
std 19.955307 31.559971 14.022374 19.955307 14.022374 26.664699
min 53.333333 10.000000 66.666667 53.333333 66.666667 0.000000
25% 60.000000 58.333333 73.333333 60.000000 73.333333 65.151515
50% 85.000000 81.666667 85.000000 85.000000 85.000000 72.727273
75% 96.666667 96.666667 96.666667 96.666667 96.666667 75.000000
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_yuleq count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 79.583333 72.500000 84.583333 79.583333 84.583333 64.015152
std 19.955307 31.559971 14.022374 19.955307 14.022374 25.633135
min 53.333333 10.000000 66.666667 53.333333 66.666667 3.030303
25% 60.000000 58.333333 73.333333 60.000000 73.333333 65.151515
50% 85.000000 81.666667 85.000000 85.000000 85.000000 72.727273
75% 96.666667 96.666667 96.666667 96.666667 96.666667 75.000000
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182
S_yulew count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 79.583333 72.500000 84.583333 79.583333 84.583333 64.015152
std 19.955307 31.559971 14.022374 19.955307 14.022374 25.633135
min 53.333333 10.000000 66.666667 53.333333 66.666667 3.030303
25% 60.000000 58.333333 73.333333 60.000000 73.333333 65.151515
50% 85.000000 81.666667 85.000000 85.000000 85.000000 72.727273
75% 96.666667 96.666667 96.666667 96.666667 96.666667 75.000000
max 100.000000 100.000000 100.000000 100.000000 100.000000 81.818182

In [493]:
"""
return_type='dict', 
'D_bray_curtis', {'boxes': [], 
                  'fliers': [], 
                  'medians': [], 
                  'means': [], 
                  'whiskers': [], 
                  'caps': []
                 }
"""


"""
return_type='both',
OrderedDict(
    [
        (
        'D_bray_curtis', 
            Boxplot(
                ax=<matplotlib.axes._subplots.AxesSubplot object at 0x7f7c61d2e550>, 
                lines={
                    'boxes': [<matplotlib.lines.Line2D object at 0x7f7c5a3a9410>], 
                    'fliers': [<matplotlib.lines.Line2D object at 0x7f7c5a348690>], 
                    'medians': [<matplotlib.lines.Line2D object at 0x7f7c5a348050>], 
                    'means': [], 
                    'whiskers': [<matplotlib.lines.Line2D object at 0x7f7c5a3a9650>], 
                    'caps': [<matplotlib.lines.Line2D object at 0x7f7c5a3bb390>, ]
                }
            )
        ),
    ]
)
"""


"""
return_type='axes', 
OrderedDict(
    [
        (
            'D_bray_curtis', <matplotlib.axes._subplots.AxesSubplot object at 0x7f7c5a432250>
        )
    ]
)
"""

print




In [502]:
grouped1 = pd_data.groupby(['statistics'])

ca = pd.options.mode.chained_assignment
pd.options.mode.chained_assignment = None

v = grouped1.boxplot(figsize=(16, 300), return_type='both', layout=(len(stats),1))

for k,v in v.items():
    v.ax.set_ylim([0.0,101.0])

plt.show()

pd.options.mode.chained_assignment = ca



In [503]:
grouped2 = pd_data.groupby(['test_name'])

ca = pd.options.mode.chained_assignment
pd.options.mode.chained_assignment = None

v = grouped2.boxplot(figsize=(16, 300), return_type='both', layout=(len(stats),1))

for k,v in v.items():
    v.ax.set_ylim([0.0,101.0])

plt.show()

pd.options.mode.chained_assignment = ca



In [505]:
if False:
    grouped3 = pd_data.groupby(['test_name', 'statistics'])

    ca = pd.options.mode.chained_assignment
    pd.options.mode.chained_assignment = None

    v = grouped3.boxplot(figsize=(16, 300), return_type='both', layout=(len(stats),1))

    for k,v in v.items():
        v.ax.set_ylim([0.0,101.0])

    plt.show()

    pd.options.mode.chained_assignment = ca

In [507]:
for stat in stats:
    #print stat
    
    stat_data       = pd_data[ (pd_data['statistics'] == stat) ][ ['statistics']+avail_cls ]
    
    #print stat_data.index
    
    stat_data.index = dbs
    
    #display(stat_data)

    pl = stat_data.plot(    lw=3, 
                            colormap='gist_rainbow',
                            #'summer',
                            #'gist_stern', #'hot',#'gist_heat',#'coolwarm',
                            #'cool',#'binary',#'Spectral',#'Reds',
                            #'Purples',#'Greys',#'CMRmap',#'BuPu',
                            #'BrBG',#'Blues',#'Accent',#'winter',
                            #'gist_rainbow',#'Greens',#'cubehelix',#'jet', 
                            #marker='.', 
                            #markersize=10, 
                            title=stat, 
                            figsize=(17, 8), 
                            rot=90, 
                            ylim=(0.0,101.0),
                            #markerfacecolor='lightgrey',
                            #markeredgecolor=None
                       )
    #pl.set_axis_bgcolor('lightgrey')
    pl.set_xlabel("Method"  )
    pl.set_ylabel("Distance")



In [709]:
jaccard = pd_data[ (pd_data['statistics'] == 'D_jaccard') ][ avail_cls ]
jaccard.index = dbs
jaccard


Out[709]:
kingdom phylum order family genus species
Cnidaria 11 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
Cnidaria 15 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
Cnidaria 17 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
Cnidaria 21 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
Cnidaria 21 extended 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
Cnidaria 21 extended 2% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
Cnidaria 31 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
RepeatFree 21 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576

In [710]:
min_vals = pd_data.groupby('test_name')[ avail_cls ].min().reset_index()[ avail_cls ]
min_vals.index = dbs
min_vals


Out[710]:
kingdom phylum order family genus species
Cnidaria 11 23.333333 16.666667 3.333333 3.333333 0 0
Cnidaria 15 3.333333 3.333333 0.000000 0.000000 0 0
Cnidaria 17 3.333333 3.333333 0.000000 0.000000 0 0
Cnidaria 21 0.000000 0.000000 0.000000 0.000000 0 0
Cnidaria 21 extended 0.000000 0.000000 0.000000 0.000000 0 0
Cnidaria 21 extended 2% 0.000000 0.000000 0.000000 0.000000 0 0
Cnidaria 31 0.000000 0.000000 0.000000 0.000000 0 0
RepeatFree 21 16.666667 16.666667 10.000000 10.000000 0 0

In [711]:
max_vals = pd_data.groupby('test_name')[ avail_cls ].max().reset_index()[ avail_cls ]
max_vals.index = dbs
max_vals


Out[711]:
kingdom phylum order family genus species
Cnidaria 11 93.333333 93.333333 80.000000 80.000000 73.333333 9.090909
Cnidaria 15 93.333333 93.333333 93.333333 93.333333 86.666667 63.636364
Cnidaria 17 100.000000 100.000000 100.000000 100.000000 100.000000 84.848485
Cnidaria 21 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
Cnidaria 21 extended 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
Cnidaria 21 extended 2% 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
Cnidaria 31 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
RepeatFree 21 96.666667 96.666667 96.666667 96.666667 96.666667 81.818182

In [698]:
cs = cm.ScalarMappable(norm=None, cmap='gist_rainbow')
cs.set_clim(0, len(dbs))

x = np.array(range(len(avail_cls)))

f, axarr = plt.subplots(len(dbs), sharex=True)

f.set_size_inches(17, 16)

for row_name in dbs:
    jac_row_index = list(jaccard.index).index(row_name)
    color         = cs.to_rgba(row_index)
    
    jac_row       = np.array(jaccard[  jac_row_index:jac_row_index+1 ].reset_index()[ avail_cls ])[0]
    jac_min_row   = np.array(min_vals[ jac_row_index:jac_row_index+1 ].reset_index()[ avail_cls ])[0]
    jac_max_row   = np.array(max_vals[ jac_row_index:jac_row_index+1 ].reset_index()[ avail_cls ])[0]
    
    rplt = axarr[jac_row_index]
    
    rplt.plot(x, jac_row, label=row_name, color=color, linewidth=3)
    rplt.set_title(row_name)
    rplt.fill_between(x, jac_min_row, jac_max_row, color=color, alpha=0.3)
    rplt.set_ylim(0,101.0)
    rplt.yaxis.set_ticks([0,50,100])
    
    for item in ([  rplt.title,              
                    rplt.xaxis.label, 
                    rplt.yaxis.label] +
                    rplt.get_xticklabels() + 
                    rplt.get_yticklabels()):
        item.set_fontsize(15)
    
plt.xticks(x, avail_cls, rotation=45)

plt.show()



In [636]:
pl = jaccard.plot(  lw=0,
                    kind='bar',
                    colormap='gist_rainbow',
                    #'summer',
                    #'gist_stern', #'hot',#'gist_heat',#'coolwarm',
                    #'cool',#'binary',#'Spectral',#'Reds',
                    #'Purples',#'Greys',#'CMRmap',#'BuPu',
                    #'BrBG',#'Blues',#'Accent',#'winter',
                    #'gist_rainbow',#'Greens',#'cubehelix',#'jet', 
                    #marker='.', 
                    #markersize=10, 
                    title='Jaccard', 
                    figsize=(17, 8), 
                    rot=90, 
                    ylim=(0.0,101.0),
                    #markerfacecolor='lightgrey',
                    #markeredgecolor=None
                )

pl = min_vals.plot( lw=0,
                    kind='bar',
                    colormap='gist_rainbow',
                    #'summer',
                    #'gist_stern', #'hot',#'gist_heat',#'coolwarm',
                    #'cool',#'binary',#'Spectral',#'Reds',
                    #'Purples',#'Greys',#'CMRmap',#'BuPu',
                    #'BrBG',#'Blues',#'Accent',#'winter',
                    #'gist_rainbow',#'Greens',#'cubehelix',#'jet', 
                    #marker='.', 
                    #markersize=10, 
                    title='Min', 
                    figsize=(17, 8), 
                    rot=90, 
                    ylim=(0.0,101.0),
                    #markerfacecolor='lightgrey',
                    #markeredgecolor=None
                )

pl = max_vals.plot( lw=0,
                    kind='bar',
                    colormap='gist_rainbow',
                    #'summer',
                    #'gist_stern', #'hot',#'gist_heat',#'coolwarm',
                    #'cool',#'binary',#'Spectral',#'Reds',
                    #'Purples',#'Greys',#'CMRmap',#'BuPu',
                    #'BrBG',#'Blues',#'Accent',#'winter',
                    #'gist_rainbow',#'Greens',#'cubehelix',#'jet', 
                    #marker='.', 
                    #markersize=10, 
                    title='Max', 
                    figsize=(17, 8), 
                    rot=90, 
                    ylim=(0.0,101.0),
                    #markerfacecolor='lightgrey',
                    #markeredgecolor=None
                )



In [637]:
res = pd.concat([jaccard, min_vals, max_vals], keys=['Jaccard', 'Min', 'Max'], join='inner', axis=0)
res


Out[637]:
kingdom phylum order family genus species
Jaccard Cnidaria 11 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303
Cnidaria 15 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455
Cnidaria 17 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273
Cnidaria 21 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
Cnidaria 21 extended 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
Cnidaria 21 extended 2% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
Cnidaria 31 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879
RepeatFree 21 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576
Min Cnidaria 11 23.333333 16.666667 3.333333 3.333333 0.000000 0.000000
Cnidaria 15 3.333333 3.333333 0.000000 0.000000 0.000000 0.000000
Cnidaria 17 3.333333 3.333333 0.000000 0.000000 0.000000 0.000000
Cnidaria 21 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
Cnidaria 21 extended 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
Cnidaria 21 extended 2% 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
Cnidaria 31 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
RepeatFree 21 16.666667 16.666667 10.000000 10.000000 0.000000 0.000000
Max Cnidaria 11 93.333333 93.333333 80.000000 80.000000 73.333333 9.090909
Cnidaria 15 93.333333 93.333333 93.333333 93.333333 86.666667 63.636364
Cnidaria 17 100.000000 100.000000 100.000000 100.000000 100.000000 84.848485
Cnidaria 21 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
Cnidaria 21 extended 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
Cnidaria 21 extended 2% 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
Cnidaria 31 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788
RepeatFree 21 96.666667 96.666667 96.666667 96.666667 96.666667 81.818182

In [516]:
res2 = res.copy()

lvl1 = res2.index.levels[0]
lvl2 = res2.index.levels[1]

val1 = ",".join([ ",".join([x]*len(lvl2)) for x in lvl1 ]).split(',')
val2 = ",".join([ ",".join([x]*len(lvl1)) for x in lvl2 ]).split(',')

res2['class'] = val1
res2['stats'] = val2

res2


Out[516]:
kingdom phylum order family genus species class stats
Jaccard Cnidaria 11 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303 Jaccard Cnidaria 11
Cnidaria 15 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455 Jaccard Cnidaria 11
Cnidaria 17 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273 Jaccard Cnidaria 11
Cnidaria 21 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879 Jaccard Cnidaria 15
Cnidaria 21 extended 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879 Jaccard Cnidaria 15
Cnidaria 21 extended 2% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879 Jaccard Cnidaria 15
Cnidaria 31 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879 Jaccard Cnidaria 17
RepeatFree 21 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576 Jaccard Cnidaria 17
Min Cnidaria 11 23.333333 16.666667 3.333333 3.333333 0.000000 0.000000 Min Cnidaria 17
Cnidaria 15 3.333333 3.333333 0.000000 0.000000 0.000000 0.000000 Min Cnidaria 21
Cnidaria 17 3.333333 3.333333 0.000000 0.000000 0.000000 0.000000 Min Cnidaria 21
Cnidaria 21 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Min Cnidaria 21
Cnidaria 21 extended 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Min Cnidaria 21 extended
Cnidaria 21 extended 2% 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Min Cnidaria 21 extended
Cnidaria 31 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Min Cnidaria 21 extended
RepeatFree 21 16.666667 16.666667 10.000000 10.000000 0.000000 0.000000 Min Cnidaria 21 extended 2%
Max Cnidaria 11 93.333333 93.333333 80.000000 80.000000 73.333333 9.090909 Max Cnidaria 21 extended 2%
Cnidaria 15 93.333333 93.333333 93.333333 93.333333 86.666667 63.636364 Max Cnidaria 21 extended 2%
Cnidaria 17 100.000000 100.000000 100.000000 100.000000 100.000000 84.848485 Max Cnidaria 31
Cnidaria 21 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788 Max Cnidaria 31
Cnidaria 21 extended 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788 Max Cnidaria 31
Cnidaria 21 extended 2% 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788 Max RepeatFree 21
Cnidaria 31 100.000000 100.000000 100.000000 100.000000 100.000000 87.878788 Max RepeatFree 21
RepeatFree 21 96.666667 96.666667 96.666667 96.666667 96.666667 81.818182 Max RepeatFree 21

In [517]:
fig, ax = plt.subplots(figsize=(17, 8), dpi=600)
plt.ylim(0.0,101.0)
res.boxplot()
fig2 = plt.plot(jaccard, '--', alpha=0.5, label=jaccard.index, linewidth=4.0)
plt.figlegend(ax2, jaccard.index, 'upper right')
plt.show()
plt.close()



In [ ]:
"""
pl = stat_data.plot(    lw=3, 
                        colormap='gist_rainbow',
                        #'summer',
                        #'gist_stern', #'hot',#'gist_heat',#'coolwarm',
                        #'cool',#'binary',#'Spectral',#'Reds',
                        #'Purples',#'Greys',#'CMRmap',#'BuPu',
                        #'BrBG',#'Blues',#'Accent',#'winter',
                        #'gist_rainbow',#'Greens',#'cubehelix',#'jet', 
                        #marker='.', 
                        #markersize=10, 
                        title=stat, 
                        figsize=(17, 8), 
                        rot=90, 
                        ylim=(0.0,1.0),
                        #markerfacecolor='lightgrey',
                        #markeredgecolor=None
                   )
pl.set_axis_bgcolor('lightgrey')
pl.set_xlabel("Method"  )
pl.set_ylabel("Distance")
"""

In [518]:
jaccard2 = jaccard
jaccard2['Name'] = jaccard.index
jaccard2


Out[518]:
kingdom phylum order family genus species Name
Cnidaria 11 76.666667 76.666667 63.333333 63.333333 56.666667 3.030303 Cnidaria 11
Cnidaria 15 80.000000 80.000000 80.000000 80.000000 73.333333 54.545455 Cnidaria 15
Cnidaria 17 96.666667 96.666667 96.666667 96.666667 93.333333 72.727273 Cnidaria 17
Cnidaria 21 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879 Cnidaria 21
Cnidaria 21 extended 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879 Cnidaria 21 extended
Cnidaria 21 extended 2% 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879 Cnidaria 21 extended 2%
Cnidaria 31 100.000000 100.000000 100.000000 100.000000 100.000000 78.787879 Cnidaria 31
RepeatFree 21 90.000000 90.000000 90.000000 90.000000 90.000000 75.757576 RepeatFree 21

In [519]:
plt.figure(figsize=(17, 8))
parallel_coordinates(jaccard2, 'Name')
plt.show()
plt.close()



In [520]:
plt.figure(figsize=(17, 8))
res['Name'] = res.index
parallel_coordinates(res, 'Name')
plt.show()
plt.close()



In [654]:
fig, ax   = plt.subplots()

fig.set_size_inches(17, 4)

jac_row_name  = 'Cnidaria 21'
jac_row_index = list(jaccard.index).index(row_name)

jac_row   = np.array(jaccard[  jac_row_index:jac_row_index+1 ].reset_index()[ avail_cls ])[0]
jac_row   = np.array(jaccard[  jac_row_index:jac_row_index+1 ].reset_index()[ avail_cls ])[0]

min_row   = np.array(min_vals[ jac_row_index:jac_row_index+1 ].reset_index()[ avail_cls ])[0]
max_row   = np.array(max_vals[ jac_row_index:jac_row_index+1 ].reset_index()[ avail_cls ])[0]

ax.bar(
        range(len(avail_cls)), 
        jac_row, 
        color    = 'grey', 
        yerr     = (jac_row-min_row,max_row-jac_row),
        error_kw = dict(ecolor='black', lw=4, capsize=6, capthick=4),
        align    = 'center'
        )

ax.set_title('Canidaria Jaccard 21')
ax.set_ylim(0,101.0)

for item in ([  ax.title,              
                ax.xaxis.label, 
                ax.yaxis.label]      +
                ax.get_xticklabels() + 
                ax.get_yticklabels()
            ):
    item.set_fontsize(15)

ax.title.set_fontsize(25)

plt.xticks(range(len(avail_cls)), avail_cls)#, rotation=45)

plt.show()
plt.close()



In [745]:
fig, ax   = plt.subplots()

fig.set_size_inches(14, 4)

cni_row_name  = 'Cnidaria 21'
cni_row_index = list(jaccard.index).index(cni_row_name)
cni_row       = np.array(jaccard[  cni_row_index:cni_row_index+1 ].reset_index()[ avail_cls ])[0]
cni_min_row   = np.array(min_vals[ cni_row_index:cni_row_index+1 ].reset_index()[ avail_cls ])[0]
cni_max_row   = np.array(max_vals[ cni_row_index:cni_row_index+1 ].reset_index()[ avail_cls ])[0]

ref_row_name  = 'RepeatFree 21'
ref_row_index = list(jaccard.index).index(ref_row_name)
ref_row       = np.array(jaccard[  ref_row_index:ref_row_index+1 ].reset_index()[ avail_cls ])[0]
ref_min_row   = np.array(min_vals[ ref_row_index:ref_row_index+1 ].reset_index()[ avail_cls ])[0]
ref_max_row   = np.array(max_vals[ ref_row_index:ref_row_index+1 ].reset_index()[ avail_cls ])[0]

bar_width = 0.35

r1 = ax.bar(
        [ x - (bar_width/2.0) for x in range(len(avail_cls)) ], 
        cni_row, 
        bar_width,
        label    = cni_row_name,
        color    = 'grey', 
        yerr     = (cni_row-cni_min_row,cni_max_row-cni_row),
        error_kw = dict(ecolor='black', lw=4, capsize=6, capthick=4),
        align    = 'center'
        )

r2 = ax.bar(
        [ x + (bar_width/2.0) for x in range(len(avail_cls)) ], 
        ref_row, 
        bar_width,
        label    = ref_row_name,
        color    = 'lightgrey', 
        yerr     = (ref_row-ref_min_row,ref_max_row-ref_row),
        error_kw = dict(ecolor='black', lw=4, capsize=6, capthick=4),
        align    = 'center'
        )

ax.set_title('Jaccard 21')
ax.set_ylim(0,101.0)


for item in ([  ax.title,              
                ax.xaxis.label, 
                ax.yaxis.label]      +
                ax.get_xticklabels() + 
                ax.get_yticklabels()
            ):
    item.set_fontsize(15)



ax.title.set_fontsize(25)

plt.xticks(range(len(avail_cls)), avail_cls)#, rotation=45)
plt.xlabel('Phylogenetic Level')
plt.ylabel('Precision')
plt.legend()
plt.tight_layout()

plt.show()

pp        = PdfPages('accuracy_jaccard_21.pdf')
pp.savefig(fig)
d = pp.infodict()
d['Title'       ] = 'Accuracy of Jaccard distance for 21-mers for both Cnidaria and RepeatFree'
d['Author'      ] = u'Aflitos SA'
d['Subject'     ] = 'Accuracy of Jaccard distance for 21-mers for both Cnidaria and RepeatFree'
d['Keywords'    ] = 'clustering k-mer reference-free'
d['CreationDate'] = datetime.datetime.today()
d['ModDate'     ] = datetime.datetime.today()
pp.close()

plt.close()



In [695]:
jacccard_bars = jaccard[  avail_cls ][ (jaccard.index == 'Cnidaria 21') |  (jaccard.index == 'RepeatFree 21') ].copy()
min_bars      = min_vals[ avail_cls ][ (jaccard.index == 'Cnidaria 21') |  (jaccard.index == 'RepeatFree 21') ].copy()
max_bars      = max_vals[ avail_cls ][ (jaccard.index == 'Cnidaria 21') |  (jaccard.index == 'RepeatFree 21') ].copy()

jacccard_bars.index = [ x + ' Jaccard' for x in min_bars.index ]
min_bars.index      = [ x + ' Min'     for x in min_bars.index ]
max_bars.index      = [ x + ' Max'     for x in max_bars.index ]

jbd = pd.concat([jacccard_bars, min_bars, max_bars])
jbd = jbd.sort_index(ascending=True)

print jbd

ax = jbd\
    .plot(
        kind='bar',
        lw=0,
        colormap='Greys',
        title='Jaccard', 
        figsize=(17, 8), 
        rot=360, 
        ylim=(0.0,101.0),
        edgecolor='black',
        grid=True
    )

    #'summer',
    #'gist_stern', #'hot',#'gist_heat',#'coolwarm',
    #'cool',#'binary',#'Spectral',#'Reds',
    #'Purples',#'Greys',#'CMRmap',#'BuPu',
    #'BrBG',#'Blues',#'Accent',#'winter',
    #'gist_rainbow',#'Greens',#'cubehelix',#'jet', 

plt.setp(ax.patches, linewidth=1)
print


                          kingdom      phylum       order      family  \
Cnidaria 21 Jaccard    100.000000  100.000000  100.000000  100.000000   
Cnidaria 21 Max        100.000000  100.000000  100.000000  100.000000   
Cnidaria 21 Min          0.000000    0.000000    0.000000    0.000000   
RepeatFree 21 Jaccard   90.000000   90.000000   90.000000   90.000000   
RepeatFree 21 Max       96.666667   96.666667   96.666667   96.666667   
RepeatFree 21 Min       16.666667   16.666667   10.000000   10.000000   

                            genus    species  
Cnidaria 21 Jaccard    100.000000  78.787879  
Cnidaria 21 Max        100.000000  87.878788  
Cnidaria 21 Min          0.000000   0.000000  
RepeatFree 21 Jaccard   90.000000  75.757576  
RepeatFree 21 Max       96.666667  81.818182  
RepeatFree 21 Min        0.000000   0.000000  


In [522]:
pd1 = pd_data.drop('statistics', 1)

plt.figure(figsize=(17, 8))

#test_name statistics
parallel_coordinates(pd1, 'test_name')

plt.show()
plt.close()



In [523]:
pd2 = pd_data.drop('test_name', 1)

plt.figure(figsize=(17, 8))

#test_name statistics
parallel_coordinates(pd2, 'statistics')

plt.show()
plt.close()



In [524]:
"""
147	Cnidaria 17	D_jaccard	96.666667	96.666667	96.666667	96.666667	93.333333	72.727273
163	Cnidaria 17	S_dennis	86.666667	80.000000	60.000000	60.000000	56.666667	81.818182
186	Cnidaria 17	S_michael	66.666667	66.666667	60.000000	60.000000	56.666667	84.848485


218	Cnidaria 21	D_jaccard	100.000000	100.000000	100.000000	100.000000	100.000000	78.787879
234	Cnidaria 21	S_dennis	93.333333	93.333333	80.000000	80.000000	80.000000	81.818182
243	Cnidaria 21	S_fossum	86.666667	86.666667	86.666667	86.666667	86.666667	84.848485
263	Cnidaria 21	S_pearson_I	20.000000	20.000000	6.666667	6.666667	6.666667	81.818182
"""

print




In [590]:
pd1 = pd_data.drop('test_name', 1)

for di, db in enumerate(stats):
    pd1.loc[ pd1['statistics'] == db, avail_cls ] += ((100.0*di)+1)

plt.figure(figsize=(17, 64))

pd1[""] = None

#test_name statistics
p = parallel_coordinates(pd1, 'statistics', colormap='gist_rainbow')
p.set_ylim(0, 100 * (len(stats)) + 1)

poses = range(0,len(stats)*100+50,50)
lbs   = ['0'] + (','.join(['50,100/0'] * (len(stats)-1))).split(',') + ['50','100']
plt.yticks(poses, lbs)

plt.show()
plt.close()



In [586]:
pd1 = pd_data.drop('statistics', 1)

for di, db in enumerate(dbs):
    pd1.loc[ pd1['test_name'] == db, avail_cls ] += ((100.0*di)+1)

plt.figure(figsize=(17, 16))

pd1[""] = None

#test_name statistics
p = parallel_coordinates(pd1, 'test_name', colormap='gist_rainbow')
p.set_ylim(0, 100 * (len(dbs)) + 1)

poses = range(0,len(dbs)*100+50,50)
lbs   = ['0'] + (','.join(['50,100/0'] * (len(dbs)-1))).split(',') + ['50','100']
plt.yticks(poses, lbs)

plt.show()
plt.close()