1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
   | require(tidyverse) require(circlize) f_cpdb_circlize <- function(lc_dir, lc_SOURCE = NULL, lc_TARGET = NULL, return_net = F, track.height=0.3){     mynet <- read.delim(file.path(lc_dir, "out","count_network.txt"), check.names = FALSE)     if(!is.null(lc_SOURCE)){         mynet <- dplyr::filter(mynet, SOURCE %in% lc_SOURCE)     }     if(!is.null(lc_TARGET)){         mynet <- dplyr::filter(mynet, TARGET %in% lc_TARGET)     }     chordDiagram(mynet, annotationTrack = c("grid", "axis"), preAllocateTracks = 1)     circos.trackPlotRegion(track.height=track.height, ylim = c(0, 1), panel.fun = function(x, y) {         xlim = get.cell.meta.data("xlim")         ylim = get.cell.meta.data("ylim")         sector.name = get.cell.meta.data("sector.index")         xplot = get.cell.meta.data("xplot")         circos.text(mean(xlim), 0.5, sector.name, facing = "clockwise", niceFacing = T, track.index = 3)     }, bg.border = NA)     circos.clear()     if(return_net){         return(mynet)     } }
 
  |