91肥熟国产老肥熟女,亚洲天堂在线观看视频,国产真实乱婬A片三区高清蜜臀,国产做受91 一片二
 分類: 文獻解讀

Circos圖是在基因組相關(guān)的分析結(jié)果展示中非常常見的一類圖型。由于Circos圖中展示的信息量大,圖形十分美觀,很多文章中都會繪制類似的圖形。從圖形的內(nèi)容來看,Circos圖實際是將多個類型的圖片,包括散點圖、直方圖、折線圖、熱圖等,經(jīng)過變形以后疊加顯示在染色體上。本質(zhì)上是多個圖形的組合。

在R語言中,RCircos這個軟件包可以實現(xiàn)快速生成Circos圖片。接下來,我們就來看看怎樣用R來繪制圈圖。

1、基礎(chǔ)繪圖

# 加載RCicos,如果第一次使用,需要先安裝 install.packages('RCircos')# 讀取R包 library(RCircos)# 導(dǎo)入內(nèi)建人類染色體數(shù)據(jù) data(UCSC.HG38.Human.CytoBandIdeogram)

# 數(shù)據(jù)內(nèi)容如上圖;第一列?染色體編號;第二列?染色體片段起始位點;第三列?染色體片段結(jié)束位點;第四列?染色體片段編號;第五列?染色體片段顏色
# 這個數(shù)據(jù)是RCicos內(nèi)置的人類染色體信息,第四列和第五列信息用于展示染色體的核型??梢允÷浴?/span>

#?設(shè)置染色體數(shù)據(jù) cyto.info?<-?UCSC.HG38.Human.CytoBandIdeogram

RCircos.Set.Core.Components(cyto.info,?chr.exclude=NULL,tracks.inside=10,?tracks.outside=0?)
# chr.exclude=NULL;??設(shè)置不顯示的染色體,如?c(1,3)??????????
# tracks.inside=10;??設(shè)置內(nèi)部環(huán)形個數(shù)
# tracks.outside=0;???設(shè)置外部環(huán)形個數(shù)??

#?繪制染色體圖形,默認方法顯示染色體名稱。 RCircos.Set.Plot.Area()????? RCircos.Chromosome.Ideogram.Plot()?

這樣僅包含染色體的圈圖就生成了:

2、繪制包含數(shù)據(jù)的圖形

#?導(dǎo)入內(nèi)建人類染色體數(shù)據(jù) data(UCSC.HG19.Human.CytoBandIdeogram); #設(shè)置不顯示的染色體,如?c(1,3)??? chr.exclude?<-?NULL;? #設(shè)置染色體數(shù)據(jù) cyto.info?<-?UCSC.HG19.Human.CytoBandIdeogram;? #設(shè)置內(nèi)部環(huán)形個數(shù) tracks.inside?<-?10;? #設(shè)置外部環(huán)形個數(shù) tracks.outside?<-?0;? #?導(dǎo)入上面四個基本參數(shù) RCircos.Set.Core.Components(cyto.info,?chr.exclude,?tracks.inside,?tracks.outside); #?列出所有繪圖參數(shù) RCircos.List.Plot.Parameters() #?定義要生成的圖像文件 pdf(file="RCircosDemoHumanGenome",?height=8,?width=8,?compress=TRUE); RCircos.Set.Plot.Area(); #?height和width指定生成圖片的長和寬,compress指定生成的圖片是否需要壓縮 #?繪制染色體圖形 RCircos.Chromosome.Ideogram.Plot();

3、染色體上添加基因名稱與連線

# 加載內(nèi)置的RCircos.Gene.Label.Data數(shù)據(jù)集

data(RCircos.Gene.Label.Data); 

#?數(shù)據(jù)內(nèi)容如上圖,第一列?染色體編號,需要與第一步導(dǎo)入的染色體數(shù)據(jù)一致;第二列?基因在染色體片段起始位點;第三列?基因在染色體片段結(jié)束位點;第四列?基因名

