Circular layout is an efficient way for the visualization of huge amounts of information. Here this package provides an implementation of circular layout generation in R as well as an enhancement of available software. The flexibility of the package is based on the usage of low-level graphics functions such that self-defined high-level graphics can be easily implemented by users for specific purposes. Together with the seamless connection between the powerful computational and visual environment in R, it gives users more convenience and freedom to design figures for better understanding complex patterns behind multiple dimensional data.
genomicDensity()
: add chr.len
argument.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.xmax
argument in chordDiagram()
circos.initialize()
labels.pos.adjust
in circos.axis()
fontsize()
functioncircos.nested()
: check whether sector order in the two circular plots are consistentgetQuadraticPoints()
: add tiny offset when the curve is actually a straight linecircos.raster()
circos.arrow()
rand_color()
col
in circos.axis()
circos.genomicLabels()
: regions are automatically sorted in advancelink.visible
argument in chordDiagram()
convert_*()
which convert an absolute unit to
measurement in different coordinatescircos.segments()
: graphic parameters can be set as vectorscircos.genomicIdeogram()
, circos.genomicHeatmap()
, circos.genomicLabels()
circos.nestes()
set.current.cell()
h.ratio
argument in circos.link()
chordDiagram()
: fixed a bug when the input matrix is stored as a data framerainfallTransform()
: 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 labelsciros.points()
: add bg
option to control background colorchordDiagramFromDataFrame()
: now recognize a rank
column which defines
the order of adding linksylim
has same values for upper and lower bound, throw errors.link.largest.ontop
which controls the order of adding linksfactors
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 = 0chordDiagram()
: if the corresponding value is zero, nothing happens.chordDiagram()
instead of just using ...
adj
in circos.text()
can also adjust text rotations.circos.genomicLink()
: ordering is cancled when normalizing the data framessmartAlign()
rainfallTransform()
and genomicDensity()
: can be applied on the bed-format
data frame directly.col2rgb()
which transforms back to the original value based on the color
mapping function.circos.yaxis()
chrodDiagram
: add warning if users use data frame as ajacency matrixcircos.genomicTrackPlotRegion
: data frame will be sortedchordDiagramFromDataFrame
when there is the third column in the data framecolorRamp2
: colors are interpolated linearly in Lab color spacechordDiagram
: directional, direction.type and diffHeight can also be vectorchordDiagramFromMatrix
: automatically replace NA to 0 in the input matrixchordDiagramFromMatrix
and chordDiagramFromDataFrame
quadratic.bezier.length
that calculates the approximate length of bezier curvecircos.rect
and circos.polygon
are vectorizedcircos.dendrogram
: supports graphical settings for nodescircos.link
: support 'big.arrow' mode for linkscircos.text
: graphical settings are subsetted correctly in niceFacing
is setcircos.track
, circos.update
and circos.genomicTrack
normalizeChordDiagramGap
get.cell.meta.data
chordDiagram
: arrows can be used to identify directionschordDiagram
: 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.circos.dendrogram
which draw dendrograms (dendrogram can be rendered by
dendextend
package)link.order
argument in chordDiagram
to control order of links on
sectorshighlight.sector
chromosome.index
can set the order of chromosomesread.chromInfo()
to read chromInfo file from UCSCchromosome.index
can be set in read.cytoband()
and read.chromInfo()
.onLoad
to setLoadActions
circos.clear
: tempdir will not be resetcircos.text
: add two options ('bending.inside' which is identical to original
'bending' and 'bending.outside'), both support niceFacing
tempdir()
.get_color
: there will be no negative value due to 0.000 - 0.000chordDiagram
: grid.col
is correctly reduced if rownames and colnames overlapcircos.text
: font
is passed to text
functioncolorRamp2
: returned function has an attribute: breaks
chordDiagram
: assign same names for rows and columns if the input matrix
is specified symmetric while has no nameschordDiagram
: also check rownames and colnames if the matrix is specified as
symmetric.value
can be scalar or vector in circos.genomicPoints
, circos.genomicLines
, ...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.knitr
chordDiagram
circlize
returns value when track.index == 0circos.genomicLines
if
type %in% c("segment", "h").get_color
jitter
for adding points under stack
modepanel.fun
can be selected by character indextempdir()
methods
until bugs in GlobalOptions
fixedreduce
argument in chordDiagram
to control whether to remove tiny categoriesspecies
argument in generateRandomBed
chr.len
in read.cytoband
row.col
, column.col
, col
, grid.col
and circos.par('gap.degree') will
also be reduced if the matrix is reducedGlobalOptions
packagepar("lend")
and par("ljoin")
to their default values.circos.genomicIntialize
,
major.at
is wrongly calculated.circos.link
)fromRows
options in chordDiagram
to control the direction of linksmajor.by
are the same in all sectorsmin.data
and max.data
in internal variable SECTOR.DATA
circos.trackPlotRegion
niceFacing
in circos.text
to make the facing more human easycircos.initializeWithIdeogram
and circos.genomicInitialize
can be setposTransform.text
which can smartly put text on the circletrack.margin
and cell.padding
can be set in circos.trackPlotRegion
as a local settingtype == "h"
in circos.lines
chordDiagram
which support chord diagramfacing
argument to replace direction
in circos.text
circos.trackPlotRegion
can be used to update a track without re-setting ylimcolorRamp2
circos.info
circos.trackPlotRegion
when not specifying factors
, bug fixedcell.padding
in circos.par
now using degree as its measurement.track.margin
in circos.par
now using percentage of radius as its measurement.circos.initializeWithIdeogram
is now 'vertical_right' by defaultcircos.polygon
gap.degree
in circos.par
can be a vector which means different degrees for gaps can be setcirclize
nowxplot
in get.cell.meta.data
is now corresponding to the data direction in the cellget.cell.meta.data
can provide more meta data for a celldraw.sector
draw.sector
so it would be more straightforward to highlight sectorstrack.margin
, cell.padding
, cell.xlim
and cell.ylim
in get.cell.meta.data
function