R/Make.Symmetric.R

Defines functions Make.Symmetric

Documented in Make.Symmetric

#' Make Features Symmetric by combining a dna string with its reverse complement
#' @author Carlus Deneke
Make.Symmetric <- function(Data){

  ColNames <- sapply(strsplit(colnames(Data),"_"), function(x) tail(x,1))

  Combo_raw <- cbind(ColNames,ColNames[Match.SymmetricPartners (ColNames)] )
  Combo <- apply(apply(Combo_raw,1,function(x) sort(x) ),2,function(y) paste(y,collapse="_") )
  Dups <- which(duplicated(Combo))
  Majoranas <- which(apply(Combo_raw, 1, function(x) x[1] == x[2]) )

  United <- Data + Data[,Match.SymmetricPartners (ColNames)]
  colnames(United) <- Combo
  United[,Majoranas] <- United[,Majoranas]/2
  United <- United[,-Dups]

  return(United)

}
crarlus/paprbag documentation built on May 14, 2019, 11:31 a.m.