#?指定內(nèi)容在內(nèi)側(cè)的環(huán)形還是外側(cè)的環(huán)形生成 side?<-?"in";#?指定內(nèi)容在第幾個環(huán)形生成 track.num?<-?1;#?繪圖 RCircos.Gene.Connector.Plot(RCircos.Gene.Label.Data,?track.num,?side); #?在染色體上添加基因名稱,?指定內(nèi)容在第幾個環(huán)形生成 name.col?<-?4;#?指定基因名在數(shù)據(jù)的第幾列 track.num?<-?2;#?繪圖 RCircos.Gene.Name.Plot(RCircos.Gene.Label.Data,?name.col,track.num,?side);

4、添加熱圖類型的環(huán)形

# 加載內(nèi)置的RCircos.Heatmap.Data數(shù)據(jù)集
data(RCircos.Heatmap.Data);

#?這個數(shù)據(jù)集中是6個不同樣本的基因表達量數(shù)據(jù),數(shù)據(jù)內(nèi)容如上圖,第一列?染色體編號,需要與第一步導(dǎo)入的染色體數(shù)據(jù)一致;第二列?基因在染色體片段起始位點;第三列?基因在染色體片段結(jié)束位點;第四列?基因名;第五列及以后?基因在不同樣本中的表達量

#?指定以第6列數(shù)據(jù)生成熱圖 data.col?<-?6; #?指定內(nèi)容在第5個環(huán)形生成 track.num?<-?5;#?指定內(nèi)容在內(nèi)側(cè)的環(huán)形生成 side?<-?"in";#?繪圖 RCircos.Heatmap.Plot(RCircos.Heatmap.Data,?data.col,?track.num,?side);

5、添加散點圖類型的環(huán)形

#?加載內(nèi)置的RCircos.Scatter.Data數(shù)據(jù)集
data(RCircos.Scatter.Data);

#?這個數(shù)據(jù)集是拷貝數(shù)變異的數(shù)據(jù),數(shù)據(jù)內(nèi)容如上圖,第一列?染色體編號,需要與第一步導(dǎo)入的染色體數(shù)據(jù)一致;第二列?突變位點在染色體片段起始位點;第三列?突變位點在染色體片段結(jié)束位點;第四列?突變位點拷貝數(shù);第五列?突變平均置信度

#?指定以第5列數(shù)據(jù)圖形中散點縱坐標 data.col?<-?5;#?指定圖形在第6個環(huán)形生成 track.num?<-?6;#?指定圖形在內(nèi)側(cè)環(huán)形生成 side?<-?"in";#?指定數(shù)據(jù)大于1的點以紅色顯示,小于數(shù)據(jù)1的點以藍色顯示 by.fold?<-?1;#?繪圖 RCircos.Scatter.Plot(RCircos.Scatter.Data,?data.col,track.num,?side,?by.fold);

6、添加折線圖類型的環(huán)形

# 加載內(nèi)置的RCircos.Line.Data數(shù)據(jù)集
data(RCircos.Line.Data);

# 由于這個數(shù)據(jù)集的染色體編號與第一步導(dǎo)入的染色體數(shù)據(jù)不一致,需要在編號前添加chr
RCircos.Line.Data$chromosome?<-?paste(‘chr’,RCircos.Line.Data$chromosome,sep?=?)

#?指定以第5列數(shù)據(jù)做為圖形中拆線的縱坐標 data.col?<-?5;#?指定圖形在第7個環(huán)形生成 track.num?<-?7;#?指定圖形在內(nèi)側(cè)環(huán)形生成 side?<-?"in";#?繪圖 RCircos.Line.Plot(RCircos.Line.Data,?data.col,?track.num,?side);

7、添加直方圖類型的環(huán)形

# 加載內(nèi)置的RCircos.Histogram.Data數(shù)據(jù)集 data(RCircos.Histogram.Data);

#?這個數(shù)據(jù)集是染色體片段突變頻率的數(shù)據(jù),數(shù)據(jù)內(nèi)容如上圖,第一列?染色體編號;第二列?染色體片段起始位點;第三列?染色體片段結(jié)束位點;第四列?染色體片段突變頻率

#?指定以第4列數(shù)據(jù)做為圖形中直方的縱坐標 data.col?<-?4;#?指定圖形在第8個環(huán)形生成 track.num?<-?8;#?指定圖形在內(nèi)側(cè)環(huán)形生成 side?<-?"in";#?繪圖 RCircos.Histogram.Plot(RCircos.Histogram.Data,?data.col,?track.num,?side);

8、添加網(wǎng)絡(luò)圖類型的環(huán)形

