### ----------------------------------------------------------------- ### summary function for Axt ### Not Expotred! ### This implementation is too slow for large Axt. Should implment in C. setMethod("matchDistr", signature(x="Axt"), function(x){ matchFreq <- table(unlist(mapply(paste0, strsplit(as.character(targetSeqs(x)), ""), strsplit(as.character(querySeqs(x)), "")))) matchFreq <- matchFreq / sum(matchFreq) freqMatrix <- matrix(0, ncol=6, nrow=6) colnames(freqMatrix) <- c("A", "C", "G", "T", "-", "N") rownames(freqMatrix) <- c("A", "C", "G", "T", "-", "N") for(i in 1:length(matchFreq)){ splittedNames <- strsplit(names(matchFreq)[i], "")[[1]] freqMatrix[splittedNames[1], splittedNames[2]] <- matchFreq[i] } return(freqMatrix) } ) ### ----------------------------------------------------------------- ### summary function for Axt ### Exported! setMethod("mismatchSummary", signature(x="Axt"), function(x, ...){ compResults <- compDNAStringSet(x@targetSeqs, x@querySeqs) count <- sum(as.numeric(x@symCount)) - sum(sapply(compResults, sum)) probability <- count / sum(as.numeric(x@symCount)) return(c("Count"=count, "Probability"=probability)) } )