NEWS
circlize 0.4.16 (2024-02-20)
- fixed a bug caused by comparing two floating numbers under "ring " mode.
- fixed a bug where 'direction.type' was wrongly used as a vector.
- 'chordDiagram()': if the input is a character matrix, convert it to a data frame.
- 'circos.heatmap()': add a new function 'circos.heatmap.get.x()' which calculates
the x-positions on sectors for original matrix rows.
- 'circos.initializeWithIdeogram()': add a new argument 'draw.chr.prefix'.
- add 'circos.stacked_text()'.
- 'posTransform.text()': the coordinates are now based on cell.xlim while not xlim.
- 'circos.rect()': support round rect.
circlize 0.4.15 (2022-05-10)
- low-level graphics functions won't change the index of sector and track.
- 'colorRamp2()': add 'hcl_palette' argument.
- 'highlight.sectors()': argument 'padding' supports to wrap the vector with 'I()'.
- fixed a bug of wrong calculation of label positions in 'circos.genomicLabels()'.
circlize 0.4.14 (2022-02-11)
- 'circos.genomicTrackPlotRegion()': add 'na.rm = TRUE' when using 'range()'.
- fixed a bug of 'na.col' in 'circos.heatmap()'.
- improved default order of link end when duplicated rows exist in the data frame.
- 'circos.heatmap()': add 'cell.border', 'cell.lty' and 'cell.lwd' arguments.
- add 'circos.initializeCircularGenome()'.
- 'chordDiagram()': 'link.sort' allows to sort links based on the original orders
in the input data frame.
- label facing is correct now for y-axis when circos.par$xaxis.clock.wise is FALSE.
- 'rand_color()': add a new argument 'friendly' that generate eye-friendly random colors.
- 'chordDiagram()': fixed a bug when a sector have all zero values and after scaling
they changed to NA.
circlize 0.4.13 (2021-06-09)
- 'circos.link()': add offset when testing whether the link is out of the sector.
circlize 0.4.12 (2021-01-08)
- 'smartAlign()': improved boxes overlapping
- 'circos.heatmap()': automatically convert the input to a matrix if
it is a data frame
- now validate the regions to check whether the regions are exceeding
the chromosomes.
- 'circos.link()': add a new 'inverse' argument to control whether the link
is inversed or not.
- 'circos.genomicLabels()': replace 'side' argument with 'labels.side'.
- 'circos.points()', 'circos.lines()', 'circos.text()' allow argument 'x' to be
a two-column matrix.
- add 'arrange_links_evenly()' function.
- add 'circos.connect()' function.
- 'circos.heatmap()': argument 'cluster' can be a clustering object.
- 'circos.heatmap()': add 'cell_width' to control the relative width of heatmap cells.
- add 'circos.labels()'.
- 'chordDiagram()': bars are drawn according to the visibility of links.
circlize 0.4.11 (2020-10-31)
- 'chordDiagram()': add 'link.auto' argument
- 'chordDiagram()': add 'link.target.prop' and 'target.prop.height' arguments
- 'circos.par()': add 'circle.margin' option
- 'circos.genomicLabels()': fixed a bug when 'direction = "outside"'
- add 'xaxis.clock.wise' option in 'circos.par()'
- 'chordDiagram()': now the scaling is properly applied.
- 'chordDiagram()': link positions are optimized so they have minimal intersections.
'link.auto' argument is ignored and removed.
- 'circos.dendrogram()': support arbitary numbers of branches on each node.
- all functions with 'factors' with arguments change to 'sectors'.
circlize 0.4.10 (2020-06-14)
- 'highlight.sector()': fixed a bug when circos.par("clock.wise" = FALSE)
- 'circos.genomicLink()': input data frames can have 2 columns. In this case
the start and the end positions of each region are the same.
- 'circos.circos.trackPlotRegion()': fixed a bug that sector index was wrongly
assigned.
- 'get.cell.meta.data()': add 'cell.width' and 'cell.height' arguments.
- 'circos.genomicTrackPlotRegion()': when input is a data frame list and column.index
is a vector, reduce the one-column data frame to a vector.
- add 'add.track.meta.data()' and 'add.sector.meta.data()' too add user-defined cell meta data.
- add 'circos.heatmap()' to draw multi-track heatmaps.
- add 'circos.barplot()', 'circos.boxplot()' and 'circos.violin()'.
- sector index are all enforced to be character.
- 'circos.nested()': now the graphic parameters are reordered accordingly as the 'correspondance'.
- add 'mm_x()', 'mm_y()', 'mm_h()', 'cm_x()', 'cm_y()', 'cm_h()', 'inches_x()', 'inches_y()', 'inches_h()'
functions
- 'circos.initialize():' if 'gap.degree'/'gap.after' is set a named vector, the order of
these two options are adjusted to the real sector order.
- add 'set_track_gap()' function.
- 'circos.link()': add 'reduce_to_mid_line' argument.
- 'chordDiagram()': add 'group' argument.
circlize 0.4.9 (2020-04-30)
- 'chordDiagram()': fixed a bug when 'link.overlap = TRUE' for sparse matrices.
- 'circos.rect()': add 'rot' argument.
- add 'circos.triangle()'.
- all examples are included in R source code files
- 'circos.genomicHeatmap()': 'connection_height' can be set to 'NULL' to remove the
connection lines.
- 'genomicDensity()'/'circos.genomicDensity()': add a new 'count_by' argument so that
the overlap can be calculated as how many regions overlap to the windows.
- 'circos.trackPlotRegion()': cells in all sectors are plotted if 'fa' does not provide complete
set of categories.
- 'circos.initialize()': give warnings if 'fa' is in numeric mode.
- 'circos.track()'/'circos.genomicTrack()': gives error when the panel function was specified without
explicitly by the name 'panel.fun'.
- 'chordDiagram()': if the input is a data frame, it allows the data frame to have two numeric columns
and the link ends are drawn wiht unequal width.
circlize 0.4.8 (2019-09-08)
- add 'validate_regions()' to check the end positions and start positions.
- 'colorRamp2()': fixed a bug when the color mapping function returns RGB matrix.
- 'circos.genomicHeatmap()': add 'na_col' argument.
- 'chordDiagram()': add 'link.overlap' argument.
circlize 0.4.7 (2019-08-21)
- fixed a bug that the vertical line was wrongly put for 'circos.yaxis()'.
- validate input if it is should be a data frame.
- 'colorRamp2()': add HLS colorspace
- add 'major.at' and 'labels' arguments to 'circos.genomicAxis()'.
- circos.initializeWithIdeogram(): manually select chromosomes for the common species
- 'chordDiagram()': fixed a bug that after reducing the matrix/data frame
by 'reduce', there might be sectors with zero width.
- optimized 'circos.nested()'
- 'colorRamp2()': check NA values
circlize 0.4.6 (2019-04-03)
- smartAlign(): the order of values won't affect the realignment now.
- 'circos.rect()', 'circos.segments()', 'circos.points()', 'circos.text()':
x and y are recycled if the length of the variable is 1.
- fixed a bug of the position of vertical line in 'circos.yaxis()'
- add 'facing' and 'niceFacing' to 'circos.genomicLabels()'
- 'posTransform.text()': linking lines will not be overlapping anymore.
circlize 0.4.5 (2018-11-21)
- vertical lines added for y-axis.
- add 'axis.labels.cex' and 'labels.cex' in 'circos.genomicInitialize()'.
- remove 'lwd' in 'circos.genomicRect()' because 'lwd' is not allowed to be vector.
- fixed a bug when self.link = 1 in chordDiagram()
- add 'scale' in chordDiagram()
- 'circos.initialize()': convert xlim and x to numeric
- 'colorRamp2()' is faster now.
- add 'circos.genomicAxis()'.
- add 'calc_gap()'.
- 'chordDiagram()': consider tibble format as input.
circlize 0.4.4 (2018-06-10)
- update denpendency of GlobalOptions package
- 'genomicDensity()': add 'chr.len' argument.
circlize 0.4.3 (2017-12-20)
- 'circos.trackHist()': add 'area' argument to add filled color under density lines.
- 'getColorInfo()': use 'ls(envir)' to get the names of variables in the environment.
- 'circos.arrows': add instructions of making reverse clockwise arrows.
circlize 0.4.2 (2017-11-18)
- add startup message
- add 'xmax' argument in 'chordDiagram()'
- first column is refactorized in 'circos.initialize()'
- add names for CELL_META
- add 'labels.pos.adjust' in 'circos.axis()'
- add 'fontsize()' function
- 'circos.nested()': check whether sector order in the two circular plots are consistent
- 'getQuadraticPoints()': add tiny offset when the curve is actually a straight line
circlize 0.4.1 (2017-07-19)
- add 'circos.raster()'
- add 'circos.arrow()'
- re-implement 'rand_color()'
- support 'col' in 'circos.axis()'
- 'circos.genomicLabels()': regions are automatically sorted in advance
circlize 0.4.0 (2017-05-29)
- add 'link.visible' argument in 'chordDiagram()'
- add cytoband files and chromInfo files for a list of species locally
- add a new vignette "Add legends to circlize"
- add a new function 'convert_*()' which convert an absolute unit to
measurement in different coordinates
- enforce asp = 1 when calling plot.default
- length of axes ticks are set to 2mm by default
- in axis, the first axis label is shifted if it is exceed the axis and
so is for the last axis label.
- text.vjust accepts strings as "2mm", "-2.1 cm" to represent offsets
- 'circos.segments()': graphic parameters can be set as vectors
- add 'circos.genomicIdeogram()', 'circos.genomicHeatmap()', 'circos.genomicLabels()'
- add 'circos.nestes()'
- vignette has been moved to https://jokergoo.github.io/circlize_book/book/index.html
- add 'set.current.cell()'
- add 'h.ratio' argument in 'circos.link()'
circlize 0.3.10 (2017-03-07)
- 'chordDiagram()': fixed a bug when the input matrix is stored as a data frame
- 'rainfallTransform()': add "left" and "right" modes, and now the row order of
the output data frame is as same as the input one.
- 'circos.genomicInitialize()': it can only plot axes now.
- 'posTransform.text()': add 'extend' option to control the extension of chromsomes
to allow to put more labels
- 'ciros.points()': add 'bg' option to control background color
circlize 0.3.9 (2016-09-26)
- 'chordDiagramFromDataFrame()': now recognize a 'rank' column which defines
the order of adding links
circlize 0.3.8 (2016-08-14)
- chordDiagram(): if not all sectors are specified in grid.col, remaining will
be filled by random colors
- if 'ylim' has same values for upper and lower bound, throw errors.
circlize 0.3.7 (2016-05-15)
- chordDiagram() now returns a data frame which contains positions of all links
- chordDiagram() track.margin is also taken into settings of preAllocateTracks
- chordDiagram(): link.sort adds a new option: "overall" which sort links
regardless of rows or columns
- chordDiagram(): add 'link.largest.ontop' which controls the order of adding links
circlize 0.3.6 (2016-04-23)
- positions of arrows in chordDiagram() have been adjusted.
- fixed a bug that negative value was not shown
- circos.initialize: if 'factors' are unique and is a vector, the order of sectors
will be the same as 'factors'.
- 'highlight.sector': text are now in correct position if sectors are over theta = 0
circlize 0.3.5 (2016-03-28)
- 'chordDiagram()': if the corresponding value is zero, nothing happens.
- border of links are same as filled by default
- explicitely put all arguments in 'chordDiagram()' instead of just using '...'
- 'adj' in 'circos.text()' can also adjust text rotations.
- 'circos.genomicInitialize()': gap between labels and ideograms is adjusted
if there is no axis
circlize 0.3.4 (2015-12-22)
- 'circos.genomicLink()': ordering is cancled when normalizing the data frames
- export 'smartAlign()'
circlize 0.3.3 (2015-11-26)
- 'rainfallTransform()' and 'genomicDensity()': can be applied on the bed-format
data frame directly.
- add 'col2rgb()' which transforms back to the original value based on the color
mapping function.
- add 'circos.yaxis()'
circlize 0.3.2 (2015-10-21)
- 'chrodDiagram': add warning if users use data frame as ajacency matrix
- 'circos.genomicTrackPlotRegion': data frame will be sorted
circlize 0.3.1 (2015-08-19)
- fixed a bug for 'chordDiagramFromDataFrame' when there is the third column in the data frame
- 'colorRamp2': colors are interpolated linearly in Lab color space
- 'chordDiagram': directional, direction.type and diffHeight can also be vector
circlize 0.3.0 (2015-08-01)
- 'chordDiagramFromMatrix': automatically replace NA to 0 in the input matrix
- add 'chordDiagramFromMatrix' and 'chordDiagramFromDataFrame'
- by default there is axis on chord diagram
- add 'quadratic.bezier.length' that calculates the approximate length of bezier curve
- normalize link-related functions to make sure the direction is always from
the first argument to the second argument, reverse clockwise.
circlize 0.2.5 (2015-07-08)
- 'circos.rect' and 'circos.polygon' are vectorized
- 'circos.dendrogram': supports graphical settings for nodes
- ‘circos.link': support ’big.arrow' mode for links
- 'circos.text': graphical settings are subsetted correctly in 'niceFacing' is set
- add shortcut functions: 'circos.track', 'circos.update' and 'circos.genomicTrack'
- add 'normalizeChordDiagramGap'
- fixed type in 'get.cell.meta.data'
circlize 0.2.4 (2015-03-20)
- 'chrodDiagram': If graphic parameters for links are different, the value can be
specified as a three-column data frame.
- 'chordDiagram': arrows can be used to identify directions
- ·circos.link': arrows can be used to identify directions
- 'chordDiagram': width of self-links are not duplicated.
- 'circos.link': if two roots for a link overlaps, the link is de-generated
as an area with a quadratic curve and an arc.
- add 'circos.dendrogram' which draw dendrograms (dendrogram can be rendered by
'dendextend' package)
circlize 0.2.3 (2015-02-22)
- add 'link.order' argument in 'chordDiagram' to control order of links on
sectors
- add 'highlight.sector'
- 'chromosome.index' can set the order of chromosomes
- add 'read.chromInfo()' to read chromInfo file from UCSC
- if downloading cytoband file failed, try to download chromInfo file
- 'chromosome.index' can be set in 'read.cytoband()' and 'read.chromInfo()'
circlize 0.2.2 (2015-01-30)
- change '.onLoad' to 'setLoadActions'
- 'circos.clear': __tempdir__ will not be reset
circlize 0.2.1 (2015-01-09)
- If par("mar") is using default, it will be changed to par(mar = c(1, 1, 1, 1))
internally and will be recovered after calling circos.clear()
- ‘circos.text': add two options (’bending.inside' which is identical to original
'bending' and 'bending.outside'), both support 'niceFacing'
- circos.par('__tempdir__') is initialized by 'tempdir()'
- '.get_color': there will be no negative value due to 0.000 - 0.000
- 'chordDiagram': 'grid.col' is correctly reduced if rownames and colnames overlap
- 'circos.text': 'font' is passed to 'text' function
- 'colorRamp2': returned function has an attribute: 'breaks'
- 'chordDiagram': assign same names for rows and columns if the input matrix
is specified symmetric while has no names
- 'chordDiagram': also check rownames and colnames if the matrix is specified as
symmetric.
- don't remove temporary folder
- 'value' can be scalar or vector in 'circos.genomicPoints', 'circos.genomicLines', ...
circlize 0.2.0 (2014-12-08)
- 'draw.sector' is modified, now accepts an argument 'clock.wise' to control
the direction of sectors.
- 'highlight.chromosome' can highlight more than one chromosomes now.
- vignettes are rendered by 'knitr'
- set default transparency to 0.5 in 'chordDiagram'
- 'circlize' returns value when track.index == 0
- fixed a bug when text facing is 'bending', all text are plotted in one cell
- different colors for each rows can be set to 'circos.genomicLines' if
type %in% c("segment", "h")
- pre-allocate the matrix in '.get_color'
circlize 0.1.3 (2014-11-07)
- add 'jitter' for adding points under 'stack' mode
- value in 'panel.fun' can be selected by character index
- change default temporary dir to 'tempdir()'
- temporary add dependency of 'methods' until bugs in 'GlobalOptions' fixed
- add 'reduce' argument in 'chordDiagram' to control whether to remove tiny categories
- add 'species' argument in 'generateRandomBed'
- change use of posTransform.text
- add names for 'chr.len' in 'read.cytoband'
- cytoband files are cached
- ‘row.col', 'column.col', 'col', 'grid.col' and circos.par(’gap.degree') will
also be reduced if the matrix is reduced
circlize 0.1.2 (2014-10-13)
- global options are controlled by 'GlobalOptions' package
- set 'par("lend")' and 'par("ljoin")' to their default values.
- add more example codes in genomic_plot vignette
circlize 0.1.1 (2014-09-01)
- fixed the bug that if start position is not zero when calling 'circos.genomicIntialize',
“major.at“ is wrongly calculated.
circlize 0.1.0 (2014-08-02)
- height(h) and shape(w) can be set for Bezier curve (in 'circos.link')
- add examples in man/
- add “fromRows“ options in 'chordDiagram' to control the direction of links
- Now the “major.by“ are the same in all sectors
- define “min.data“ and “max.data“ in internal variable “SECTOR.DATA“
- check that sector names cannot be empty strings ("")
- check whether circos plot has been initialized when calling 'circos.trackPlotRegion'
- add “niceFacing“ in 'circos.text' to make the facing more human easy
- height of ideogram and annotation track in 'circos.initializeWithIdeogram' and 'circos.genomicInitialize' can be set
- some example code in examples/vignettes has been changed according to changes in the package source code
- add 'posTransform.text' which can smartly put text on the circle
- “track.margin“ and “cell.padding“ can be set in 'circos.trackPlotRegion' as a local setting
circlize 0.0.9 (2014-07-11)
- links are now implemented by Bezier curve
- baseline can be set when “type == "h"“ 'in circos.lines'
- add a new function 'chordDiagram' which support chord diagram
- add 'facing' argument to replace 'direction' in 'circos.text'
- 'circos.trackPlotRegion' can be used to update a track without re-setting ylim
- move demo to https://jokergoo.github.io/circlize
- re-implement 'colorRamp2'
circlize 0.0.8 (2014-06-03)
- axes labels will not draw when setting labels = FALSE
- add many functions supporting genomic visualization
- add a new vignette to show how to plot genomic circos plot with new functions
- add 'circos.info'
circlize 0.0.7 (2013-10-01)
- add an example in demo codes
- improved vignettes
circlize 0.0.6 (2013-09-02)
- order will not change in 'circos.trackPlotRegion' when not specifying 'factors', bug fixed
- add an example in 'draw relation' vignette
- add a new vignette focusing on phylogenetic tree
- support directly downloading cytoBand file from UCSC
circlize 0.0.5 (2013-08-03)
- support self-define width of sectors when initializing sectors
- add simple functions to read and manuplate cytoband file
- add several new figures in the vignettes and vignettes have been improved.
- “cell.padding“ in 'circos.par' now using degree as its measurement.
- “track.margin“ in 'circos.par' now using percentage of radius as its measurement.
circlize 0.0.4 (2013-07-05)
- number of points to simulate quadratic curves decreased
- labels on axis in ‘circos.initializeWithIdeogram' is now ’vertical_right' by default
- size of the vignettes reduced
- add example of drawing heatmap and cluster dendrogram in the main vignette
- add example of drawing error area of lines by 'circos.polygon'
- vignette improved
- “gap.degree“ in 'circos.par' can be a vector which means different degrees for gaps can be set
- export core function 'circlize' now
- track.margin now is in correct order
- links are optimized (although not so perfect)
- no point overflow warnings when drawing axes
circlize 0.0.3 (2013-06-02)
- vignettes has been improved
- “xplot“ in 'get.cell.meta.data' is now corresponding to the data direction in the cell
- number of points to draw links decreased.
- 'get.cell.meta.data' can provide more meta data for a cell
- start degree and end degree now consistent with the data axis.
- the first sector is drawn first now.
- add 'draw.sector'
circlize 0.0.2 (2013-05-26)
- add 'draw.sector' so it would be more straightforward to highlight sectors
- add “track.margin“, “cell.padding“, “cell.xlim“ and “cell.ylim“ in 'get.cell.meta.data' function
- figures in vignettes are all generated automatically
- vignettes have been imporved