... | ... |
@@ -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{ |