R/getImat.R

"getImat" <-
function(x, pathlist, ms=10){
  gname1 <- rownames(x); gname2 <- names(pathlist)
  gname <- intersect(gname1, gname2)
  if (is.na(gname[1])) stop("The row (gene) names of the data matrix do not match the names in the 'pathlist' argument")
  gset <- unique(unlist(pathlist))
  pname <- gset[!is.na(gset)]
  imat <- matrix(0, nrow=length(gname), ncol=length(pname))

  for (i in 1:length(gname)){
    ind <- match(gname[i],gname2)
    if(!is.na(pathlist[[ind]][1])) imat[i,match(pathlist[[ind]], pname)] <- 1
  }
  dimnames(imat) <- list(gname, pname)
  imat <- imat[,colSums(imat)>=ms]
  return(imat)
}

Try the pcot2 package in your browser

Any scripts or data that you put into this service are public.

pcot2 documentation built on Nov. 8, 2020, 5:08 p.m.