diff --git a/deconvolution/main/evaluate.py b/deconvolution/main/evaluate.py
index 77b95fff1142801026a4db67a50746dc7905cd61..3ee7be45bc7d636baa81fa0cd3c2e910450cb2d2 100755
--- a/deconvolution/main/evaluate.py
+++ b/deconvolution/main/evaluate.py
@@ -12,7 +12,7 @@ def parse_args():
     parser = argparse.ArgumentParser(description='Process a d2 graph (complete graph or path) to evaluate its quality.')
     parser.add_argument('filename', type=str,
                         help='The file to evalute')
-    parser.add_argument('--type', '-t', choices=["d2", "path", "d2-2annotate", "dgraphs"], default="path", required=True,
+    parser.add_argument('--type', '-t', choices=["d2", "path", "bg", "d2-2annotate", "dgraphs"], default="path", required=True,
                         help="Define the data type to evaluate. Must be 'd2' or 'path' or 'd2-2annotate' (Rayan's hack).")
     parser.add_argument('--light-print', '-l', action='store_true',
                         help='Print only wrong nodes and paths')
@@ -43,6 +43,20 @@ def save_graph(g, filename):
         print("Wrong file format. Require graphml or gefx format", file=sys.stderr)
         exit()
 
+def transform_bg(graph):
+    idx = 0
+    node_names = {}
+    nx.set_node_attributes(graph, 0, 'score')
+    nx.set_node_attributes(graph, "", 'barcode_edges')
+    for node in graph.nodes():
+        graph.nodes[node]['udg'] = f"[{node}][][]"
+        node_names[node] = str(idx)
+        idx += 1
+
+    graph = nx.relabel_nodes(graph, node_names)
+
+    return graph
+
 
 
 
@@ -655,7 +669,11 @@ def main():
     elif args.type == "dgraphs":
         udg_per_node = parse_udg_qualities(graph)
         # print(udg_per_node)
-    elif args.type == "d2":
+    elif args.type == "bg" or args.type == "d2":
+
+        if args.type == "bg":
+            graph = transform_bg(graph)
+
         components = list(nx.connected_components(graph))
         components.sort(key=lambda x: -len(x))