# 加載內(nèi)置的RCircos.Tile.Data數(shù)據(jù)集 data(RCircos.Tile.Data);

#?數(shù)據(jù)內(nèi)容如上圖,第一列?染色體編號;第二列?需要繪制的網(wǎng)格在染色體片段的起始位點;第三列?需要繪制的網(wǎng)格在染色體片段的結(jié)束位點

#?指定圖形在第9個環(huán)形生成 track.num?<-?9;#?指定圖形在內(nèi)側(cè)環(huán)形生成 side?<-?"in";#?繪圖 RCircos.Tile.Plot(RCircos.Tile.Data,?track.num,?side);

9、添加一個或多個基因間的聯(lián)系曲線

# 加載內(nèi)置的RCircos.Link.Data數(shù)據(jù)集 data(RCircos.Link.Data);

#?數(shù)據(jù)內(nèi)容如上圖,第一列?染色體編號;第二列?聯(lián)系位點在染色體片段的起始位點;第三列?聯(lián)系位點在染色體片段的結(jié)束位點;第四列?聯(lián)系位點在所在的另一個染色體編號;第五列?聯(lián)系位點在所在的另一個染色體片段的起始位點;第六列?聯(lián)系位點在所在的另一個染色體片段的結(jié)束位點

#?指定圖形在第11個環(huán)形生成 track.num?<-?11;#?繪圖 RCircos.Link.Plot(RCircos.Link.Data,?track.num,?TRUE);

#?加載內(nèi)置的RCircos.Ribbon.Data數(shù)據(jù)集 data(RCircos.Ribbon.Data);

#?繪圖 RCircos.Ribbon.Plot(ribbon.data=RCircos.Ribbon.Data,?track.num=11,?by.chromosome=FALSE,?twist=FALSE); #?繪圖完成之后關(guān)閉圖形設(shè)備,保存圖片??梢栽诠ぷ髂夸浵抡业缴傻膱D片,默認是PDF格式? dev.off();

最終繪圖效果如下圖:

以上就是一個使用數(shù)據(jù)生成多個環(huán)形組合圖的過程。我們還可以根據(jù)自己的需要添加更多的類似圖形。只需要保證數(shù)據(jù)的結(jié)構(gòu)一致即可。同樣,也可以以上面的代碼為模板,把其它數(shù)據(jù)代換進去生成全新圖片。

 

如果您對這個繪圖還有其他問題,歡迎點擊下方按鈕聯(lián)系我們,我們將免費為您設(shè)計文章思路方案。

 

 

最近文章
国产一区 欧美 日韩 | 免费看黃色AAAA片 | 骚舔b三人av少妇 | 色综合天天综合网国产成人网 | 肉丝祙做爰在线播放无码 | 熟女老阿V8888AV | 久久久久久久久va豆产国 | 尤物视频免费在线观看 | 无码精品一区二区三区四区爱奇艺 | 久久成人电影免费在线观看 | 脫衣舞一区二区三区‘ | 国产精品扒开腿做爽爽爽A片唱戏 | 国产真实亲子伦脏话对白免费影视 | 欧美一级A片免费观看网站蜜桃 | 无码免费一区二区三区动漫 | 人妻人妻在线精品片98 | 国内外成人激情视频在线 | 啄木乌AV成人片在线观看 | 国产一级婬片A片AAA蜜臂 | 成人在线免费观看视频 | 国产性感美女在线观看av | 乱码精品一区二区三区丰满的岳站 | 黃色A片一级一级一级久别的草原 | ●苍井そらVIP破坏流出无码 | 国产一级婬片A片人妖 | 国产黄色视频黄色视频 | 国偷精品无码久久久久蜜桃软件 | 对白超刺激精彩粗话AV | 骚货人妻被操巨乳 | 国产精品无码久久久久 | 粉嫩AⅤ一区二区三区四区五区 | 爱爱爱爱爱爱爱爱性网站 | 亚洲无码在线观看视频 | 性XXXXXX乱大交色情 | 91久久偷窥撒尿一区二区 | 午夜日韩射精福利在线观看 | 免费无遮挡无码永久在线观看视频 | 免费在线观看黄片 | 成人精品AAAA网站 | 中文字幕手机在线观看 | 人人爽天天碰狠狠添天天躁 |