add RF/FR with/without head test for pathmerge
diff --git a/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/BridgePath2/bridgepath2 b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/BridgePath2/bridgepath2
new file mode 100644
index 0000000..f2aeec7
--- /dev/null
+++ b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/BridgePath2/bridgepath2
@@ -0,0 +1,2 @@
+1	AATAGAACTT
+2	AATAGCCCTT
diff --git a/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/FR/FR b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/FR/FR
new file mode 100644
index 0000000..2891207
--- /dev/null
+++ b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/FR/FR
@@ -0,0 +1 @@
+1	ATAG
diff --git a/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/RF/RF b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/RF/RF
new file mode 100644
index 0000000..e7dbd0b
--- /dev/null
+++ b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/RF/RF
@@ -0,0 +1 @@
+1	TAGA
diff --git a/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/head_FR/head_FR b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/head_FR/head_FR
new file mode 100644
index 0000000..aa1c7a9
--- /dev/null
+++ b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/head_FR/head_FR
@@ -0,0 +1,2 @@
+1	AATAG
+2	CATAG
diff --git a/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/head_RF/head_RF b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/head_RF/head_RF
new file mode 100644
index 0000000..3c622d6
--- /dev/null
+++ b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/head_RF/head_RF
@@ -0,0 +1,2 @@
+1	ATAGA
+2	GTAGA
diff --git a/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/head_RF/head_RF~ b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/head_RF/head_RF~
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/head_RF/head_RF~
diff --git a/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/twohead_FR/TwoHead_FR b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/twohead_FR/TwoHead_FR
new file mode 100644
index 0000000..55c3609
--- /dev/null
+++ b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/twohead_FR/TwoHead_FR
@@ -0,0 +1,2 @@
+1	AATAGA
+2	CATAGG
diff --git a/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/twohead_RF/TwoHead_RF b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/twohead_RF/TwoHead_RF
new file mode 100644
index 0000000..0e4506f
--- /dev/null
+++ b/genomix/genomix-hadoop/data/webmap/PathMerge_TestSet/twohead_RF/TwoHead_RF
@@ -0,0 +1,2 @@
+1	ATAGAA
+2	GTAGAC
diff --git a/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/contrailgraphbuilding/GraphBuildingTestCase.java b/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/contrailgraphbuilding/GraphBuildingTestCase.java
index e1bb49a..5d60c6e 100644
--- a/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/contrailgraphbuilding/GraphBuildingTestCase.java
+++ b/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/contrailgraphbuilding/GraphBuildingTestCase.java
@@ -64,7 +64,7 @@
 //        Path src = new Path(RESULT_PATH);
 //        Path dest = new Path(RESULT_PATH);
 //        dfs.copyToLocalFile(src, dest);
-        HadoopMiniClusterTest.copyResultsToLocal(RESULT_PATH, RESULT_PATH + "/test.txt", false, conf, true, dfs);
-        GenerateGraphViz.convertGraphBuildingOutputToGraphViz(RESULT_PATH + "/test.txt.bindir", RESULT_PATH + "/graphviz");
+        HadoopMiniClusterTest.copyResultsToLocal(RESULT_PATH, RESULT_PATH + "/", false, conf, true, dfs);
+        GenerateGraphViz.convertGraphBuildingOutputToGraphViz(RESULT_PATH + "/bin", RESULT_PATH + "/graphviz");
     }
 }
diff --git a/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/contrailgraphbuilding/GraphBuildingTestSuite.java b/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/contrailgraphbuilding/GraphBuildingTestSuite.java
index 52be43a..83e2860 100644
--- a/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/contrailgraphbuilding/GraphBuildingTestSuite.java
+++ b/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/contrailgraphbuilding/GraphBuildingTestSuite.java
@@ -24,7 +24,13 @@
     private static int SIZE_KMER = 3;
     public static final String PreFix = "data/webmap/PathMerge_TestSet"; 
     public static final String[] TestDir = { PreFix + File.separator
-        + "head_7"};
+        + "BridgePath2"};
+//        + "FR", PreFix + File.separator
+//        + "RF", PreFix + File.separator
+//        + "head_FR", PreFix + File.separator
+//        + "head_RF", PreFix + File.separator
+//        + "twohead_FR", PreFix + File.separator
+//        + "twohead_RF"};
 //        + "2", PreFix + File.separator
 //        + "3", PreFix + File.separator
 //        + "4", PreFix + File.separator
