Browse code

Updated addEditedAlleles when no nucleotide changes found

Jean-Philippe Fortin authored on 18/04/2024 20:29:39
Showing 2 changed files

... ...
@@ -1,6 +1,6 @@
1 1
 Package: crisprDesign
2 2
 Title: Comprehensive design of CRISPR gRNAs for nucleases and base editors
3
-Version: 1.5.3
3
+Version: 1.5.4
4 4
 Authors@R: c(
5 5
     person("Jean-Philippe", "Fortin", email = "[email protected]", role = c("aut", "cre")),
6 6
     person("Luke", "Hoberecht", email = "[email protected]", role = c("aut"))
... ...
@@ -219,6 +219,34 @@ addEditedAlleles <- function(guideSet,
219 219
     nucsReduced <- nucsReduced[names(nucsReduced) %in% colnames(ws)]
220 220
     nNucs <- length(nucsReduced)
221 221
 
222
+
223
+    .emptyEditedAlleles <- function(){
224
+
225
+        editedAlleles <- data.frame(seq=NA_character_,
226
+                                    score=NA_real_)
227
+        editedAlleles <- DataFrame(editedAlleles)
228
+        metadata(editedAlleles)$wildtypeAllele <- seq
229
+        if (strand=="+"){
230
+            start <- pamSite + editingWindow[1]
231
+            end   <- pamSite + editingWindow[2]
232
+        } else {
233
+            start <- pamSite - editingWindow[2]
234
+            end   <- pamSite - editingWindow[1]
235
+        }
236
+        names(start) <- names(end) <- NULL
237
+        metadata(editedAlleles)$start <- start
238
+        metadata(editedAlleles)$end <- end
239
+        metadata(editedAlleles)$chr <- chr
240
+        metadata(editedAlleles)$strand <- strand
241
+        metadata(editedAlleles)$editingWindow <- editingWindow
242
+        rownames(editedAlleles) <- rep(names(gs), nrow(editedAlleles))
243
+        editedAlleles <- editedAlleles[-1,]
244
+        return(editedAlleles)
245
+    }
246
+    
247
+    if (nNucs==0){
248
+        return(.emptyEditedAlleles())
249
+    }
222 250
     if (nNucs>.SPLIT_CUTOFF){
223 251
         nSegments <- ceiling(nNucs/.SPLIT_CUTOFF)
224 252
         breaks <- seq(0,nNucs, .SPLIT_CUTOFF)
... ...
@@ -343,6 +371,9 @@ addEditedAlleles <- function(guideSet,
343 371
 
344 372
 
345 373
 
374
+
375
+
376
+
346 377
 # # Get the set of predicted edited alleles for each gRNA
347 378
 # #' @importFrom crisprBase editingStrand
348 379
 # .getEditedAllelesPerGuide_slow <- function(gs,