Browse code

add the support of self-alignment

Ge Tan authored on 24/11/2016 14:08:10
Showing 1 changed files

... ...
@@ -140,14 +140,29 @@ lastz <- function(assemblyTarget, assemblyQuery,
140 140
                         "-", gsub("|", "\\|", chrQuery, fixed=TRUE),
141 141
                         ".", sub("\\..*$", "", basename(assemblyQuery)),
142 142
                         ".", format))
143
-    cmd <- paste0(binary, " ", assemblyTarget, "/",
144
-                  gsub("|", "\\|", chrTarget, fixed=TRUE), " ",
145
-                  assemblyQuery, "/",
146
-                  gsub("|", "\\|", chrQuery, fixed=TRUE), " ",
147
-                  lastzOptions[[distance]],
148
-                  " --format=", format,
149
-                  " --output=", output,
150
-                  " --markend")
143
+    
144
+    if(identical(paste(assemblyTarget, chrTarget), 
145
+                 paste(assemblyQuery, chrQuery))){
146
+      ## Self-alignment
147
+      cmd <- paste0(binary, " ", assemblyTarget, "/",
148
+                    gsub("|", "\\|", chrTarget, fixed=TRUE), " ",
149
+                    "--self --nomirror",
150
+                    lastzOptions[[distance]],
151
+                    " --format=", format,
152
+                    " --output=", output,
153
+                    " --markend")
154
+    }else{
155
+      ## No self-alignment
156
+      cmd <- paste0(binary, " ", assemblyTarget, "/",
157
+                    gsub("|", "\\|", chrTarget, fixed=TRUE), " ",
158
+                    assemblyQuery, "/",
159
+                    gsub("|", "\\|", chrQuery, fixed=TRUE), " ",
160
+                    lastzOptions[[distance]],
161
+                    " --format=", format,
162
+                    " --output=", output,
163
+                    " --markend")
164
+    }
165
+    
151 166
     if(echoCommand){
152 167
       output <- cmd
153 168
     }else{