{"id":2499,"date":"2018-11-27T19:52:46","date_gmt":"2018-11-27T19:52:46","guid":{"rendered":"http:\/\/pcool.dyndns.org:8080\/statsbook\/?page_id=2499"},"modified":"2025-06-30T08:21:08","modified_gmt":"2025-06-30T07:21:08","slug":"circos-plots-rcircos","status":"publish","type":"page","link":"https:\/\/pcool.dyndns.org\/index.php\/circos-plots-rcircos\/","title":{"rendered":"Circos Plots &#8211; RCircos"},"content":{"rendered":"\n<p>RCircos<sup class='sup-ref-note' id='note-zotero-ref-p2499-r1-o1'><a class='sup-ref-note' href='#zotero-ref-p2499-r1'>1<\/a><\/sup> can be used to make chromosome ideograms.&nbsp;The example below uses the hg19 assembly (GRCh37) as reference. However, the newer (hg38 \/ GRCh38) can also be downloaded, manipulated and used instead. It is important to use the appropriate reference assembly when working with genomic data.<\/p>\n\n\n\n<p>Install \/ open the package and create a default plot using the build in data with different tracks as example (data are printed out for clarity):<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f60505\" class=\"has-inline-color\">BiocManager::install('RCircos')<\/mark><\/em>\n\n<span style=\"color: #ff0000;\"><em># RCircos, to make circos plots for genomic data<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>library(RCircos)<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>data(UCSC.HG19.Human.CytoBandIdeogram)<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>cyto.info &lt;- UCSC.HG19.Human.CytoBandIdeogram<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>head(cyto.info)<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#0306ee\" class=\"has-inline-color\">  Chromosome ChromStart ChromEnd   Band  Stain\n1       chr1          0  2300000 p36.33   gneg\n2       chr1    2300000  5400000 p36.32 gpos25\n3       chr1    5400000  7200000 p36.31   gneg\n4       chr1    7200000  9200000 p36.23 gpos25\n5       chr1    9200000 12700000 p36.22   gneg\n6       chr1   12700000 16200000 p36.21 gpos50<\/mark><\/em>\n\n<span style=\"color: #ff0000;\"><em>RCircos.Set.Core.Components(cyto.info, chr.exclude = NULL, tracks.inside = 10, tracks.outside = 0)<\/em><\/span>\n<span style=\"color: #0000ff;\"><em>RCircos.Core.Components initialized.<\/em><\/span>\n<span style=\"color: #0000ff;\"><em>Type ?RCircos.Reset.Plot.Parameters to see how to modify the core components.<\/em><\/span>\n\n<span style=\"color: #ff0000;\"><em># initiallize graphic devide<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>dev.new()<\/em><\/span>\n<span style=\"color: #ff0000;\"><em># set plot area with default values:<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>RCircos.Set.Plot.Area()<\/em><\/span>\n<span style=\"color: #ff0000;\"><em># plot the chromosome ideogram:<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>RCircos.Chromosome.Ideogram.Plot()<\/em><\/span>\n\n<span style=\"color: #ff0000;\"><em># plot the connectors and gene names on the 1st and 2nd track<\/em><\/span>\n<span style=\"color: #ff0000;\"><em># gene names are held in the 4th column<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>data(RCircos.Gene.Label.Data)<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>head(RCircos.Gene.Label.Data)<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#0510f4\" class=\"has-inline-color\">  Chromosome chromStart chromEnd   Gene\n1       chr1    8921418  8934967   ENO1\n2       chr1   17345375 17380514   SDHB\n3       chr1   27022894 27107247 ARID1A\n4       chr1   41976121 42501596 HIVEP3\n5       chr1   43803519 43818443    MPL\n6       chr1   45794977 45805926  MUTYH<\/mark><\/em>\n\n<span style=\"color: #ff0000;\"><em>RCircos.Gene.Connector.Plot(RCircos.Gene.Label.Data, track.num = 1, side = \"in\")<\/em><\/span>\n<span style=\"color: #0000ff;\"><em>Not all labels will be plotted.<\/em><\/span>\n<span style=\"color: #0000ff;\"><em>Type RCircos.Get.Gene.Name.Plot.Parameters()<\/em><\/span>\n<span style=\"color: #0000ff;\"><em>to see the number of labels for each chromosome.<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>RCircos.Gene.Name.Plot(RCircos.Gene.Label.Data, name.col = 4, track.num = 2, side = \"in\")<\/em><\/span>\n<span style=\"color: #0000ff;\"><em>Not all labels will be plotted.<\/em><\/span>\n<span style=\"color: #0000ff;\"><em>Type RCircos.Get.Gene.Name.Plot.Parameters()<\/em><\/span>\n<span style=\"color: #0000ff;\"><em>to see the number of labels for each chromosome.<\/em><\/span>\n\n<span style=\"color: #ff0000;\"><em># heatmap plot on the 5th track and data values on the sixth<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>data(RCircos.Heatmap.Data)<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>head(RCircos.Heatmap.Data)<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#2205f3\" class=\"has-inline-color\">  Chromosome chromStart chromEnd GeneName  X786.O     A498 A549.ATCC    ACHN   BT.549  CAKI.1\n1       chr1     934341   935552     HES4 6.75781  7.38773   6.47890 6.05517  8.85062 7.00307\n2       chr1     948846   949919    ISG15 7.56297 10.49590   5.89893 7.58095 12.08470 7.81459\n3       chr1    1138887  1142089 TNFRSF18 4.69775  4.55593   4.38970 4.50064  4.47525 4.47721\n4       chr1    1270657  1284492     DVL1 7.76886  7.52194   6.87125 7.03517  7.65386 7.69733\n5       chr1    1288070  1293915    MXRA8 4.49805  4.72032   4.62207 4.58575  5.66389 4.93499\n6       chr1    1592938  1624243 SLC35E2B 8.73104  8.10229   8.36599 9.04116  9.24175 9.89727<\/mark><\/em>\n<span style=\"color: #ff0000;\"><em>RCircos.Heatmap.Plot(RCircos.Heatmap.Data, data.col = 6, track.num = 5, side = \"in\")<\/em><\/span>\n\n<span style=\"color: #ff0000;\"><em># scatterplot on the 6th track with data values on the fifth<\/em><\/span>\n<span style=\"color: #ff0000;\"><em># colours will be red for values >= 1 and blue for &lt;= -1<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>data(RCircos.Scatter.Data)<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>head(RCircos.Scatter.Data)<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#0904f4\" class=\"has-inline-color\">  chromosome   start     stop num.mark seg.mean\n1       chr1   61735   228706       18  -0.4459\n2       chr1  228729   356443       10   0.5624\n3       chr1  356542   564621        4  -0.9035\n4       chr1  603590  1704138      227   0.3545\n5       chr1 1709023  1711414        6   1.2565\n6       chr1 1714558 12862252     6276   0.4027<\/mark><\/em>\n<span style=\"color: #ff0000;\"><em>RCircos.Scatter.Plot(RCircos.Scatter.Data, data.col = 5, track.num = 6, side = \"in\")<\/em><\/span>\n\n<span style=\"color: #ff0000;\"><em># line plot on the 7th track with data values on the fifth <\/em><\/span>\n<span style=\"color: #ff0000;\"><em>data(RCircos.Line.Data)<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>head(RCircos.Line.Data)<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#0a05f4\" class=\"has-inline-color\">  chromosome    start     stop num.mark seg.mean\n1          1    61735 16895627     8732   0.1797\n2          1 16896821 17212714      105  -0.2117\n3          1 17214822 25574471     5321   0.1751\n4          1 25574707 25662212       37   0.5064\n5          1 25663310 30741496     2400   0.1384\n6          1 30741656 30745210        3  -1.4742<\/mark><\/em>\n<span style=\"color: #ff0000;\"><em>RCircos.Line.Plot(RCircos.Line.Data, data.col = 5, track.num = 7, side = \"in\")<\/em><\/span>\n<strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f20606\" class=\"has-inline-color\">Error in RCircos.Validate.Genomic.Data(genomic.data, \"plot\", genomic.columns) : \n  Some chromosomes in plot data is not in ideogram.<\/mark><\/strong>\n<span style=\"color: #ff0000;\"><em># some data not in ideogram: <strong>error<\/strong><\/em><\/span>\n<span style=\"color: #ff0000;\"><em># this is because the chromosome field has only the number, rather than chr1\u00a0(as above).<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f70909\" class=\"has-inline-color\"><strong># this can easily be changed:<\/strong><\/mark><\/em>\n<span style=\"color: #ff0000;\"><em>RCircos.Line.Data$chromosome &lt;- paste(\"chr\", RCircos.Line.Data$chromosome, sep = \"\")<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>head(RCircos.Line.Data)<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#0812ed\" class=\"has-inline-color\">  chromosome    start     stop num.mark seg.mean\n1       chr1    61735 16895627     8732   0.1797\n2       chr1 16896821 17212714      105  -0.2117\n3       chr1 17214822 25574471     5321   0.1751\n4       chr1 25574707 25662212       37   0.5064\n5       chr1 25663310 30741496     2400   0.1384\n6       chr1 30741656 30745210        3  -1.4742\n<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ed1707\" class=\"has-inline-color\"># try again<\/mark><\/em>\n<span style=\"color: #ff0000;\"><em>RCircos.Line.Plot(RCircos.Line.Data, data.col = 5, track.num = 7, side = \"in\")<\/em><\/span>\n\n<span style=\"color: #ff0000;\"><em># histogram on the 8th track with data values in the fourth column<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>data(RCircos.Histogram.Data)<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>head(RCircos.Histogram.Data)<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#3103f1\" class=\"has-inline-color\">  Chromosome chromStart chromEnd     Data\n1       chr1   45000000 49999999 0.070859\n2       chr1   55000000 59999999 0.300460\n3       chr1   60000000 64999999 0.125421\n4       chr1   70000000 74999999 0.158156\n5       chr1   75000000 79999999 0.163540\n6       chr1   80000000 84999999 0.342921<\/mark><\/em>\n<span style=\"color: #ff0000;\"><em>RCircos.Histogram.Plot(RCircos.Histogram.Data, data.col = 4, track.num = 8, side = \"in\")<\/em><\/span>\n\n<span style=\"color: #ff0000;\"><em># tile plot on the 9th track<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>data(RCircos.Tile.Data)<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>head(RCircos.Tile.Data)<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#3205ef\" class=\"has-inline-color\">  Chromosome chromStart  chromEnd\n1       chr1          0  23900000\n2       chr1   12700000  44100000\n3       chr1   28000000  68900000\n4       chr1   59000000  94700000\n5       chr1   99700000 120600000\n6       chr1  147000000 234700000<\/mark><\/em>\n<span style=\"color: #ff0000;\"><em>RCircos.Tile.Plot(RCircos.Tile.Data, track.num = 9, side = \"in\")<\/em><\/span>\n<span style=\"color: #0000ff;\"><em>Tiles plot may use more than one track. Please select correct area for next track if necessary.<\/em><\/span>\n\n<span style=\"color: #ff0000;\"><em># Link line plot on the 9th track<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>data(RCircos.Link.Data)<\/em><\/span>\n<span style=\"color: #ff0000;\"><em>head(RCircos.Link.Data)<\/em><\/span>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#2802ef\" class=\"has-inline-color\">  Chromosome chromStart  chromEnd Chromosome.1 chromStart.1 chromEnd.1\n1       chr1    8284703   8285399         chr1      8285752    8286389\n2       chr1   85980143  85980624         chr7    123161313  123161687\n3       chr1  118069850 118070319         chr1    118070329  118070689\n4       chr1  167077258 167077658         chr1    169764630  169764965\n5       chr1  171671272 171671550         chr1    179790879  179791292\n6       chr1  174333479 174333875         chr6    101861516  101861840<\/mark><\/em>\n<span style=\"color: #ff0000;\"><em>RCircos.Link.Plot(RCircos.Link.Data, track.num = 11, by.chromosome = FALSE)<\/em><\/span><\/code><\/pre>\n\n\n\n<p>Depending on the speed of your computer, it may take some time for the plot to be draw:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"959\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/06\/Screenshot-2018-11-27-20.45.47-1024x959.png\" alt=\"\" class=\"wp-image-3616\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/06\/Screenshot-2018-11-27-20.45.47-1024x959.png 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/06\/Screenshot-2018-11-27-20.45.47-300x281.png 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/06\/Screenshot-2018-11-27-20.45.47-768x719.png 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/06\/Screenshot-2018-11-27-20.45.47.png 1292w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>RCircos can be used to make chromosome ideograms.&nbsp;The example below uses the hg19 assembly (GRCh37) as reference. However, the newer (hg38 \/ GRCh38) can also be downloaded, manipulated and used instead. It is important to use the appropriate reference assembly when working with genomic data. Install \/ open the package and create a default plot [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-2499","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/pages\/2499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/comments?post=2499"}],"version-history":[{"count":2,"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/pages\/2499\/revisions"}],"predecessor-version":[{"id":4581,"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/pages\/2499\/revisions\/4581"}],"wp:attachment":[{"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/media?parent=2499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}