| @@ -0,0 +1,159 @@ | |||
| #export LD_LIBRARY_PATH=.:/export/home/lambertn/Documents/gedlibpy/lib/fann/:/export/home/lambertn/Documents/gedlibpy/lib/libsvm.3.22:/export/home/lambertn/Documents/gedlibpy/lib/nomad | |||
| #Pour que "import script" trouve les librairies qu'a besoin GedLib | |||
| #Equivalent à définir la variable d'environnement LD_LIBRARY_PATH sur un bash | |||
| import librariesImport | |||
| import gedlibpy | |||
| import networkx as nx | |||
| def init() : | |||
| print("List of Edit Cost Options : ") | |||
| for i in gedlibpy.list_of_edit_cost_options : | |||
| print (i) | |||
| print("") | |||
| print("List of Method Options : ") | |||
| for j in gedlibpy.list_of_method_options : | |||
| print (j) | |||
| print("") | |||
| print("List of Init Options : ") | |||
| for k in gedlibpy.list_of_init_options : | |||
| print (k) | |||
| print("") | |||
| init() | |||
| def afficheMatrix(mat) : | |||
| for i in mat : | |||
| line = "" | |||
| for j in i : | |||
| line+=str(j) | |||
| line+=" " | |||
| print(line) | |||
| def createNxGraph() : | |||
| G = nx.Graph() | |||
| G.add_node("1", chem = "C") | |||
| G.add_node("2", chem = "0") | |||
| G.add_edge("1", "2", valence = "1") | |||
| G.add_node("3", chem = "N") | |||
| G.add_node("4", chem = "C") | |||
| G.add_edge("3", "4", valence = "1") | |||
| G.add_edge("3", "2", valence = "1") | |||
| return G | |||
| #G = createNxGraph() | |||
| def addGraphTest() : | |||
| gedlibpy.restart_env() | |||
| gedlibpy.load_GXL_graphs('include/gedlib-master/data/datasets/Mutagenicity/data/', 'collections/MUTA_10.xml') | |||
| currentID = gedlibpy.add_graph() | |||
| print(currentID) | |||
| gedlibpy.add_node(currentID, "_1", {"chem" : "C"}) | |||
| gedlibpy.add_node(currentID, "_2", {"chem" : "O"}) | |||
| gedlibpy.add_edge(currentID,"_1", "_2", {"valence": "1"} ) | |||
| listID = gedlibpy.get_all_graph_ids() | |||
| print(listID) | |||
| print(gedlibpy.get_graph_node_labels(10)) | |||
| print(gedlibpy.get_graph_edges(10)) | |||
| for i in listID : | |||
| print(gedlibpy.get_graph_node_labels(i)) | |||
| print(gedlibpy.get_graph_edges(i)) | |||
| #addGraphTest() | |||
| def shortTest() : | |||
| gedlibpy.restart_env() | |||
| print("Here is the mini Python function !") | |||
| gedlibpy.load_GXL_graphs("include/gedlib-master/data/datasets/Mutagenicity/data/", "include/gedlib-master/data/collections/Mutagenicity.xml") | |||
| listID = gedlibpy.get_all_graph_ids() | |||
| gedlibpy.set_edit_cost("CHEM_1") | |||
| gedlibpy.init() | |||
| gedlibpy.set_method("BIPARTITE", "") | |||
| gedlibpy.init_method() | |||
| g = listID[0] | |||
| h = listID[1] | |||
| gedlibpy.run_method(g,h) | |||
| print("Node Map : ", gedlibpy.get_node_map(g,h)) | |||
| print("Assignment Matrix : ") | |||
| afficheMatrix(gedlibpy.get_assignment_matrix(g,h)) | |||
| print ("Upper Bound = " + str(gedlibpy.get_upper_bound(g,h)) + ", Lower Bound = " + str(gedlibpy.get_lower_bound(g,h)) + ", Runtime = " + str(gedlibpy.get_runtime(g,h))) | |||
| #shortTest() | |||
| def classiqueTest() : | |||
| gedlibpy.restart_env() | |||
| gedlibpy.load_GXL_graphs('include/gedlib-master/data/datasets/Mutagenicity/data/', 'collections/MUTA_10.xml') | |||
| listID = gedlibpy.get_all_graph_ids() | |||
| afficheId = "" | |||
| for i in listID : | |||
| afficheId+=str(i) + " " | |||
| print("Number of graphs = " + str(len(listID)) + ", list of Ids = " + afficheId) | |||
| gedlibpy.set_edit_cost("CHEM_1") | |||
| gedlibpy.init() | |||
| gedlibpy.set_method("IPFP", "") | |||
| gedlibpy.init_method() | |||
| g = listID[0] | |||
| h = listID[0] | |||
| gedlibpy.run_method(g,h) | |||
| liste = gedlibpy.get_all_map(g,h) | |||
| print("Forward map : " , gedlibpy.get_forward_map(g,h), ", Backward map : ", gedlibpy.get_backward_map(g,h)) | |||
| print("Node Map : ", gedlibpy.get_node_map(g,h)) | |||
| print ("Upper Bound = " + str(gedlibpy.get_upper_bound(g,h)) + ", Lower Bound = " + str(gedlibpy.get_lower_bound(g,h)) + ", Runtime = " + str(gedlibpy.get_runtime(g,h))) | |||
| #classiqueTest() | |||
| def nxTest(dataset) : | |||
| gedlibpy.restart_env() | |||
| for graph in dataset : | |||
| gedlibpy.add_nx_graph(graph, "") | |||
| listID = gedlibpy.get_all_graph_ids() | |||
| gedlibpy.set_edit_cost("CHEM_1") | |||
| gedlibpy.init() | |||
| gedlibpy.set_method("IPFP", "") | |||
| gedlibpy.init_method() | |||
| print(listID) | |||
| g = listID[0] | |||
| h = listID[1] | |||
| gedlibpy.run_method(g,h) | |||
| print("Node Map : ", gedlibpy.get_node_map(g,h)) | |||
| print ("Upper Bound = " + str(gedlibpy.get_upper_bound(g,h)) + ", Lower Bound = " + str(gedlibpy.get_lower_bound(g,h)) + ", Runtime = " + str(gedlibpy.get_runtime(g,h))) | |||
| #dataset = [createNxGraph(), createNxGraph()] | |||
| #nxTest(dataset) | |||
| def LSAPETest(matrixCost) : | |||
| result = gedlibpy.hungarian_LSAPE(matrixCost) | |||
| print("Rho = ", result[0], " Varrho = ", result[1], " u = ", result[2], " v = ", result[3]) | |||
| #LSAPETest([[2,3,4], [5,1,9], [7,10,3]]) | |||
| def LSAPTest(matrixCost) : | |||
| result = gedlibpy.hungarian_LSAP(matrixCost) | |||
| print("Rho = ", result[0], " Varrho = ", result[1], " u = ", result[2], " v = ", result[3]) | |||
| #LSAPETest([[2,3,4], [5,1,9], [7,10,3]]) | |||