diff --git a/deconvolution/main/d2_random_path_evaluation.py b/deconvolution/main/d2_random_path_evaluation.py
index e9783402f5b4b942a841a2bda7ac4555ee71c3e4..a105934ba31bfcf6d9f992ae69c8667e97229836 100755
--- a/deconvolution/main/d2_random_path_evaluation.py
+++ b/deconvolution/main/d2_random_path_evaluation.py
@@ -17,6 +17,10 @@ def parse_args():
     parser = argparse.ArgumentParser(description='Process some integers.')
     parser.add_argument('filename', type=str,
                         help='The file to evalute')
+    parser.add_argument('experiment', type=str,
+                        help='name of experiment (optional, for figure print)')
+    parser.add_argument('type', type=str,
+                        help='graph type (optional, for figure print)')
     args = parser.parse_args()
     return args
 
@@ -150,7 +154,9 @@ def evaluate_accuracy_paths(path_len,max_paths_per_node=5):
             else:
                 nb_bad_paths += 1
     nb_paths = nb_bad_paths + nb_good_paths
-    print("accuracy for l=%d (%d paths, %d nodes explored):" % (path_len, nb_paths, nb_paths*path_len),nb_good_paths / (nb_good_paths + nb_bad_paths))
+    acc = nb_good_paths / (nb_good_paths + nb_bad_paths)
+    #print("accuracy for l=%d (%d paths, %d nodes explored):" % (path_len, nb_paths, nb_paths*path_len),acc)
+    return acc
 
 # ---- sensitivity evaluation
 
@@ -207,7 +213,9 @@ def evaluate_sensitivity_paths(path_len,overlap_length=7000):
             nb_found += 1
         else:
             nb_not_found += 1
-    print("sensitivity for l=%d" % path_len, nb_found / (nb_not_found + nb_found))
+    sens = nb_found / (nb_not_found + nb_found)
+    #print("sensitivity for l=%d" % path_len, sens)
+    return sens
         
 
 from multiprocessing import Pool
@@ -217,13 +225,22 @@ def main():
     graph = load_graph(args.filename)
 
     p = Pool(12)
+    points = [2,4,10,25,50,75,100,150]
     #p.map(evaluate_accuracy_paths, [1,2,4,6,8,10,15,20,50,100,200,500])
-    p.map(evaluate_accuracy_paths, [2,4,10,100])
-    p.map(evaluate_sensitivity_paths, [2,4,10,100])
+    accs = p.map(evaluate_accuracy_paths, points)
+    sens = p.map(evaluate_sensitivity_paths, points)
     #evaluate_accuracy_paths(100)
     #evaluate_sensitivity_paths(1)
     #evaluate_sensitivity_paths(3)
     #evaluate_sensitivity_paths(10)
+    # latex print
+    #print(' & '.join("%0.2f & %0.2f" % (x,y) for (x,y) in list(zip(accs,sens))) + '\\' )
+    # figure print
+    if len(sys.argv) > 2:
+        experiment = sys.argv[2]
+        type = sys.argv[3]
+    for i,l in enumerate(points):
+        print(experiment,type,l,accs[i],sens[i])
     
     p.close()        
     p.join()
diff --git a/interval_graphs_acc_sens.sh b/interval_graphs_acc_sens.sh
new file mode 100644
index 0000000000000000000000000000000000000000..db399b4e78d33f17acd9a3cc8874f8bef705367f
--- /dev/null
+++ b/interval_graphs_acc_sens.sh
@@ -0,0 +1,19 @@
+for n in 5000 10000
+do
+    for d in 5
+    do
+        for m in 2 3
+        do
+            for dev in 0 1
+            do
+
+            echo "n=$n d=$d m=$m m_dev=$dev"
+
+            rm  -f snake_exec/simu_0_bar_n"$n"_d"$d"_m"$m"-dev0.gexf && 
+            snakemake -s Snakefile_data_simu  --config n=$n d=$d m=$m m_dev=$dev >/dev/null 2>&1
+            cd snake_exec && source CMD_acc_sens && cd .. 
+
+done
+done
+done
+done
diff --git a/snake_exec/CMD_acc_sens b/snake_exec/CMD_acc_sens
new file mode 100644
index 0000000000000000000000000000000000000000..d4c930dab032355fd40773a8e8282eb9e25f5d04
--- /dev/null
+++ b/snake_exec/CMD_acc_sens
@@ -0,0 +1,11 @@
+#!/bin/bash
+python3 ../deconvolution/main/to_d2_graph.py simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf >/dev/null 2>&1
+mv d2_graph.gexf simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf.d2_graph.gexf
+
+python ../deconvolution/main/d2_reduction.py  --output_d2_name simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf.d2_graph_reduced.gexf simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf.d2_graph.gexf  2>&1 >/dev/null
+
+
+echo "Gb $n $d $m $dev"
+python ../deconvolution/main/d2_random_path_evaluation.py simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf $n-$d-$dev Gb 
+echo "Lcp $n $d $m $dev"
+python ../deconvolution/main/d2_random_path_evaluation.py simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf.d2_graph_reduced.gexf $n-$d-$dev Lcp
diff --git a/snake_exec/CMD_table_evaluate b/snake_exec/CMD_table_evaluate
new file mode 100644
index 0000000000000000000000000000000000000000..ecadae1f4d256447545bf43ff5e50be8bc1eb1b5
--- /dev/null
+++ b/snake_exec/CMD_table_evaluate
@@ -0,0 +1,9 @@
+#!/bin/bash
+python3 ../deconvolution/main/to_d2_graph.py simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf
+mv d2_graph.gexf simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf.d2_graph.gexf
+
+python ../deconvolution/main/d2_reduction.py  --output_d2_name simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf.d2_graph_reduced.gexf simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf.d2_graph.gexf  
+
+python ../deconvolution/main/d2_to_path_simple.py simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf.d2_graph_reduced.gexf
+
+python ../deconvolution/main/evaluate.py --type path --barcode_graph simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf simu_0_bar_n"$n"_d"$d"_m"$m"-dev"$dev".gexf.d2_graph_reduced_path.gexf