diff --git a/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/pmcommon/HadoopMiniClusterTest.java b/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/pmcommon/HadoopMiniClusterTest.java
index 6db60f3..df4f889 100644
--- a/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/pmcommon/HadoopMiniClusterTest.java
+++ b/genomix/genomix-hadoop/src/test/java/edu/uci/ics/genomix/hadoop/pmcommon/HadoopMiniClusterTest.java
@@ -85,7 +85,7 @@
             // file is binary
             // save the entire binary output dir
             FileUtil.copy(FileSystem.get(conf), new Path(hdfsSrcDir), FileSystem.getLocal(new Configuration()),
-                    new Path(localDestFile + ".bindir"), false, conf);
+                    new Path(localDestFile + "bin"), false, conf); //bindir
             
             // chomp through output files
             FileStatus[] files = ArrayUtils.addAll(dfs.globStatus(new Path(hdfsSrcDir + "*")), dfs.globStatus(new Path(hdfsSrcDir + "*/*")));
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/..binmerge.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/..binmerge.crc
new file mode 100644
index 0000000..eb709bd
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/..binmerge.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/.binmerge b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/.binmerge
new file mode 100755
index 0000000..f7eefdf
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/.binmerge
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/bin/.part-00000.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/bin/.part-00000.crc
new file mode 100644
index 0000000..ed34868
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/bin/.part-00000.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/bin/part-00000 b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/bin/part-00000
new file mode 100755
index 0000000..1ccd2f5
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/bin/part-00000
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/data b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/data
new file mode 100644
index 0000000..efd4331
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/data
@@ -0,0 +1,2 @@
+ATA	{[]	[{CTA:[1]}]	[]	[]	{5':[(1-0_0)], ~5':[]}	1.0x}
+CTA	{[]	[{ATA:[1]}]	[]	[]	{5':[], ~5':[]}	1.0x}
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/graphviz/result.ps b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/graphviz/result.ps
new file mode 100644
index 0000000..f9fb5b5
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/FR/graphviz/result.ps
@@ -0,0 +1,329 @@
+%!PS-Adobe-3.0
+%%Creator: graphviz version 2.26.3 (20100126.1600)
+%%Title: G
+%%Pages: (atend)
+%%BoundingBox: (atend)
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+        dup dup findfont dup length dict begin
+        { 1 index /FID ne { def }{ pop pop } ifelse
+        } forall
+        /Encoding EncodingVector def
+        currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+       dup 1 exch div /InvScaleFactor exch def
+       scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color 
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage {	% i j npages
+	/npages exch def
+	/j exch def
+	/i exch def
+	/str 10 string def
+	npages 1 gt {
+		gsave
+			coordfont setfont
+			0 0 moveto
+			(\() show i str cvs show (,) show j str cvs show (\)) show
+		grestore
+	} if
+} bind def
+
+/set_font {
+	findfont exch
+	scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext {			% width text
+	/text exch def
+	/width exch def
+	gsave
+		width 0 gt {
+			[] 0 setdash
+			text stringwidth pop width exch sub text length div 0 text ashow
+		} if
+	grestore
+} def
+
+/boxprim {				% xcorner ycorner xsize ysize
+		4 2 roll
+		moveto
+		2 copy
+		exch 0 rlineto
+		0 exch rlineto
+		pop neg 0 rlineto
+		closepath
+} bind def
+
+/ellipse_path {
+	/ry exch def
+	/rx exch def
+	/y exch def
+	/x exch def
+	matrix currentmatrix
+	newpath
+	x y translate
+	rx ry scale
+	0 0 1 0 360 arc
+	setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+	[	% layer color sequence - darkest to lightest
+		[0 0 0]
+		[.2 .8 .8]
+		[.4 .8 .8]
+		[.6 .8 .8]
+		[.8 .8 .8]
+	]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+	layercolorseq curlayer 1 sub layerlen mod get
+	aload pop sethsbcolor
+	/nodecolor {nopcolor} def
+	/edgecolor {nopcolor} def
+	/graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+	/myupper exch def
+	/mylower exch def
+	curlayer mylower lt
+	curlayer myupper gt
+	or
+	{invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+    userdict (<<) cvn ([) cvn load put
+    userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 238 148
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 202 112 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+% ATA
+gsave
+0 0 0.75294 nodecolor
+newpath 0 0 moveto
+0 104 lineto
+56 104 lineto
+56 0 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 0 0 moveto
+0 104 lineto
+56 104 lineto
+56 0 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+14 87.4 moveto 28 (ATA) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 0 78 moveto
+56 78 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+9.5 61.4 moveto 37 (5':[1]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 0 52 moveto
+56 52 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+8 35.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 0 26 moveto
+56 26 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+16.5 9.4 moveto 23 (1.0) alignedtext
+grestore
+% CTA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 138 0 moveto
+138 104 lineto
+194 104 lineto
+194 0 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+152 87.4 moveto 28 (CTA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 138 78 moveto
+194 78 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+152 61.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 138 52 moveto
+194 52 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+146 35.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 138 26 moveto
+194 26 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+154.5 9.4 moveto 23 (1.0) alignedtext
+grestore
+% ATA->CTA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 56.26 52 moveto
+76.82 52 104.89 52 127.5 52 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 127.78 55.5 moveto
+137.78 52 lineto
+127.78 48.5 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 127.78 55.5 moveto
+137.78 52 lineto
+127.78 48.5 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 57.4 moveto 46 (FR: [1]) alignedtext
+grestore
+% CTA->ATA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 137.51 35.99 moveto
+131.87 33.51 125.87 31.33 120 30 curveto
+100.06 25.48 93.94 25.48 74 30 curveto
+71.34 30.6 68.65 31.38 65.99 32.28 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 64.53 29.09 moveto
+56.49 35.99 lineto
+67.08 35.61 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 64.53 29.09 moveto
+56.49 35.99 lineto
+67.08 35.61 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 35.4 moveto 46 (FR: [1]) alignedtext
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 238 148
+end
+restore
+%%EOF
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/..binmerge.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/..binmerge.crc
new file mode 100644
index 0000000..f615d7a
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/..binmerge.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/.binmerge b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/.binmerge
new file mode 100755
index 0000000..e996933
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/.binmerge
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/bin/.part-00000.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/bin/.part-00000.crc
new file mode 100644
index 0000000..c7abd4b
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/bin/.part-00000.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/bin/part-00000 b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/bin/part-00000
new file mode 100755
index 0000000..dae9aa0
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/bin/part-00000
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/data b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/data
new file mode 100644
index 0000000..dbffaeb
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/data
@@ -0,0 +1,2 @@
+AGA	{[]	[]	[{CTA:[1]}]	[]	{5':[], ~5':[]}	1.0x}
+CTA	{[]	[]	[{AGA:[1]}]	[]	{5':[], ~5':[(1-0_0)]}	1.0x}
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/graphviz/result.ps b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/graphviz/result.ps
new file mode 100644
index 0000000..a8adbf3
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/RF/graphviz/result.ps
@@ -0,0 +1,329 @@
+%!PS-Adobe-3.0
+%%Creator: graphviz version 2.26.3 (20100126.1600)
+%%Title: G
+%%Pages: (atend)
+%%BoundingBox: (atend)
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+        dup dup findfont dup length dict begin
+        { 1 index /FID ne { def }{ pop pop } ifelse
+        } forall
+        /Encoding EncodingVector def
+        currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+       dup 1 exch div /InvScaleFactor exch def
+       scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color 
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage {	% i j npages
+	/npages exch def
+	/j exch def
+	/i exch def
+	/str 10 string def
+	npages 1 gt {
+		gsave
+			coordfont setfont
+			0 0 moveto
+			(\() show i str cvs show (,) show j str cvs show (\)) show
+		grestore
+	} if
+} bind def
+
+/set_font {
+	findfont exch
+	scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext {			% width text
+	/text exch def
+	/width exch def
+	gsave
+		width 0 gt {
+			[] 0 setdash
+			text stringwidth pop width exch sub text length div 0 text ashow
+		} if
+	grestore
+} def
+
+/boxprim {				% xcorner ycorner xsize ysize
+		4 2 roll
+		moveto
+		2 copy
+		exch 0 rlineto
+		0 exch rlineto
+		pop neg 0 rlineto
+		closepath
+} bind def
+
+/ellipse_path {
+	/ry exch def
+	/rx exch def
+	/y exch def
+	/x exch def
+	matrix currentmatrix
+	newpath
+	x y translate
+	rx ry scale
+	0 0 1 0 360 arc
+	setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+	[	% layer color sequence - darkest to lightest
+		[0 0 0]
+		[.2 .8 .8]
+		[.4 .8 .8]
+		[.6 .8 .8]
+		[.8 .8 .8]
+	]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+	layercolorseq curlayer 1 sub layerlen mod get
+	aload pop sethsbcolor
+	/nodecolor {nopcolor} def
+	/edgecolor {nopcolor} def
+	/graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+	/myupper exch def
+	/mylower exch def
+	curlayer mylower lt
+	curlayer myupper gt
+	or
+	{invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+    userdict (<<) cvn ([) cvn load put
+    userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 248 148
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 212 112 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+% AGA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 0 moveto
+0 104 lineto
+56 104 lineto
+56 0 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+12.5 87.4 moveto 31 (AGA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 78 moveto
+56 78 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+14 61.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 52 moveto
+56 52 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+8 35.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 26 moveto
+56 26 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+16.5 9.4 moveto 23 (1.0) alignedtext
+grestore
+% CTA
+gsave
+0 0 0.75294 nodecolor
+newpath 138.5 0 moveto
+138.5 104 lineto
+203.5 104 lineto
+203.5 0 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 138.5 0 moveto
+138.5 104 lineto
+203.5 104 lineto
+203.5 0 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+157 87.4 moveto 28 (CTA) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 138.5 78 moveto
+203.5 78 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+157 61.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 138.5 52 moveto
+203.5 52 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+146.5 35.4 moveto 49 (~5':[1]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 138.5 26 moveto
+203.5 26 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+159.5 9.4 moveto 23 (1.0) alignedtext
+grestore
+% AGA->CTA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 56.25 52 moveto
+76.72 52 104.77 52 128.01 52 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 128.3 55.5 moveto
+138.3 52 lineto
+128.3 48.5 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 128.3 55.5 moveto
+138.3 52 lineto
+128.3 48.5 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 57.4 moveto 46 (RF: [1]) alignedtext
+grestore
+% CTA->AGA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 138.44 35.65 moveto
+132.45 33.31 126.14 31.27 120 30 curveto
+99.98 25.87 93.94 25.48 74 30 curveto
+71.34 30.6 68.65 31.38 65.99 32.28 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 64.53 29.09 moveto
+56.49 35.99 lineto
+67.08 35.61 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 64.53 29.09 moveto
+56.49 35.99 lineto
+67.08 35.61 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 35.4 moveto 46 (RF: [1]) alignedtext
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 248 148
+end
+restore
+%%EOF
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/..binmerge.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/..binmerge.crc
new file mode 100644
index 0000000..41b1639
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/..binmerge.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/.binmerge b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/.binmerge
new file mode 100755
index 0000000..147869b
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/.binmerge
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/bin/.part-00000.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/bin/.part-00000.crc
new file mode 100644
index 0000000..1cb49b3
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/bin/.part-00000.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/bin/part-00000 b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/bin/part-00000
new file mode 100755
index 0000000..41f98fa
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/bin/part-00000
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/data b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/data
new file mode 100644
index 0000000..7b94e8f
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/data
@@ -0,0 +1,4 @@
+ATA	{[]	[{CTA:[1,2]}]	[{ATG:[2]}]	[{AAT:[1]}]	{5':[], ~5':[]}	2.0x}
+CTA	{[]	[{ATA:[1,2]}]	[]	[]	{5':[], ~5':[]}	2.0x}
+ATG	{[]	[]	[{ATA:[2]}]	[]	{5':[], ~5':[(2-0_0)]}	1.0x}
+AAT	{[{ATA:[1]}]	[]	[]	[]	{5':[(1-0_0)], ~5':[]}	1.0x}
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/graphviz/result.ps b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/graphviz/result.ps
new file mode 100644
index 0000000..b6db264
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_FR/graphviz/result.ps
@@ -0,0 +1,510 @@
+%!PS-Adobe-3.0
+%%Creator: graphviz version 2.26.3 (20100126.1600)
+%%Title: G
+%%Pages: (atend)
+%%BoundingBox: (atend)
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+        dup dup findfont dup length dict begin
+        { 1 index /FID ne { def }{ pop pop } ifelse
+        } forall
+        /Encoding EncodingVector def
+        currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+       dup 1 exch div /InvScaleFactor exch def
+       scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color 
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage {	% i j npages
+	/npages exch def
+	/j exch def
+	/i exch def
+	/str 10 string def
+	npages 1 gt {
+		gsave
+			coordfont setfont
+			0 0 moveto
+			(\() show i str cvs show (,) show j str cvs show (\)) show
+		grestore
+	} if
+} bind def
+
+/set_font {
+	findfont exch
+	scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext {			% width text
+	/text exch def
+	/width exch def
+	gsave
+		width 0 gt {
+			[] 0 setdash
+			text stringwidth pop width exch sub text length div 0 text ashow
+		} if
+	grestore
+} def
+
+/boxprim {				% xcorner ycorner xsize ysize
+		4 2 roll
+		moveto
+		2 copy
+		exch 0 rlineto
+		0 exch rlineto
+		pop neg 0 rlineto
+		closepath
+} bind def
+
+/ellipse_path {
+	/ry exch def
+	/rx exch def
+	/y exch def
+	/x exch def
+	matrix currentmatrix
+	newpath
+	x y translate
+	rx ry scale
+	0 0 1 0 360 arc
+	setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+	[	% layer color sequence - darkest to lightest
+		[0 0 0]
+		[.2 .8 .8]
+		[.4 .8 .8]
+		[.6 .8 .8]
+		[.8 .8 .8]
+	]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+	layercolorseq curlayer 1 sub layerlen mod get
+	aload pop sethsbcolor
+	/nodecolor {nopcolor} def
+	/edgecolor {nopcolor} def
+	/graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+	/myupper exch def
+	/mylower exch def
+	curlayer mylower lt
+	curlayer myupper gt
+	or
+	{invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+    userdict (<<) cvn ([) cvn load put
+    userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 262 392
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 226 356 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+% ATA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 136 moveto
+0 240 lineto
+56 240 lineto
+56 136 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+14 223.4 moveto 28 (ATA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 214 moveto
+56 214 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+14 197.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 188 moveto
+56 188 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+8 171.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 162 moveto
+56 162 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+16.5 145.4 moveto 23 (2.0) alignedtext
+grestore
+% CTA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 157 244 moveto
+157 348 lineto
+213 348 lineto
+213 244 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+171 331.4 moveto 28 (CTA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 157 322 moveto
+213 322 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+171 305.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 157 296 moveto
+213 296 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+165 279.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 157 270 moveto
+213 270 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+173.5 253.4 moveto 23 (2.0) alignedtext
+grestore
+% ATA->CTA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 47.72 240.36 moveto
+54.43 252.29 63.08 263.84 74 272 curveto
+94.82 287.55 123.63 293.45 146.68 295.51 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 146.6 299.02 moveto
+156.82 296.21 lineto
+147.08 292.03 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 146.6 299.02 moveto
+156.82 296.21 lineto
+147.08 292.03 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 298.4 moveto 60 (FR: [1,2]) alignedtext
+grestore
+% ATG
+gsave
+0 0 0.75294 nodecolor
+newpath 152.5 122 moveto
+152.5 226 lineto
+217.5 226 lineto
+217.5 122 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 152.5 122 moveto
+152.5 226 lineto
+217.5 226 lineto
+217.5 122 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+170 209.4 moveto 30 (ATG) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 152.5 200 moveto
+217.5 200 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+171 183.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 152.5 174 moveto
+217.5 174 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+160.5 157.4 moveto 49 (~5':[2]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 152.5 148 moveto
+217.5 148 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+173.5 131.4 moveto 23 (1.0) alignedtext
+grestore
+% ATA->ATG
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 56.02 189.56 moveto
+77.47 190.31 107.72 190.42 134 187 curveto
+136.71 186.65 139.48 186.2 142.27 185.68 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 143.24 189.05 moveto
+152.3 183.57 lineto
+141.8 182.21 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 143.24 189.05 moveto
+152.3 183.57 lineto
+141.8 182.21 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+81 194.4 moveto 46 (RF: [2]) alignedtext
+grestore
+% AAT
+gsave
+0 0 0.75294 nodecolor
+newpath 157 0 moveto
+157 104 lineto
+213 104 lineto
+213 0 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 157 0 moveto
+157 104 lineto
+213 104 lineto
+213 0 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+170.5 87.4 moveto 29 (AAT) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 157 78 moveto
+213 78 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+166.5 61.4 moveto 37 (5':[1]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 157 52 moveto
+213 52 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+165 35.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 157 26 moveto
+213 26 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+173.5 9.4 moveto 23 (1.0) alignedtext
+grestore
+% ATA->AAT
+gsave
+1 setlinewidth
+0 1 1 edgecolor
+newpath 56.22 156.41 moveto
+61.94 150.45 68.03 144.4 74 139 curveto
+98.92 116.45 107.57 113.75 134 93 curveto
+138.75 89.27 143.73 85.32 148.63 81.4 curveto
+stroke
+0 1 1 edgecolor
+newpath 151.15 83.87 moveto
+156.77 74.89 lineto
+146.77 78.41 lineto
+closepath fill
+1 setlinewidth
+solid
+0 1 1 edgecolor
+newpath 151.15 83.87 moveto
+156.77 74.89 lineto
+146.77 78.41 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+80 144.4 moveto 48 (RR: [1]) alignedtext
+grestore
+% CTA->ATA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 156.75 268.65 moveto
+149.57 262.24 141.7 255.63 134 250 curveto
+112.27 234.1 86.17 218.8 65.32 207.37 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 66.89 204.25 moveto
+56.43 202.57 lineto
+63.56 210.4 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 66.89 204.25 moveto
+56.43 202.57 lineto
+63.56 210.4 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 255.4 moveto 60 (FR: [1,2]) alignedtext
+grestore
+% ATG->ATA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 152.05 166.03 moveto
+129.76 161.92 99.78 158.91 74 165 curveto
+71.32 165.63 68.62 166.45 65.95 167.39 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 64.37 164.25 moveto
+56.43 171.26 lineto
+67.01 170.73 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 64.37 164.25 moveto
+56.43 171.26 lineto
+67.01 170.73 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+81 170.4 moveto 46 (RF: [2]) alignedtext
+grestore
+% AAT->ATA
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 156.82 49.59 moveto
+132.32 49.02 97.21 52.12 74 71 curveto
+56.97 84.85 46.22 105.88 39.45 126.3 curveto
+stroke
+0 0 0 edgecolor
+newpath 36.08 125.34 moveto
+36.52 135.93 lineto
+42.78 127.38 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 36.08 125.34 moveto
+36.52 135.93 lineto
+42.78 127.38 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+81.5 76.4 moveto 45 (FF: [1]) alignedtext
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 262 392
+end
+restore
+%%EOF
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/..binmerge.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/..binmerge.crc
new file mode 100644
index 0000000..cf8405d
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/..binmerge.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/.binmerge b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/.binmerge
new file mode 100755
index 0000000..58ab875
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/.binmerge
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/bin/.part-00000.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/bin/.part-00000.crc
new file mode 100644
index 0000000..b1a723f
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/bin/.part-00000.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/bin/part-00000 b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/bin/part-00000
new file mode 100755
index 0000000..cc057f3
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/bin/part-00000
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/data b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/data
new file mode 100644
index 0000000..1de6348
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/data
@@ -0,0 +1,4 @@
+AGA	{[]	[]	[{CTA:[1,2]}]	[]	{5':[], ~5':[]}	2.0x}
+ATA	{[]	[{CTA:[1]}]	[]	[]	{5':[(1-0_0)], ~5':[]}	1.0x}
+CTA	{[]	[{GTA:[2]}, {ATA:[1]}]	[{AGA:[1,2]}]	[]	{5':[], ~5':[]}	2.0x}
+GTA	{[]	[{CTA:[2]}]	[]	[]	{5':[(2-0_0)], ~5':[]}	1.0x}
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/graphviz/result.ps b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/graphviz/result.ps
new file mode 100644
index 0000000..bfb33b7
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/head_RF/graphviz/result.ps
@@ -0,0 +1,508 @@
+%!PS-Adobe-3.0
+%%Creator: graphviz version 2.26.3 (20100126.1600)
+%%Title: G
+%%Pages: (atend)
+%%BoundingBox: (atend)
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+        dup dup findfont dup length dict begin
+        { 1 index /FID ne { def }{ pop pop } ifelse
+        } forall
+        /Encoding EncodingVector def
+        currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+       dup 1 exch div /InvScaleFactor exch def
+       scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color 
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage {	% i j npages
+	/npages exch def
+	/j exch def
+	/i exch def
+	/str 10 string def
+	npages 1 gt {
+		gsave
+			coordfont setfont
+			0 0 moveto
+			(\() show i str cvs show (,) show j str cvs show (\)) show
+		grestore
+	} if
+} bind def
+
+/set_font {
+	findfont exch
+	scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext {			% width text
+	/text exch def
+	/width exch def
+	gsave
+		width 0 gt {
+			[] 0 setdash
+			text stringwidth pop width exch sub text length div 0 text ashow
+		} if
+	grestore
+} def
+
+/boxprim {				% xcorner ycorner xsize ysize
+		4 2 roll
+		moveto
+		2 copy
+		exch 0 rlineto
+		0 exch rlineto
+		pop neg 0 rlineto
+		closepath
+} bind def
+
+/ellipse_path {
+	/ry exch def
+	/rx exch def
+	/y exch def
+	/x exch def
+	matrix currentmatrix
+	newpath
+	x y translate
+	rx ry scale
+	0 0 1 0 360 arc
+	setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+	[	% layer color sequence - darkest to lightest
+		[0 0 0]
+		[.2 .8 .8]
+		[.4 .8 .8]
+		[.6 .8 .8]
+		[.8 .8 .8]
+	]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+	layercolorseq curlayer 1 sub layerlen mod get
+	aload pop sethsbcolor
+	/nodecolor {nopcolor} def
+	/edgecolor {nopcolor} def
+	/graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+	/myupper exch def
+	/mylower exch def
+	curlayer mylower lt
+	curlayer myupper gt
+	or
+	{invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+    userdict (<<) cvn ([) cvn load put
+    userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 390 270
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 354 234 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+% AGA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 61 moveto
+0 165 lineto
+56 165 lineto
+56 61 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+12.5 148.4 moveto 31 (AGA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 139 moveto
+56 139 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+14 122.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 113 moveto
+56 113 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+8 96.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 87 moveto
+56 87 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+16.5 70.4 moveto 23 (2.0) alignedtext
+grestore
+% CTA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 152 61 moveto
+152 165 lineto
+208 165 lineto
+208 61 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+166 148.4 moveto 28 (CTA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 152 139 moveto
+208 139 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+166 122.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 152 113 moveto
+208 113 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+160 96.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 152 87 moveto
+208 87 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+168.5 70.4 moveto 23 (2.0) alignedtext
+grestore
+% AGA->CTA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 56.23 113 moveto
+80.34 113 115.22 113 141.81 113 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 141.92 116.5 moveto
+151.92 113 lineto
+141.92 109.5 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 141.92 116.5 moveto
+151.92 113 lineto
+141.92 109.5 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 118.4 moveto 60 (RF: [1,2]) alignedtext
+grestore
+% CTA->AGA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 151.51 96.99 moveto
+145.87 94.51 139.87 92.33 134 91 curveto
+107.99 85.1 100.01 85.1 74 91 curveto
+71.34 91.6 68.65 92.38 65.99 93.28 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 64.53 90.09 moveto
+56.49 96.99 lineto
+67.08 96.61 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 64.53 90.09 moveto
+56.49 96.99 lineto
+67.08 96.61 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 96.4 moveto 60 (RF: [1,2]) alignedtext
+grestore
+% ATA
+gsave
+0 0 0.75294 nodecolor
+newpath 290 122 moveto
+290 226 lineto
+346 226 lineto
+346 122 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 290 122 moveto
+290 226 lineto
+346 226 lineto
+346 122 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+304 209.4 moveto 28 (ATA) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 290 200 moveto
+346 200 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+299.5 183.4 moveto 37 (5':[1]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 290 174 moveto
+346 174 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+298 157.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 290 148 moveto
+346 148 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+306.5 131.4 moveto 23 (1.0) alignedtext
+grestore
+% CTA->ATA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 208.11 141.17 moveto
+213.7 145.64 219.77 149.84 226 153 curveto
+242.57 161.42 262.52 166.5 279.61 169.55 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 279.39 173.06 moveto
+289.81 171.2 lineto
+280.5 166.15 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 279.39 173.06 moveto
+289.81 171.2 lineto
+280.5 166.15 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+226 172.4 moveto 46 (FR: [1]) alignedtext
+grestore
+% GTA
+gsave
+0 0 0.75294 nodecolor
+newpath 290 0 moveto
+290 104 lineto
+346 104 lineto
+346 0 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 290 0 moveto
+290 104 lineto
+346 104 lineto
+346 0 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+303.5 87.4 moveto 29 (GTA) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 290 78 moveto
+346 78 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+299.5 61.4 moveto 37 (5':[2]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 290 52 moveto
+346 52 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+298 35.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 290 26 moveto
+346 26 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+306.5 9.4 moveto 23 (1.0) alignedtext
+grestore
+% CTA->GTA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 208.26 100.51 moveto
+229.1 91.3 257.66 78.67 280.42 68.61 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 282.05 71.72 moveto
+289.78 64.47 lineto
+279.22 65.32 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 282.05 71.72 moveto
+289.78 64.47 lineto
+279.22 65.32 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+226 97.4 moveto 46 (FR: [2]) alignedtext
+grestore
+% ATA->CTA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 289.78 146.6 moveto
+284.21 142.23 278.16 138.12 272 135 curveto
+255.38 126.58 235.42 121.3 218.35 118.03 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 218.6 114.53 moveto
+208.15 116.25 lineto
+217.39 121.42 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 218.6 114.53 moveto
+208.15 116.25 lineto
+217.39 121.42 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+226 140.4 moveto 46 (FR: [1]) alignedtext
+grestore
+% GTA->CTA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 289.95 45.73 moveto
+270.92 42.94 245.73 42.17 226 52 curveto
+222.36 53.81 218.94 56.06 215.73 58.62 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 213.19 56.21 moveto
+208.19 65.55 lineto
+217.92 61.36 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 213.19 56.21 moveto
+208.19 65.55 lineto
+217.92 61.36 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+226 57.4 moveto 46 (FR: [2]) alignedtext
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 390 270
+end
+restore
+%%EOF
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/..binmerge.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/..binmerge.crc
new file mode 100644
index 0000000..d9fd91b
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/..binmerge.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/.binmerge b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/.binmerge
new file mode 100755
index 0000000..fad1801
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/.binmerge
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/bin/.part-00000.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/bin/.part-00000.crc
new file mode 100644
index 0000000..f659cad
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/bin/.part-00000.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/bin/part-00000 b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/bin/part-00000
new file mode 100755
index 0000000..53fd046
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/bin/part-00000
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/data b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/data
new file mode 100644
index 0000000..be15e42
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/data
@@ -0,0 +1,6 @@
+AGA	{[]	[]	[{CTA:[1]}]	[]	{5':[], ~5':[]}	1.0x}
+ATA	{[]	[{CTA:[1,2]}]	[{ATG:[2]}]	[{AAT:[1]}]	{5':[], ~5':[]}	2.0x}
+CTA	{[]	[{ATA:[1,2]}]	[{AGG:[2]}, {AGA:[1]}]	[]	{5':[], ~5':[]}	2.0x}
+AGG	{[]	[]	[{CTA:[2]}]	[]	{5':[], ~5':[]}	1.0x}
+ATG	{[]	[]	[{ATA:[2]}]	[]	{5':[], ~5':[(2-0_0)]}	1.0x}
+AAT	{[{ATA:[1]}]	[]	[]	[]	{5':[(1-0_0)], ~5':[]}	1.0x}
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/graphviz/result.ps b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/graphviz/result.ps
new file mode 100644
index 0000000..c3bc947
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_FR/graphviz/result.ps
@@ -0,0 +1,678 @@
+%!PS-Adobe-3.0
+%%Creator: graphviz version 2.26.3 (20100126.1600)
+%%Title: G
+%%Pages: (atend)
+%%BoundingBox: (atend)
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+        dup dup findfont dup length dict begin
+        { 1 index /FID ne { def }{ pop pop } ifelse
+        } forall
+        /Encoding EncodingVector def
+        currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+       dup 1 exch div /InvScaleFactor exch def
+       scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color 
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage {	% i j npages
+	/npages exch def
+	/j exch def
+	/i exch def
+	/str 10 string def
+	npages 1 gt {
+		gsave
+			coordfont setfont
+			0 0 moveto
+			(\() show i str cvs show (,) show j str cvs show (\)) show
+		grestore
+	} if
+} bind def
+
+/set_font {
+	findfont exch
+	scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext {			% width text
+	/text exch def
+	/width exch def
+	gsave
+		width 0 gt {
+			[] 0 setdash
+			text stringwidth pop width exch sub text length div 0 text ashow
+		} if
+	grestore
+} def
+
+/boxprim {				% xcorner ycorner xsize ysize
+		4 2 roll
+		moveto
+		2 copy
+		exch 0 rlineto
+		0 exch rlineto
+		pop neg 0 rlineto
+		closepath
+} bind def
+
+/ellipse_path {
+	/ry exch def
+	/rx exch def
+	/y exch def
+	/x exch def
+	matrix currentmatrix
+	newpath
+	x y translate
+	rx ry scale
+	0 0 1 0 360 arc
+	setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+	[	% layer color sequence - darkest to lightest
+		[0 0 0]
+		[.2 .8 .8]
+		[.4 .8 .8]
+		[.6 .8 .8]
+		[.8 .8 .8]
+	]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+	layercolorseq curlayer 1 sub layerlen mod get
+	aload pop sethsbcolor
+	/nodecolor {nopcolor} def
+	/edgecolor {nopcolor} def
+	/graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+	/myupper exch def
+	/mylower exch def
+	curlayer mylower lt
+	curlayer myupper gt
+	or
+	{invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+    userdict (<<) cvn ([) cvn load put
+    userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 540 330
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 504 294 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+% AGA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 61 moveto
+0 165 lineto
+56 165 lineto
+56 61 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+12.5 148.4 moveto 31 (AGA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 139 moveto
+56 139 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+14 122.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 113 moveto
+56 113 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+8 96.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 87 moveto
+56 87 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+16.5 70.4 moveto 23 (1.0) alignedtext
+grestore
+% CTA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 138 61 moveto
+138 165 lineto
+194 165 lineto
+194 61 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+152 148.4 moveto 28 (CTA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 138 139 moveto
+194 139 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+152 122.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 138 113 moveto
+194 113 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+146 96.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 138 87 moveto
+194 87 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+154.5 70.4 moveto 23 (2.0) alignedtext
+grestore
+% AGA->CTA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 56.26 113 moveto
+76.82 113 104.89 113 127.5 113 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 127.78 116.5 moveto
+137.78 113 lineto
+127.78 109.5 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 127.78 116.5 moveto
+137.78 113 lineto
+127.78 109.5 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 118.4 moveto 46 (RF: [1]) alignedtext
+grestore
+% CTA->AGA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 137.51 96.99 moveto
+131.87 94.51 125.87 92.33 120 91 curveto
+100.06 86.48 93.94 86.48 74 91 curveto
+71.34 91.6 68.65 92.38 65.99 93.28 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 64.53 90.09 moveto
+56.49 96.99 lineto
+67.08 96.61 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 64.53 90.09 moveto
+56.49 96.99 lineto
+67.08 96.61 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 96.4 moveto 46 (RF: [1]) alignedtext
+grestore
+% ATA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 290 122 moveto
+290 226 lineto
+346 226 lineto
+346 122 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+304 209.4 moveto 28 (ATA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 290 200 moveto
+346 200 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+304 183.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 290 174 moveto
+346 174 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+298 157.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 290 148 moveto
+346 148 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+306.5 131.4 moveto 23 (2.0) alignedtext
+grestore
+% CTA->ATA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 194.04 141.32 moveto
+199.63 145.78 205.73 149.93 212 153 curveto
+233.04 163.31 258.78 168.56 279.63 171.23 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 279.4 174.73 moveto
+289.73 172.38 lineto
+280.19 167.77 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 279.4 174.73 moveto
+289.73 172.38 lineto
+280.19 167.77 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+212 174.4 moveto 60 (FR: [1,2]) alignedtext
+grestore
+% AGG
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 290 0 moveto
+290 104 lineto
+346 104 lineto
+346 0 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+301.5 87.4 moveto 33 (AGG) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 290 78 moveto
+346 78 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+304 61.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 290 52 moveto
+346 52 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+298 35.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 290 26 moveto
+346 26 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+306.5 9.4 moveto 23 (1.0) alignedtext
+grestore
+% CTA->AGG
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 194.39 101.88 moveto
+215.76 93.48 245.76 81.62 272 71 curveto
+274.7 69.91 277.49 68.77 280.3 67.62 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 281.89 70.76 moveto
+289.81 63.72 lineto
+279.23 64.28 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 281.89 70.76 moveto
+289.81 63.72 lineto
+279.23 64.28 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+219 98.4 moveto 46 (RF: [2]) alignedtext
+grestore
+% ATA->CTA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 289.86 146.45 moveto
+284.28 142.09 278.21 138.03 272 135 curveto
+250.9 124.71 225.16 119.22 204.33 116.3 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 204.59 112.81 moveto
+194.23 115.03 lineto
+203.72 119.75 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 204.59 112.81 moveto
+194.23 115.03 lineto
+203.72 119.75 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+212 140.4 moveto 60 (FR: [1,2]) alignedtext
+grestore
+% ATG
+gsave
+0 0 0.75294 nodecolor
+newpath 430.5 182 moveto
+430.5 286 lineto
+495.5 286 lineto
+495.5 182 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430.5 182 moveto
+430.5 286 lineto
+495.5 286 lineto
+495.5 182 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+448 269.4 moveto 30 (ATG) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430.5 260 moveto
+495.5 260 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+449 243.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430.5 234 moveto
+495.5 234 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+438.5 217.4 moveto 49 (~5':[2]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430.5 208 moveto
+495.5 208 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+451.5 191.4 moveto 23 (1.0) alignedtext
+grestore
+% ATA->ATG
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 346.15 201.53 moveto
+351.73 205.89 357.8 209.96 364 213 curveto
+381.49 221.58 402.39 226.67 420.48 229.68 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 420.06 233.15 moveto
+430.47 231.18 lineto
+421.11 226.23 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 420.06 233.15 moveto
+430.47 231.18 lineto
+421.11 226.23 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+365 232.4 moveto 46 (RF: [2]) alignedtext
+grestore
+% AAT
+gsave
+0 0 0.75294 nodecolor
+newpath 435 60 moveto
+435 164 lineto
+491 164 lineto
+491 60 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 435 60 moveto
+435 164 lineto
+491 164 lineto
+491 60 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+448.5 147.4 moveto 29 (AAT) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 435 138 moveto
+491 138 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+444.5 121.4 moveto 37 (5':[1]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 435 112 moveto
+491 112 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+443 95.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 435 86 moveto
+491 86 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+451.5 69.4 moveto 23 (1.0) alignedtext
+grestore
+% ATA->AAT
+gsave
+1 setlinewidth
+0 1 1 edgecolor
+newpath 346.3 161.9 moveto
+368.86 152.25 400.64 138.66 425.34 128.1 curveto
+stroke
+0 1 1 edgecolor
+newpath 426.95 131.22 moveto
+434.77 124.07 lineto
+424.2 124.78 lineto
+closepath fill
+1 setlinewidth
+solid
+0 1 1 edgecolor
+newpath 426.95 131.22 moveto
+434.77 124.07 lineto
+424.2 124.78 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+364 158.4 moveto 48 (RR: [1]) alignedtext
+grestore
+% ATG->ATA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 430.43 202.4 moveto
+424.63 198.02 418.39 194.01 412 191 curveto
+394.69 182.86 373.89 178.6 356.26 176.38 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 356.62 172.9 moveto
+346.3 175.3 lineto
+355.87 179.86 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 356.62 172.9 moveto
+346.3 175.3 lineto
+355.87 179.86 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+365 196.4 moveto 46 (RF: [2]) alignedtext
+grestore
+% AAT->ATA
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 434.97 105.08 moveto
+414.24 101.48 385.91 99.87 364 111 curveto
+360.37 112.85 356.96 115.13 353.76 117.72 curveto
+stroke
+0 0 0 edgecolor
+newpath 351.18 115.33 moveto
+346.26 124.71 lineto
+355.96 120.45 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 351.18 115.33 moveto
+346.26 124.71 lineto
+355.96 120.45 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+365.5 116.4 moveto 45 (FF: [1]) alignedtext
+grestore
+% AGG->CTA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 289.81 44.12 moveto
+267.46 39.47 236.08 36.65 212 49 curveto
+208.23 50.93 204.7 53.33 201.41 56.06 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 199 53.52 moveto
+194.16 62.94 lineto
+203.82 58.6 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 199 53.52 moveto
+194.16 62.94 lineto
+203.82 58.6 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+219 54.4 moveto 46 (RF: [2]) alignedtext
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 540 330
+end
+restore
+%%EOF
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/..binmerge.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/..binmerge.crc
new file mode 100644
index 0000000..0878180
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/..binmerge.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/.binmerge b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/.binmerge
new file mode 100755
index 0000000..4a858dd
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/.binmerge
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/bin/.part-00000.crc b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/bin/.part-00000.crc
new file mode 100644
index 0000000..3973aee
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/bin/.part-00000.crc
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/bin/part-00000 b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/bin/part-00000
new file mode 100755
index 0000000..0c15b43
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/bin/part-00000
Binary files differ
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/data b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/data
new file mode 100644
index 0000000..0993bb0
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/data
@@ -0,0 +1,6 @@
+GAA	{[]	[]	[]	[{AGA:[1]}]	{5':[], ~5':[]}	1.0x}
+AGA	{[{GAA:[1]}, {GAC:[2]}]	[]	[{CTA:[1,2]}]	[]	{5':[], ~5':[]}	2.0x}
+ATA	{[]	[{CTA:[1]}]	[]	[]	{5':[(1-0_0)], ~5':[]}	1.0x}
+CTA	{[]	[{GTA:[2]}, {ATA:[1]}]	[{AGA:[1,2]}]	[]	{5':[], ~5':[]}	2.0x}
+GTA	{[]	[{CTA:[2]}]	[]	[]	{5':[(2-0_0)], ~5':[]}	1.0x}
+GAC	{[]	[]	[]	[{AGA:[2]}]	{5':[], ~5':[]}	1.0x}
diff --git a/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/graphviz/result.ps b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/graphviz/result.ps
new file mode 100644
index 0000000..9958dbd
--- /dev/null
+++ b/genomix/genomix-pregelix/data/TestSet/PathMerge/twohead_RF/graphviz/result.ps
@@ -0,0 +1,679 @@
+%!PS-Adobe-3.0
+%%Creator: graphviz version 2.26.3 (20100126.1600)
+%%Title: G
+%%Pages: (atend)
+%%BoundingBox: (atend)
+%%EndComments
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+        dup dup findfont dup length dict begin
+        { 1 index /FID ne { def }{ pop pop } ifelse
+        } forall
+        /Encoding EncodingVector def
+        currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+       dup 1 exch div /InvScaleFactor exch def
+       scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color 
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage {	% i j npages
+	/npages exch def
+	/j exch def
+	/i exch def
+	/str 10 string def
+	npages 1 gt {
+		gsave
+			coordfont setfont
+			0 0 moveto
+			(\() show i str cvs show (,) show j str cvs show (\)) show
+		grestore
+	} if
+} bind def
+
+/set_font {
+	findfont exch
+	scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext {			% width text
+	/text exch def
+	/width exch def
+	gsave
+		width 0 gt {
+			[] 0 setdash
+			text stringwidth pop width exch sub text length div 0 text ashow
+		} if
+	grestore
+} def
+
+/boxprim {				% xcorner ycorner xsize ysize
+		4 2 roll
+		moveto
+		2 copy
+		exch 0 rlineto
+		0 exch rlineto
+		pop neg 0 rlineto
+		closepath
+} bind def
+
+/ellipse_path {
+	/ry exch def
+	/rx exch def
+	/y exch def
+	/x exch def
+	matrix currentmatrix
+	newpath
+	x y translate
+	rx ry scale
+	0 0 1 0 360 arc
+	setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+	[	% layer color sequence - darkest to lightest
+		[0 0 0]
+		[.2 .8 .8]
+		[.4 .8 .8]
+		[.6 .8 .8]
+		[.8 .8 .8]
+	]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+	layercolorseq curlayer 1 sub layerlen mod get
+	aload pop sethsbcolor
+	/nodecolor {nopcolor} def
+	/edgecolor {nopcolor} def
+	/graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+	/myupper exch def
+	/mylower exch def
+	curlayer mylower lt
+	curlayer myupper gt
+	or
+	{invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
+%%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+    userdict (<<) cvn ([) cvn load put
+    userdict (>>) cvn ([) cvn load put
+} if
+
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 530 331
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 494 295 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+% GAA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 122 moveto
+0 226 lineto
+56 226 lineto
+56 122 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+12 209.4 moveto 32 (GAA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 200 moveto
+56 200 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+14 183.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 174 moveto
+56 174 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+8 157.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 0 148 moveto
+56 148 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+16.5 131.4 moveto 23 (1.0) alignedtext
+grestore
+% AGA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 140 122 moveto
+140 226 lineto
+196 226 lineto
+196 122 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+152.5 209.4 moveto 31 (AGA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 140 200 moveto
+196 200 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+154 183.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 140 174 moveto
+196 174 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+148 157.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 140 148 moveto
+196 148 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+156.5 131.4 moveto 23 (2.0) alignedtext
+grestore
+% GAA->AGA
+gsave
+1 setlinewidth
+0 1 1 edgecolor
+newpath 56.33 174 moveto
+77.39 174 106.37 174 129.53 174 curveto
+stroke
+0 1 1 edgecolor
+newpath 129.71 177.5 moveto
+139.71 174 lineto
+129.71 170.5 lineto
+closepath fill
+1 setlinewidth
+solid
+0 1 1 edgecolor
+newpath 129.71 177.5 moveto
+139.71 174 lineto
+129.71 170.5 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+74 179.4 moveto 48 (RR: [1]) alignedtext
+grestore
+% AGA->GAA
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 139.51 157.99 moveto
+133.87 155.51 127.87 153.33 122 152 curveto
+101.2 147.28 94.8 147.28 74 152 curveto
+71.34 152.6 68.65 153.38 65.99 154.28 curveto
+stroke
+0 0 0 edgecolor
+newpath 64.53 151.09 moveto
+56.49 157.99 lineto
+67.08 157.61 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 64.53 151.09 moveto
+56.49 157.99 lineto
+67.08 157.61 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+75.5 157.4 moveto 45 (FF: [1]) alignedtext
+grestore
+% GAC
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 292 183 moveto
+292 287 lineto
+348 287 lineto
+348 183 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+304.5 270.4 moveto 31 (GAC) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 292 261 moveto
+348 261 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+306 244.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 292 235 moveto
+348 235 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+300 218.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 292 209 moveto
+348 209 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+308.5 192.4 moveto 23 (1.0) alignedtext
+grestore
+% AGA->GAC
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 196.04 202.32 moveto
+201.63 206.78 207.73 210.93 214 214 curveto
+235.04 224.31 260.78 229.56 281.63 232.23 curveto
+stroke
+0 0 0 edgecolor
+newpath 281.4 235.73 moveto
+291.73 233.38 lineto
+282.19 228.77 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 281.4 235.73 moveto
+291.73 233.38 lineto
+282.19 228.77 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+221.5 235.4 moveto 45 (FF: [2]) alignedtext
+grestore
+% CTA
+gsave
+1 setlinewidth
+0 0 0 nodecolor
+newpath 292 61 moveto
+292 165 lineto
+348 165 lineto
+348 61 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+306 148.4 moveto 28 (CTA) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 292 139 moveto
+348 139 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+306 122.4 moveto 28 (5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 292 113 moveto
+348 113 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+300 96.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+0 0 0 nodecolor
+newpath 292 87 moveto
+348 87 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+308.5 70.4 moveto 23 (2.0) alignedtext
+grestore
+% AGA->CTA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 196.17 162.23 moveto
+202.05 159.81 208.22 157.3 214 155 curveto
+240.53 144.44 247.47 142.56 274 132 curveto
+276.71 130.92 279.5 129.8 282.31 128.66 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 283.89 131.79 moveto
+291.83 124.77 lineto
+281.25 125.31 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 283.89 131.79 moveto
+291.83 124.77 lineto
+281.25 125.31 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+214 160.4 moveto 60 (RF: [1,2]) alignedtext
+grestore
+% GAC->AGA
+gsave
+1 setlinewidth
+0 1 1 edgecolor
+newpath 291.77 203.96 moveto
+286.28 199.35 280.27 195.11 274 192 curveto
+253.11 181.65 227.37 177.12 206.49 175.18 curveto
+stroke
+0 1 1 edgecolor
+newpath 206.6 171.68 moveto
+196.37 174.41 lineto
+206.07 178.66 lineto
+closepath fill
+1 setlinewidth
+solid
+0 1 1 edgecolor
+newpath 206.6 171.68 moveto
+196.37 174.41 lineto
+206.07 178.66 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+220 197.4 moveto 48 (RR: [2]) alignedtext
+grestore
+% CTA->AGA
+gsave
+1 setlinewidth
+0.33333 1 1 edgecolor
+newpath 291.81 105.12 moveto
+269.46 100.47 238.08 97.65 214 110 curveto
+210.23 111.93 206.7 114.33 203.41 117.06 curveto
+stroke
+0.33333 1 1 edgecolor
+newpath 201 114.52 moveto
+196.16 123.94 lineto
+205.82 119.6 lineto
+closepath fill
+1 setlinewidth
+solid
+0.33333 1 1 edgecolor
+newpath 201 114.52 moveto
+196.16 123.94 lineto
+205.82 119.6 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+214 115.4 moveto 60 (RF: [1,2]) alignedtext
+grestore
+% ATA
+gsave
+0 0 0.75294 nodecolor
+newpath 430 122 moveto
+430 226 lineto
+486 226 lineto
+486 122 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430 122 moveto
+430 226 lineto
+486 226 lineto
+486 122 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+444 209.4 moveto 28 (ATA) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430 200 moveto
+486 200 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+439.5 183.4 moveto 37 (5':[1]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430 174 moveto
+486 174 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+438 157.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430 148 moveto
+486 148 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+446.5 131.4 moveto 23 (1.0) alignedtext
+grestore
+% CTA->ATA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 348.11 141.17 moveto
+353.7 145.64 359.77 149.84 366 153 curveto
+382.57 161.42 402.52 166.5 419.61 169.55 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 419.39 173.06 moveto
+429.81 171.2 lineto
+420.5 166.15 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 419.39 173.06 moveto
+429.81 171.2 lineto
+420.5 166.15 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+366 172.4 moveto 46 (FR: [1]) alignedtext
+grestore
+% GTA
+gsave
+0 0 0.75294 nodecolor
+newpath 430 0 moveto
+430 104 lineto
+486 104 lineto
+486 0 lineto
+closepath fill
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430 0 moveto
+430 104 lineto
+486 104 lineto
+486 0 lineto
+closepath stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+443.5 87.4 moveto 29 (GTA) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430 78 moveto
+486 78 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+439.5 61.4 moveto 37 (5':[2]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430 52 moveto
+486 52 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+438 35.4 moveto 40 (~5':[]) alignedtext
+1 setlinewidth
+filled
+0 0 0 nodecolor
+newpath 430 26 moveto
+486 26 lineto
+stroke
+0 0 0 nodecolor
+14 /Times-Roman set_font
+446.5 9.4 moveto 23 (1.0) alignedtext
+grestore
+% CTA->GTA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 348.26 100.51 moveto
+369.1 91.3 397.66 78.67 420.42 68.61 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 422.05 71.72 moveto
+429.78 64.47 lineto
+419.22 65.32 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 422.05 71.72 moveto
+429.78 64.47 lineto
+419.22 65.32 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+366 97.4 moveto 46 (FR: [2]) alignedtext
+grestore
+% ATA->CTA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 429.78 146.6 moveto
+424.21 142.23 418.16 138.12 412 135 curveto
+395.38 126.58 375.42 121.3 358.35 118.03 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 358.6 114.53 moveto
+348.15 116.25 lineto
+357.39 121.42 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 358.6 114.53 moveto
+348.15 116.25 lineto
+357.39 121.42 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+366 140.4 moveto 46 (FR: [1]) alignedtext
+grestore
+% GTA->CTA
+gsave
+1 setlinewidth
+0.66667 1 1 edgecolor
+newpath 429.95 45.73 moveto
+410.92 42.94 385.73 42.17 366 52 curveto
+362.36 53.81 358.94 56.06 355.73 58.62 curveto
+stroke
+0.66667 1 1 edgecolor
+newpath 353.19 56.21 moveto
+348.19 65.55 lineto
+357.92 61.36 lineto
+closepath fill
+1 setlinewidth
+solid
+0.66667 1 1 edgecolor
+newpath 353.19 56.21 moveto
+348.19 65.55 lineto
+357.92 61.36 lineto
+closepath stroke
+0 0 0 edgecolor
+14 /Times-Roman set_font
+366 57.4 moveto 46 (FR: [2]) alignedtext
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 530 331
+end
+restore
+%%EOF
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
index 86c3cf0..2ea5c8c 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
@@ -191,7 +191,6 @@
             setSuccessorAdjMsg(destVertexId);
             outgoingMsg.setFlag(outFlag);
             outgoingMsg.setFlip(ifFlipWithPredecessor(destVertexId));  
-            destVertexId.setAsCopy(kmerIterator.next());
             sendMsg(destVertexId, outgoingMsg);
         }
     }
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeTestSuite.java
index 4b0220f..0aa9599 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeTestSuite.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeTestSuite.java
@@ -6,8 +6,14 @@
 
     public static Test suite() throws Exception {
         String pattern ="PathMerge";
-        String testSet[] = {"2", "3", "4", "5", "6", "7", "8", "9", "head_6", "head_7"}; 
-//                {
+        String testSet[] = //{"2", "3", "4", "5", "6", "7", "8", "9", "head_6", "head_7"}; 
+                {
+                "FR",
+                "RF",
+                "head_FR",
+                "head_RF",
+                "twohead_FR",
+                "twohead_RF"
 //                "SimplePath",
 //                "ThreeDuplicate",
 //                "head_6"
@@ -15,7 +21,7 @@
 //                "CyclePath",
 //                "SelfPath"
 //                "TreePath"
-//                };
+                };
         init(pattern, testSet);
         BasicGraphCleanTestSuite testSuite = new BasicGraphCleanTestSuite();
         return makeTestSuite(testSuite);