tests/testthat/test-initialize.R

test_that("Share data in ccLines and ccPoints",{
  sectors = c('a','a','a','a','b','b','b','b','c','c','c','c','d','d','d','d')
  x1 = c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)
  y1 = c(1,2,3,4,4,3,2,1,1,1,1,1,1,2,1,2)
  cc = ccPlot(initMode = "initialize", sectors = sectors, x = x1)
  cells = ccCells(sector.indexes = letters[1:4])
  cc_point = ccPoints()
  cells = cells + cc_point + ccLines()
  track1 = ccTrack(sectors = sectors, x=x1, y = y1,panel.fun = function(x,y){
    circos.points(x,y)
  })
  cell_single = ccCell(sector.index = letters[3]) + ccPoints(y=\(x,y){x-y})
  track1 = track1 + cells + cell_single
  show(cc  + track1)
  succeed()
})

test_that("Two standard tracks", {
  par1=ccPar("track.height" = 0.1)

  set.seed(999)
  n = 1000
  sectors = sample(letters[1:8], n, replace = TRUE)
  x1 = rnorm(n)
  y1 = runif(n)
  cc=ccPlot(initMode = "initialize", sectors = sectors, x = x1)

  track1 = ccTrack(sectors = sectors, y = y1)
  col = rep(c("#FF0000", "#00FF00"), 4)
  trackPoint1 = ccTrackPoints(sectors = sectors, x = x1, y = y1, col = col,
                              pch = 16, cex = 0.5)
  track1 = track1 + trackPoint1

  cells = ccCells(sector.indexes = letters[1:8])
  ind = sample(length(x1), 10)
  x2 = x1[ind]
  y2 = y1[ind]
  od = order(x2)
  cc_line = ccLines(x = x2[od], y = y2[od])
  cells = cells + cc_line

  track2 = ccTrack(sectors = sectors, y = y1)
  track2 = track2 + cells


  show(cc + par1 + track1 + track2)
  succeed()
})

test_that("Not show geom when track not select the sector", {
  sectors = c('a','a','a','a','b','b','b','b','c','c','c','c','d','d','d','d')
  x1 = c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)
  y1 = c(1,2,3,4,4,3,2,1,1,1,1,1,1,2,1,2)
  cc = ccPlot(initMode = "initialize", sectors = sectors, x = x1)
  cells = ccCells(sector.indexes = letters[1:4])
  cc_point = ccPoints()
  cells = cells + cc_point + ccLines()
  track1 = ccTrack(sectors = c('a','a','a','a'), x=c(1,2,3,4), y = c(1,2,3,4),panel.fun = function(x,y){
    circos.points(y,x)
  })
  cell1 = ccCell(sector.index = letters[3]) + ccPoints(y=\(x,y){x-y}) + ccPoints(x=c(2,3), y=c(2,3))
  track1 = track1 + cells + cell1
  show(cc  + track1)
  succeed()
})

Try the circlizePlus package in your browser

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

circlizePlus documentation built on June 8, 2025, 10:42 a.m.