def test_edgelist_to_distance_matrix2(): edgelist = utils.read_edgelist_file(test_files + 'edgelist-pentax-pce.txt') matrix, names = utils.edgelist_to_distance_matrix(edgelist) expected = ['Pentax_OptioA40_0_30521.JPG', 'Pentax_OptioA40_0_30522.JPG', 'Pentax_OptioA40_0_30523.JPG', 'Pentax_OptioA40_0_30524.JPG', 'Pentax_OptioA40_0_30525.JPG'] assert all([n == e for n,e in zip(names,expected)]) assert matrix.shape == (5,5) expected = [0.0, 704.17228119005165, 433.30115575430841, 154.4174623739334, 658.55780052635578] assert all([n == e for n,e in zip(matrix[0,:],expected)]) expected = [704.17228119005165, 0.0, 476.46750462930402, 244.28991913458535, 585.63345061046823] assert all([n == e for n,e in zip(matrix[1,:],expected)])
def test_edgelist_to_distance_matrix2(): edgelist = utils.read_edgelist_file(test_files + 'edgelist-pentax-pce.txt') matrix, names = utils.edgelist_to_distance_matrix(edgelist) expected = [ 'Pentax_OptioA40_0_30521.JPG', 'Pentax_OptioA40_0_30522.JPG', 'Pentax_OptioA40_0_30523.JPG', 'Pentax_OptioA40_0_30524.JPG', 'Pentax_OptioA40_0_30525.JPG' ] assert all([n == e for n, e in zip(names, expected)]) assert matrix.shape == (5, 5) expected = [ 0.0, 704.17228119005165, 433.30115575430841, 154.4174623739334, 658.55780052635578 ] assert all([n == e for n, e in zip(matrix[0, :], expected)]) expected = [ 704.17228119005165, 0.0, 476.46750462930402, 244.28991913458535, 585.63345061046823 ] assert all([n == e for n, e in zip(matrix[1, :], expected)])
parser = argparse.ArgumentParser() mode = parser.add_mutually_exclusive_group(required=True) mode.add_argument("-e", "--edgelist", help="name of the edgelist file", metavar='edgelist') mode.add_argument("-m", "--matrix", help="name of distance matrix file", metavar='matrix') parser.add_argument("-n", "--names", help="filename storing a list of names for the items to be clustered, in case distance matrix is used", metavar='names') parser.add_argument("-c", "--convert", help="convert similarity to distance with specified a cut-off value", metavar='convert') parser.add_argument("clustering_algorithm", help="name of the clustering algorithm to use", choices=["hierarchical", "dbscan", "spectral", "agglomerative"], metavar='clustering_algorithm') return parser.parse_args() if __name__ == "__main__": args = parse_arguments() edgelist = None if args.edgelist: print("edgelist filename=" + args.edgelist) edgelist = utils.read_edgelist_file(args.edgelist) matrix = None if args.matrix: print("matrix filename=" + args.matrix) matrix = utils.read_distance_matrix_file(args.matrix) if args.convert: print("convert=" + args.convert) if args.edgelist: edgelist['d'] = utils.similarity_to_distance(edgelist['d'], float(args.convert)) if args.matrix: matrix = utils.similarity_to_distance(matrix, float(args.convert)) if args.names: print("names filenname=" + args.names)
def test_read_edgelist_file(): output = utils.read_edgelist_file(test_files + 'edgelist.txt') assert output.size == 3 assert output['n1'][0] == 'node002' assert output['n2'][0] == 'node001' assert output['d'][0] == 5.7
help="name of the clustering algorithm to use", choices=[ "hierarchical", "dbscan", "hdbscan", "spectral", "affinity", "largevis" ], metavar='clustering_algorithm') return parser.parse_args() if __name__ == "__main__": args = parse_arguments() edgelist = None if args.edgelist: print("edgelist filename=" + args.edgelist) edgelist = utils.read_edgelist_file(args.edgelist) matrix = None if args.matrix: print("matrix filename=" + args.matrix) matrix = utils.read_distance_matrix_file(args.matrix) if args.convert: print("convert=" + args.convert) if args.edgelist: edgelist['d'] = utils.similarity_to_distance( edgelist['d'], float(args.convert)) if args.matrix: matrix = utils.similarity_to_distance(matrix, float(args.convert)) if args.names: