Circos圖可以通過Circos官方下載话肖。使用教程
個人感覺R畫出的圖莫名的有種優(yōu)越感多律。圖片優(yōu)美煤率,數(shù)據(jù)銜接方便涨岁。可視化,就首選R.
華人小哥帖努,開發(fā)了R包circlize用于Circos圖。circlize github地址
circlize在線電子書 Circular Visualization in R (jokergoo.github.io)
1.安裝circlize
install.packages("circlize")
2.circlize繪圖的原理
繪制是從外圈往內(nèi)圈说庭,一圈一圈繪制的然磷。
circos.clear()#初始化,如果前面繪制過刊驴,則清空畫布姿搜,從第一圈開始繪制
circos.par("track.height" = 0.1)#設(shè)置每一圈的高度為10%
circos.initializeWithIdeogram(plotType = NULL)
bed = generateRandomBed(nr = 100)
##第1圈
circos.genomicTrack(bed, panel.fun = function(region, value, ...) {
circos.genomicLines(region, value, type = "l", ...)#繪制基因組數(shù)據(jù),用折線
})
##第2圈
circos.genomicTrack(bed, numeric.column = 4,
panel.fun = function(region, value, ...) {
# numeric.column is automatically passed to `circos.genomicPoints()`
circos.genomicPoints(region, value,cex=0.25, ...)#繪制基因組數(shù)據(jù)捆憎,用散點
})
bed的數(shù)據(jù)格式是:
chr start end value1
1 chr1 14469506 18337628 0.84710953
2 chr1 30748362 37272545 -0.20273840
3 chr1 71335907 80561701 0.03841746
4 chr1 86693969 125073619 0.55653742
5 chr1 147936959 173168706 -0.30889214
6 chr1 178652869 179623084 0.03241299
該軟件提供的有genomic
的函數(shù)舅柜,是用于基因組分析。如果使用帶有genomic
的函數(shù)躲惰,注意染色體致份,這個默認(rèn)的染色體格式是chr1
這種類型,默認(rèn)的人類的染色體數(shù)據(jù)础拨。如果是其他格式的染色體編號氮块,需要設(shè)置如下
circos.genomicInitialize(IDM,major.by = 50000000)#后面的是設(shè)置刻度為大刻度為50M,每個大刻度默認(rèn)是有5個小刻度诡宗。前面的IDM是數(shù)據(jù)框滔蝉,用于自定義染色體數(shù)據(jù)。
IDM數(shù)據(jù)框的格式如下:
name start end
CHR01 1 120000000
CHR02 1 240000000
IDM第一列是你實際使用的染色體的名稱塔沃,第二列是起始位置1蝠引,第三列是染色體長度。
三列的列名必須和上面的列名完全一致蛀柴。
基礎(chǔ)繪圖函數(shù)
如果直接使用原生的函數(shù)繪制螃概,這樣就可以使用其他格式的染色體名稱。
可以繪制的圖形格式有:后面展示的是對應(yīng)的函數(shù)的需要的最少的參數(shù)個數(shù)
Points點 circos.points(x, y)
Lines線條circos.lines(x, y)
Segments面circos.segments(x0, y0, x1, y1)
Text文本circos.text(x, y, labels)
Rectangles矩形circos.rect(xleft, ybottom, xright, ytop)
polygons多邊形circos.polygon(x, y)
Axes坐標(biāo)軸circos.axis(h)
Barplots, boxplots and violin plots 柱狀圖鸽疾、箱線圖吊洼、小提琴圖
circos.barplot(value, 1:10 - 0.5, col = 1:10)
circos.boxplot(value, 1:10 - 0.5, col = 1:10)
circos.violin(value, pos)
Links連線
circos.link(sector.index1, 0, sector.index2, 0)
circos.link(sector.index1, 0, sector.index2, 0, rou1, rou2)
繪制熱圖、進(jìn)化樹
circos.heatmap()
基因組專用的函數(shù)
circos.initializeWithIdeogram()
circos.genomicInitialize()
circos.genomicTrack()
circos.genomicPoints()
circos.genomicLines()
circos.genomicText()
circos.genomicRect()
circos.genomicLink()
circos.genomicIdeogram()
基因組的坐標(biāo)軸
circos.genomicHeatmap()
circos.genomicLabels()
circos.genomicDensity()
circos.genomicRainfall()
高階函數(shù)
chordDiagram()
可以用于繪制共線性制肮,就是俗稱的弦圖冒窍。
批量執(zhí)行函數(shù)circos.track可以批量繪制圖形
circos.track(..., panel.fun = function(x, y) {
circos.points(x, y)
})
circos.points(x, y, sector.index, track.index)