Use Circos to create concise, explanatory, unique and print-ready visualizations of your data.
Current version is 0.52.
Try the online version.
Current version is 0.52.
This is a bug release. Issues with ideogram ordering and axis breaks have been addressed.
Current tools version is v0.13.
New is categoryviewer, used to visualize categorical data and a significantly updated tableviewer. Read about the theory and practise of visualizing tabular data.
Circos Online
An online version of Circos is now available to visualize tabular data. Turn your tables into informative images!
![]() 3x3 table |
![]() 4x4 table |
![]() 6x6 table |
![]() 8x8 table |
Conde Nast Porfolio features an article on personalized genome sequencing. An image by Circos appears in a double-page spread. The art direction called for something primarily artistic and visually appealing, but also connected to the content of the article.
An image created by Circos appears on the cover of the Sept/Oct issue of American Scientist.
The image accompanies an article by Elaine Ostrander about dog genetics and illustrates the deep sequence similarity between the human and dog genomes. Read about the figure.
Circos is used to generate a visualization of the 2007 Democratic and Republican Debates. The image was created by Jonathan Corum and Farhana Hossain, who discuss how the image was conceptualized.
Circos is featured in the Science section of the New York Times (22 Jan 2007).
Circos - a data viewer with comparative genomics in mind
Visualizing quantitative information - featuring work of Tufte
A variety of Circos posters are available.
A visual guide to Circos (Circos - an information aesthetic for comparative genomics) presents some of the capabilities of Circos and illustrates its application in the field of comparative genomics and genome visualization.
Download: medium bitmap (7Mb) | huge bitmap (46Mb) | PDF (40Mb) | Illustrator (20Mb) (PDF and Illustrator files are very complex)
Video | An animated view of the similarity between human (upper half) and dog (lower half) genomes ...more
Circos is designed for visualizing genomic data such as alignments, conservation, and generalized 2D data, such as line, scatter, heatmap and histogram plots. Circos is very flexible &mdash you can use it to visualize any kind of data, not just genomics. Circos has been used to visualize customer flow in the auto industry, volume of courier shipments, database schemas, and presidential debates.
The creation of Circos was motivated by a need to visualize intra- and inter-chromosomal relationships within one or more genomes, or between any two or more sets of objects with a corresponding distance scale. Circos is similar to chromowheel and, to a lesser extent, genopix.
Circos uses a circular composition of ideograms to mitigate the fact that some data, like combinations of intra- and inter-chromosomal relationships (alignments, duplications, assembly paired-ends, etc) are very difficult to organize when the underlying ideograms (or contigs) are arranged as lines. In many cases, it is impossible to keep the relationship lines from crossing other structures and this deteriorates the effectiveness of the graphic.
Specific features are included to help viewing data on the genome. The genome is a large structure with localized regions of interest, frequently separated by large oceans of uninteresting sequence. To help visualize data in this context, Circos can create images with variable axis scaling, permitting local magnification of genomic regions to be controlled without cropping. Scale smoothing ensures that the magnification level changes smoothly. In combination with axis breaks and custom ideogram order, the final image can be easily tuned to offer the clearest illustration of your data.
All aspects of the output image are tunable, making Circos a flexible and extensible tool for the generation of publication-quality, circularly composited renditions of genomic data and related annotations.
Circos is written in Perl and produces bitmap (PNG) and vector (SVG) images using plain text configuration and input files.
Circos is driven by a Apache-like, text configuration file and accepts data from flat files. There is currently no graphical user interface for Circos and no plan to create one.
It is easy to plot, format and layer your data with Circos. A large variety of plot and feature parameters are customizable, helping you make the image that best communicates your data. You supply your data to Circos as flat files (e.g. GFF format), tell Circos what you want plotted using the configuration file, and then create the image.
Circos can be applied to draw any kind of data, not just from the field of genomics. Since I work in genomics, I've been using Circos to draw the kind of data I work with. Circos is ideally suited when your data represents relationships between positions on one or more scales.
You can turn tabular data into Circos images using the online version of Circos. Transform boring tables into informative and visually compelling datagraphics.
![]() |
![]() |
![]() |
Large tables can be visualized - below is an example of a 54x14 table.
I've applied circular compositing to represent database structure with Schemaball.
Support exists for a variety of plot types, such as paired-location, scatter, line, histogram, heat map, tiles, glyph and text elements plots. Plots may be combined in a single track and multiple tracks are supported. Colours and positions of individual elements can be tuned to suit your application.
Rules can be written to adjust formatting of plot elements based on position, value and formatting. You can control data characteristics (such as color, text size, position, etc) based on rules that may depend on initial data values.
Circos is unique in its support for both global and local axis scale deformation. This is illustrated in the set of figures below, where magnification of ideograms and regions of ideograms can independently adjusted to accentuate or attenuate the visual impact of information.
Figure | zoom | hires 01 02 03 04 | The purpose of scale stretching is to expand regions which contain interesting data patterns. As one region is stretched, others are contracted to maintain the entire data domain in view. In this figure, location of genes (green), disease genes (orange) and cancer genes (red) are plotted on chr17 with the region in the vicinity of 35 Mb repeatedly expanded. Genes are drawn using highlights with radial position representing the number of exons in the gene.
|
Figure | zoom | hires 01 02 03 04| Scale stretching is very visually appealing when combined with images that depict spatial relationships. Shown here is the similarity of human chromosome 1 (hg17) to the entire genome of the mouse (mm5). Lines represent alignment chains between human and mouse regions and are color coded by the identity of the mouse chromosome on which they impinge. Regions of human chromosome 1 and mouse chromosome 5 are expanded to show details in the alignments.
|
How do you know whether Circos can be useful to you? First, take a look at some screenshots. These will give you an idea of the types of data visualizations that Circos can create.
I've made Circos to be simple to use, with the goal being to produce high quality genome diagrams suitable for publication. To keep Circos flexible, the configuration file that describes the generation of the image contains many settings - be sure to read the tutorials to familiarize yourself with these features.
To use Circos, you need to have Perl installed, along with a few CPAN modules. It's likely that you already meet all the requirements if you are working on a UNIX system.
You will also need a definition of the genome karyotypes, such as the content of the cytoBandIdeo table (UCSC genome browser). You can download the karyotype from the table browser or directly for
human,
mouse, or
rat, or
other species. The karyotype files are used to let Circos know the size and features of the chromosomes for the purpose of drawing the ideograms.
Once you've decided which species (one or more) and chromosomes (all, some, with optional spans) to use you can layer 2D and position-paired data in concentric "tracks".
I work on Circos in a passive-aggressive manner - sometimes passive sometimes aggressive. I welcome your comments - please contact Martin Krzywinski if you would like to report a bug, request a feature or share the ways in which you are using, or hope to use, Circos.
There is a development road map for Circos. With one eye on the future, I am also keeping track of what is happening now with Circos.
Circos is free software, licensed under GPL.