diff --git a/eval_mixed_model.py b/eval_mixed_model.py
index 0e170e5463ed71f6da725eb9c6fc9452cdac7026..22c8b7bc689d5c3f6a29296350e1212448646ee3 100644
--- a/eval_mixed_model.py
+++ b/eval_mixed_model.py
@@ -1,35 +1,55 @@
 # coding = utf-8
 import argparse
+import time
+
+import pandas as pd
+
 from lib.random import mixed_model_spat_sbm
 from lib.erosion_model import  eval_erosion_model
 from joblib import Parallel,delayed
+import networkx as nx
+import glob
+from tqdm import tqdm
+
+from lib.utils import load_edgelist
 
 parser = argparse.ArgumentParser()
-parser.add_argument("nb_nodes",type=int)
-parser.add_argument("nb_edges",type=int)
-parser.add_argument("nb_com",type=int)
-parser.add_argument("alpha",type=float)
-parser.add_argument("nb_iterations",type=int)
-parser.add_argument('-f', '--features', help='Feature(s) used in the model training', type=str)
+parser.add_argument("graph_dir")
+parser.add_argument("output_filename")
+parser.add_argument("-f", "--format", default="gml", choices=["gexf", "gml", "txt"])
+parser.add_argument("-t","--train-frac",default=0.9,type=float)
+parser.add_argument("-n","--nb-iteration",default=1,type=int)
 parser.add_argument("-v","--verbose",action="store_true")
-parser.add_argument("-t","--timeout",default=30,type=int)
 
-args= parser.parse_args()
 
-# COMMAND LINE ARGS VALUES
-GRAPH_NODE_NB = args.nb_nodes
-GRAPH_EDGE_NB = args.nb_edges
-ALPHA = args.alpha
-NB_COM = args.nb_com
-NB_ITERATION = args.nb_iterations
-VERBOSE = args.verbose
-FEATURES = set(args.features.split(","))
-TIMEOUT = 10#args.timeout
+args = parser.parse_args()
+fns = sorted(glob.glob(args.graph_dir + "/*." + args.format))
+
+NB_ITERATION = args.nb_iteration
 
+data = []
+def evaluate(fn):
+    if args.format == "txt":
+        G = load_edgelist(path=fn)
+    elif args.format == "gml":
+        G = nx.read_gml(fn)
+    else:
+        G = nx.read_gexf(fn)
+    G = nx.convert_node_labels_to_integers(G)
+    auc_sbm,auc_spat,auc_our_model = eval_erosion_model(G,NB_ITERATION)
+    nb_edges = G.size()
+    nb_nodes = len(G)
+    nb_com = G.graph["nb_com"]
+    alpha = G.graph["alpha"]
+    return [nb_nodes,nb_edges,nb_com,alpha,fn,auc_sbm,auc_spat,auc_our_model]
 
 
-G = mixed_model_spat_sbm(GRAPH_NODE_NB,GRAPH_EDGE_NB,NB_COM,alpha=ALPHA)
+deb = time.time()
+data = Parallel(n_jobs=4,backend="multiprocessing")(delayed(evaluate)(fn) for fn in tqdm(fns))
+#data =[evaluate(fn) for fn in tqdm(fns)]
+print("eval took",time.time()-deb)
 
-print(eval_erosion_model(G,NB_ITERATION))
+df = pd.DataFrame(data,columns="nb_nodes nb_edges nb_com alpha fn auc_sbm auc_spat auc_our_model".split())
+df.to_csv(args.output_filename,sep="\t")
 
 
diff --git a/lib/link_prediction_eval.py b/lib/link_prediction_eval.py
index 30a8abf1cabfa88df223ddaea7f9675c4ce80ec5..5535a9c2b8a94bd9e4e9316239c472a7b5db3420 100644
--- a/lib/link_prediction_eval.py
+++ b/lib/link_prediction_eval.py
@@ -15,8 +15,9 @@ def get_auc_heuristics(G,timeout=60):
     try:
         auc_spatial = nee.evaluate_baseline(method="spatial_link_prediction",timeout=timeout).test_scores.auroc()
         auc_sbm = nee.evaluate_baseline(method="stochastic_block_model",timeout=timeout).test_scores.auroc()
-    except:
+    except Exception as e:
         print("Could not compute AUC ! ")
+        print(e)
     return auc_sbm,auc_spatial
 
 
diff --git a/run_eval_mixed_model.sh b/run_eval_mixed_model.sh
deleted file mode 100755
index a927bb537b2714dce83db628167b76870e7dcb97..0000000000000000000000000000000000000000
--- a/run_eval_mixed_model.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-for nb_iteration in 2 3 4 5
-do
-  for feats in "it_probs" "it_probs,pos" "it_probs,centrality" "it_probs,centrality,pos"
-  do
-    for alpha in 0 0.2 0.5 0.7 1
-    do
-      for nbcom in 2 3 4 5
-      do
-        echo "alpha= "$alpha", nb_com= "$nbcom", conf= "$conf", nb_iteration= "$nb_iteration
-        python eval_mixed_model.py 100 200 $nbcom $alpha $nb_iteration -f $feats
-        python eval_mixed_model.py 300 600 $nbcom $alpha $nb_iteration -f $feats
-      done
-    done
-  done
-done
\ No newline at end of file