#' buildReferenceLookup Function
#'
#' @param reference The file reference positons
#' @param seqA which columns to use for the first sequence
#' @param seqB which columns to use for the second sequence
#' @param remove.missing remove rows that are not conserved
#' @param collapse.alignment combines segments which can be combines once other alignments are removed
#' @keywords Takes a full .backbone input and produces a file with two sequences, sorted and all with +ve values and strand info
#' @export
#' @examples
#' buildReferenceLookup()
buildReferenceLookup <- function(reference, seqA = 1, seqB = 2, remove.missing = T, collapse.alignment = T, quiet = F){
test_setup <- F
if(test_setup == T){
load("~/bin/r_git/R/buildReferenceLookupData.Rda")
reference <- buildReferenceLookupData[["reference"]]
gff1 <- buildReferenceLookupData[["gff1"]]
gff2 <- buildReferenceLookupData[["gff2"]]
seqA <- buildReferenceLookupData[["seqA"]]
seqB <- buildReferenceLookupData[["seqB"]]
quiet <- F
time.it <- T
remove_missing <- T
i <- 0
collapse.alignment <- buildReferenceLookupData[["collapse.alignment"]]
test_setup <- T
}
refA <- reference[,(seqA*2 - 1):(seqA*2)]
refB <- reference[,(seqB*2 - 1):(seqB*2)]
colnames(refA) <- c("start.a", "end.a")
colnames(refB) <- c("start.b", "end.b")
refA <- refA%>%
mutate(strand.a = ifelse(start.a < 0, "-", "+"))%>%
mutate(start.a = abs(start.a))%>%
mutate(end.a = abs(end.a))
refB <- refB%>%
mutate(strand.b = ifelse(start.b < 0, "-", "+"))%>%
mutate(start.b = abs(start.b))%>%
mutate(end.b = abs(end.b))
ref <- refA%>%bind_cols(refB)
if(remove.missing == T){
ref <- ref%>%filter((start.a - end.a) != 0, (start.b - end.b) != 0)
}
ref <- ref%>%arrange(start.a)
if(collapse.alignment == T){
ref <- collapseAlignment(ref = ref)
}
ref <- ref%>%mutate(diff = start.a - start.b)
return(ref)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.