Circos is a software package for visualizing data and information. It visualizes data in a circular layout — this makes Circos ideal for exploring relationships between objects or positions. There are other reasons why a circular layout is advantageous, not the least being the fact that it is attractive.
Circos is ideal for creating publication-quality infographics and illustrations with a high data-to-ink ratio, richly layered data and pleasant symmetries. You have fine control each element in the figure to tailor its focus points and detail to your audience.
Circos is flexible. Although originally designed for visualizing genomic data, it can create figures from data in any field—from genomics to visualizing migration to mathematical art. If you have data that describes relationships or multi-layered annotations of one or more scales, Circos is for you.
Circos can be automated. It is controlled by plain-text configuration files, which makes it easily incorporated into data acquisition, analysis and reporting pipelines (a data pipeline is a multi-step process in which data is analyzed by multiple and typically independent tools, each passing their output as the input to the next step).
Have you noticed how beautifully everyday science and technology is rendered in movies? Information is delivered seamlessly from interfaces oozing with style and function. While others complain that the movie doesn't get the science facts right, I contrarily note that it doesn't get the science look right. No busy scientist is able to make such great design and type face choices!
Sadly, the reality of cutting-edge science reveals a grimmer picture, replete with incomprehensible figures, illegible color combination and awkward type faces. This is due in large part by the fact that the people in charge of the science are too busy with the science to worry about figures. It is therefore important for designers, artists and other visual creatives to continue providing working scientists with tools that are useful, effective and ... pretty. One example of this kind of knowledge transfer are Brewer palettes. The scientists will thank you, the press will thank you, as will the public and policy makers, who are ultimately asked to digest the results.
Circos attempts to bring a different aesthetic to science and strike a balance between flexibility and ease-of-use. Circos makes no assumptions about your data, uses extremely simple input data format, and makes image creation and customization easy. It's helping to make science look better, one figure at a time.
Circos has appeared in many publications, both scientific and general. It has changed the way the scientific community visualizes genomic alterations (changes in a genome over time, or differences between two or more genomes). One timely application of this approach is creating effective figures showing how cancer genomes differ from healthy ones (e.g. COSMIC: Census of Somatic Mutations in Cancer).
The biological scientific community has adopted Circos wholeheartedly. By now, Circos has appeared on the the covers of both Nature and Science publications, which are the world's top scientific journals.
Creation of images is controlled through a plain-text configuration file — there is no interactive user interface. This approach to configuration should be very famililar to you if you have UNIX experience.
If you're used to pointing (and clicking), you're in for both a surprise and a treat and, initially, perhaps for a little bit of frustration. It's ok, don't worry. Although Circos' barrier to entry is higher than most applications you may have used, once you become comfortable with Circos and gain experience in its use, you will see benefits from Circos' approach and will be able to convert the time you invested into learning Circos into great-looking figures.
Image creation can be completely automated — you can write scripts to generate both data and configuration file and make a call to Circos to generate the image — making Circos suitable for incorporation into data analysis pipelines and applications. In this way, Circos is similar to gnuplot.
Most aspects of the output image can be adjusted using dynamic rules, which format elements of the figure based on data values. This feature allows a variety of images to be created without changing the input data or configuration file.
This feature is extremely powerful and uniquely suited for visual analytics. For example, for a given data track (e.g. histogram) you can ask that all bins with values >10 are colored blue, or more generally you can color the bins by value using your own color scheme. Rules can be chained. For example, later in the rule chain, you can ask that any blue bins that fall within a specific position range be hidden.
If you are a researcher, analyst, data geek, art director, illustrator or visual artist who is seeking to explore or communicate a data set, or to think outside the box (and inside a circle), Circos is worth looking into.
Circos can be used to display any kind of information. It's particularly suitable for layering different data sets to create highly informative infographics with texture and visual appeal. Circos can make low-resolution bitmaps, suitable for basic web-based reporting, as well as publication-quality images with a lot of bling (but I mean legible, clear and informative bling!).
Circos was initially designed for displaying genomic data (particularly cancer genomics and comparative genomics) and molecular biology. It has specific features that address typical challenges in drawing these kind of data, which tend to be very sparse and encompass a large number of length scales.
Data is data. Circos is flexible. There is nothing about Circos that is specific to genomics — it just happens that I work in genomics and therefore the tool has been applied to this field.
Circos can illustrate genomic rearrangements, where a relationship between two elements (genomic positions) represents a structural fusion. Circos can also visually represent the flow of refugees, where a relationship between two elements (countries) represents the extent of ingress and egress.
To name a few, Circos has been used to visualize customer flow in the auto industry, volume of courier shipments, database schemas, and presidential debates.
My purpose in creating Circos was not as much to create yet another way to draw data, but rather to create a tool which can help make data look beautiful. The compactness of the circular form is inherently more appealing than a linear layout. Although some figures are ideally suited for a square layout, most of the time a circular figure can match or exceed efficiency in delivering information, have a higher ink-to-data ratio and sit more tightly on the page.
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 plain-text files, tell Circos what you want plotted using the configuration file, and then create the image.
How do you know whether Circos can be useful to you? First, look at published images and see what others are doing with Circos (for other images, see sample image archive). For examples of Circos' capabilities, see the tutorial images. These image sets will give you an idea of the types of data visualizations that Circos can create.
For quick exposure to Circos, try the online tableviewer, which is an instance of Circos designed to visualize tabular data. You can upload a table (e.g. exported from a spreadsheet) and have it drawn à la Circos. If you don't have any data (who these days doesn't?), you can choose to use pre-generated or random tabular data.
To learn how Circos can be used in specific applications, browse the walkthrough guides which spend some time telling you about features and applications, use in genomics and application to table visualization.
Circos was originally conceived for visualizing genomic data such as alignments and structural variation. Over time, support was added for 2D data tracks such as line, scatter, heatmap and histogram plots.
As Circos' popularity grew — sparked by a New York Times full-page infographic — it started to be used for visualizing other data, not just genomics.
I work on Circos in a passive-aggressive manner - sometimes passive sometimes aggressive. I welcome your comments.
Circos is free software, licensed under GPL.
Circos is written in Perl, can be deployed on any operating system for which Perl is available (e.g. Windows, Mac OS X, Linux and other UNIX flavours) and produces bitmap (PNG) and vector (SVG) images using plain text configuration and input files.