gggenes绘制多物种基因结构比较
gggenes是ggplot2的擴(kuò)展包,用于繪制基因結(jié)構(gòu)圖、多物種基因比較圖的很好玩的工具。
1初識(shí)ggplot2繪制幾何對(duì)象
12個(gè)ggplot2擴(kuò)展包幫你實(shí)現(xiàn)更強(qiáng)大的可視化
ggplot2學(xué)習(xí)筆記之圖形排列
ggplot2高效實(shí)用指南 (可視化腳本、工具、套路、配色)
一個(gè)震撼的交互型3D可視化R包 - 可直接轉(zhuǎn)ggplot2圖為3D
安裝
一種是安裝穩(wěn)定版本的gggene
另一種是從github上安裝開發(fā)版
devtools::install_github("wilkox/gggenes")下面是用的數(shù)據(jù)內(nèi)容如下:
example_genes包括118行和6個(gè)變量。每一行代表一個(gè)基因或一個(gè)區(qū)域;列分別是:
molecule:基因組名字
gene: 基因名字 the name of the gene
start: 基因在基因組開始位置 (如果在負(fù)鏈,注意起始位置的寫法跟bed文件不同了)
end: 基因結(jié)束位置 (負(fù)鏈的基因起始位置絕對(duì)值大于結(jié)束位置)
strand: 基因?qū)儆谀臈l鏈 (可選)
如果想顯示基因的子區(qū)域,如外顯子、或翻譯為特定功能域的區(qū)域等。
example_subgenes多了三列信息:
subgeme: 子片段名字
from: 子片段開始位置
to: 子片段結(jié)束位置
用geom_gene_arrow()畫基因箭頭
geom_gene_arrow()是一個(gè)ggplot2幾何性狀,它用箭頭表示基因。基因在分子內(nèi)的起始和結(jié)束位置分別映射到xmin和xmax。這些開始和結(jié)束位置用于確定箭頭指向的方向。基因組信息molecule映射到y(tǒng)軸。如果繪制的基因來(lái)自不同基因組的位置的數(shù)值相差很大,一般指定scale =“free”來(lái)調(diào)整橫軸的坐標(biāo)展示,以避免部分?jǐn)?shù)字太大壓縮了小基因組的基因的展示。
library(ggplot2) library(gggenes)ggplot(example_genes, aes(xmin = start, xmax = end, y = molecule, fill = gene)) +geom_gene_arrow() +facet_wrap(~ molecule, scales = "free", ncol = 1) +scale_fill_brewer(palette = "Set3")用theme_genes美化圖形
由于生成的圖可能看起來(lái)很混亂,因此ggplot2主題theme_genes提供了一些合理的缺省值美化結(jié)果。
ggplot(example_genes, aes(xmin = start, xmax = end, y = molecule, fill = gene)) +geom_gene_arrow() +facet_wrap(~ molecule, scales = "free", ncol = 1) +scale_fill_brewer(palette = "Set3") +theme_genes()使用make_alignment_dummies()跨面對(duì)齊基因
通常我們會(huì)想要所有物種按某一個(gè)指定的基因?qū)R,比如下面例子中的geneE。make_alignment_dummies()會(huì)根據(jù)給定的數(shù)據(jù)和待對(duì)齊的基因,生成一組空基因;再使用geom_blank()將這些空基因添加到繪圖中,就可以填充兩側(cè)的空白,以在圖上直觀地對(duì)齊所選的基因。
dummies <- make_alignment_dummies(example_genes,aes(xmin = start, xmax = end, y = molecule, id = gene),on = "genE" )ggplot(example_genes, aes(xmin = start, xmax = end, y = molecule, fill = gene)) +geom_gene_arrow() +geom_blank(data = dummies) +facet_wrap(~ molecule, scales = "free", ncol = 1) +scale_fill_brewer(palette = "Set3") +theme_genes()用geom_gene_label()標(biāo)記基因
把基因名字所在的列名字映射到label屬性可以在圖上標(biāo)記每個(gè)基因的名字。geom_gene_label()使用ggfittext包將標(biāo)簽文本放入基因箭頭內(nèi)。
ggplot(example_genes,aes(xmin = start, xmax = end, y = molecule, fill = gene, label = gene)) +geom_gene_arrow(arrowhead_height = unit(3, "mm"), arrowhead_width = unit(1, "mm")) +geom_gene_label(align = "left") +geom_blank(data = dummies) +facet_wrap(~ molecule, scales = "free", ncol = 1) +scale_fill_brewer(palette = "Set3") +theme_genes()正負(fù)鏈基因分開展示
forward屬性可以用于在同一張圖分開正負(fù)鏈基因的展示。如果forward為TRUE(默認(rèn)值),或者任何強(qiáng)制為TRUE的值(如1),則該基因?qū)⒈焕L制為指向正常方向,即xmin和xmax所暗指的方向。如果forward為FALSE,或者任何強(qiáng)制為假的值(如-1),則該基因?qū)窗抵阜较虻南喾捶较蚶L制。
在下面的例子中,forward被用來(lái)反轉(zhuǎn)所有反鏈上所有的基因方向,與xmin和xmax暗指的方向相反。
example_genes$direction <- ifelse(example_genes$strand == "forward", 1, -1) ggplot(subset(example_genes, molecule == "Genome1"),aes(xmin = start, xmax = end, y = strand, fill = gene, forward = direction)) +geom_gene_arrow() +theme_genes()查看子基因(subgene)片段
我們可以使用geom_subgene_arrow()突出顯示子基因片段,例如蛋白功能域或局部比對(duì)區(qū)域。
這與geom_gene_arrow()類似,但是除了xmin和xmax(確定基因邊界)之外,我們還需要xsubmin和xsubmax來(lái)確定子區(qū)域的邊界。如果子區(qū)域的邊界超出了基因區(qū)域,則跳過(guò)該子區(qū)域,并彈出警告。配合geom_gene_arrow()不給基因上色,而只標(biāo)記子區(qū)域。
ggplot(example_genes, aes(xmin = start, xmax = end, y = molecule)) +facet_wrap(~ molecule, scales = "free", ncol = 1) +geom_gene_arrow(fill = "white") +geom_subgene_arrow(data = example_subgenes,aes(xmin = start, xmax = end, y = molecule, fill = gene,xsubmin = from, xsubmax = to), color="black", alpha=.7) +theme_genes()使用geom_subgene_label()給子區(qū)域在圖上加標(biāo)簽,它的工作原理類似于geom_gene_label(),但主要的區(qū)別是它需要xsubmin和xsubmax屬性 (而不是xmin和xmax)。
ggplot(subset(example_genes, molecule == "Genome4" & gene == "genA"),aes(xmin = start, xmax = end, y = strand)) +geom_gene_arrow() +geom_gene_label(aes(label = gene)) +geom_subgene_arrow(data = subset(example_subgenes, molecule == "Genome4" & gene == "genA"),aes(xsubmin = from, xsubmax = to, fill = subgene)) +geom_subgene_label(data = subset(example_subgenes, molecule == "Genome4" & gene == "genA"),aes(xsubmin = from, xsubmax = to, label = subgene),min.size = 0)高顏值免費(fèi)在線繪圖
R統(tǒng)計(jì)和作圖
文章用圖的修改和排版 (1)
文章用圖的修改和排版 (2)
簡(jiǎn)單強(qiáng)大的在線繪圖
簡(jiǎn)單強(qiáng)大的在線繪圖-升級(jí)版
簡(jiǎn)單強(qiáng)大的在線繪圖-第3版
論文圖表基本規(guī)范
學(xué)術(shù)圖表的基本配色方法
數(shù)據(jù)可視化基本套路總結(jié)
Graphpad,經(jīng)典繪圖工具初學(xué)初探
你的包佩奇了嗎?試試新版Rstudio,自動(dòng)提醒缺失包!
原來(lái)Rstudio還可以這么使用,又方便了一些
在R中贊揚(yáng)下努力工作的你,獎(jiǎng)勵(lì)一份CheatShet
別人的電子書,你的電子書,都在bookdown
R語(yǔ)言 - 入門環(huán)境Rstudio
R語(yǔ)言 - 熱圖繪制 (heatmap)
R語(yǔ)言 - 基礎(chǔ)概念和矩陣操作
R語(yǔ)言 - 熱圖簡(jiǎn)化
R語(yǔ)言 - 熱圖美化
R語(yǔ)言 - 線圖繪制
R語(yǔ)言 - 線圖一步法
R語(yǔ)言 - 箱線圖(小提琴圖、抖動(dòng)圖、區(qū)域散點(diǎn)圖)
R語(yǔ)言 - 箱線圖一步法
R語(yǔ)言 - 火山圖
R語(yǔ)言 - 富集分析泡泡圖
R語(yǔ)言 - 散點(diǎn)圖繪制
R語(yǔ)言 - 韋恩圖
R語(yǔ)言 - 柱狀圖
R語(yǔ)言 - 圖形設(shè)置中英字體
R語(yǔ)言 - 非參數(shù)法生存分析
R語(yǔ)言 - 繪制seq logo圖
WGCNA分析,簡(jiǎn)單全面的最新教程
psych +igraph:共表達(dá)網(wǎng)絡(luò)構(gòu)建
一文學(xué)會(huì)網(wǎng)絡(luò)分析——Co-occurrence網(wǎng)絡(luò)圖在R中的實(shí)現(xiàn)
一文看懂PCA主成分分析
富集分析DotPlot,可以服
基因共表達(dá)聚類分析和可視化
R中1010個(gè)熱圖繪制方法
還在用PCA降維?快學(xué)學(xué)大牛最愛的t-SNE算法吧, 附Python/R代碼
一個(gè)函數(shù)抓取代謝組學(xué)權(quán)威數(shù)據(jù)庫(kù)HMDB的所有表格數(shù)據(jù)
文章用圖的修改和排版
network3D: 交互式桑基圖
network3D 交互式網(wǎng)絡(luò)生成
Seq logo 在線繪制工具——Weblogo
生物AI插圖素材獲取和拼裝指導(dǎo)
ggplot2高效實(shí)用指南 (可視化腳本、工具、套路、配色)
圖像處理R包magick學(xué)習(xí)筆記
SOM基因表達(dá)聚類分析初探
利用gganimate可視化全球范圍R-Ladies(R社區(qū)性別多樣性組織)發(fā)展情況
一分鐘繪制磷脂雙分子層:AI零基礎(chǔ)入門和基本圖形繪制
AI科研繪圖(二):模式圖的基本畫法
你知道R中的賦值符號(hào)箭頭(<-)和等號(hào)(=)的區(qū)別嗎?
R語(yǔ)言可視化學(xué)習(xí)筆記之ggridges包
利用ComplexHeatmap繪制熱圖(一)
ggplot2學(xué)習(xí)筆記之圖形排列
R包reshape2,輕松實(shí)現(xiàn)長(zhǎng)、寬數(shù)據(jù)表格轉(zhuǎn)換
用R在地圖上繪制網(wǎng)絡(luò)圖的三種方法
PCA主成分分析實(shí)戰(zhàn)和可視化 附R代碼和測(cè)試數(shù)據(jù)
iTOL快速繪制顏值最高的進(jìn)化樹!
12個(gè)ggplot2擴(kuò)展包幫你實(shí)現(xiàn)更強(qiáng)大的可視化
編程模板-R語(yǔ)言腳本寫作:最簡(jiǎn)單的統(tǒng)計(jì)與繪圖,包安裝、命令行參數(shù)解析、文件讀取、表格和矢量圖輸出
R語(yǔ)言統(tǒng)計(jì)入門課程推薦——生物科學(xué)中的數(shù)據(jù)分析Data Analysis for the Life Sciences
數(shù)據(jù)可視化基本套路總結(jié)
你知道R中的賦值符號(hào)箭頭<-和等號(hào)=的區(qū)別嗎?
使用dplyr進(jìn)行數(shù)據(jù)操作30例
交集intersect、并集union、找不同setdiff
1數(shù)據(jù)類型(向量、數(shù)組、矩陣、 列表和數(shù)據(jù)框)
2讀寫數(shù)據(jù)所需的主要函數(shù)、與外部環(huán)境交互
3數(shù)據(jù)篩選——提取對(duì)象的子集
4向量、矩陣的數(shù)學(xué)運(yùn)算
5控制結(jié)構(gòu)
6函數(shù)及作用域
7認(rèn)識(shí)循環(huán)函數(shù)lapply和sapply
8分解數(shù)據(jù)框split和查看對(duì)象str
9模擬—隨機(jī)數(shù)、抽樣、線性模型
1初識(shí)ggplot2繪制幾何對(duì)象
2圖層的使用—基礎(chǔ)、加標(biāo)簽、注釋
3工具箱—誤差線、加權(quán)數(shù)、展示數(shù)據(jù)分布
4語(yǔ)法基礎(chǔ)
5通過(guò)圖層構(gòu)建圖像
6標(biāo)度、軸和圖例
7定位-分面和坐標(biāo)系
8主題設(shè)置、存儲(chǔ)導(dǎo)出
9繪圖需要的數(shù)據(jù)整理技術(shù)
創(chuàng)建屬于自己的調(diào)色板
28個(gè)實(shí)用繪圖包,總有幾個(gè)適合你
熱圖繪制
R做線性回歸
繪圖相關(guān)系數(shù)矩陣corrplot
相關(guān)矩陣可視化ggcorrplot
繪制交互式圖形recharts
交互式可視化CanvasXpress
聚類分析factoextra
LDA分析、作圖及添加置信-ggord
解決散點(diǎn)圖樣品標(biāo)簽重疊ggrepel
添加P值或顯著性標(biāo)記ggpubr
Alpha多樣性稀釋曲線rarefraction curve
堆疊柱狀圖各成分連線畫法:突出組間變化
沖擊圖展示組間時(shí)間序列變化ggalluvial
桑基圖riverplot
微生物環(huán)境因子分析ggvegan
五彩進(jìn)化樹與熱圖更配ggtree
多元回歸樹分析mvpart
隨機(jī)森林randomForest?分類Classification?回歸Regression
加權(quán)基因共表達(dá)網(wǎng)絡(luò)分析WGCNA
circlize包繪制circos-plot
R語(yǔ)言搭建炫酷的線上博客系統(tǒng)
維恩(Venn)圖繪制工具大全 (在線+R包)
R包c(diǎn)irclize:柱狀圖用膩了?試試好看的弦狀圖
獲取pheatmap聚類后和標(biāo)準(zhǔn)化后的結(jié)果
增強(qiáng)火山圖,要不要試一下?
一個(gè)震撼的交互型3D可視化R包 - 可直接轉(zhuǎn)ggplot2圖為3D
贈(zèng)你一只金色的眼 - 富集分析和表達(dá)數(shù)據(jù)可視化
是Excel的圖,不!是R的圖
道友,來(lái)Rstudio里面看動(dòng)畫了
用了這么多年的PCA可視化竟然是錯(cuò)的!!!
萬(wàn)能轉(zhuǎn)換:R圖和統(tǒng)計(jì)表轉(zhuǎn)成發(fā)表級(jí)的Word、PPT、Excel、HTML、Latex、矢量圖等
那天空飄過(guò)的梅花月餅,是今年中秋最好的禮物
2019年諾貝爾生理醫(yī)學(xué)獎(jiǎng)揭曉 |動(dòng)圖展示歷年生理學(xué)獎(jiǎng)
2019年諾貝爾化學(xué)獎(jiǎng)揭曉 |八一八,那些年的諾貝爾化學(xué)獎(jiǎng)
cellassign:用于腫瘤微環(huán)境分析的單細(xì)胞注釋工具(9月Nature)
maftools|TCGA腫瘤突變數(shù)據(jù)的匯總,分析和可視化
ggThemeAssist|鼠標(biāo)調(diào)整主題,并返回代碼
往期精品
畫圖三字經(jīng)?生信視頻?生信系列教程?
心得體會(huì)?TCGA數(shù)據(jù)庫(kù)?Linux?Python?
高通量分析?免費(fèi)在線畫圖?測(cè)序歷史?超級(jí)增強(qiáng)子
生信學(xué)習(xí)視頻?PPT?EXCEL?文章寫作?ggplot2
海哥組學(xué)?可視化套路?基因組瀏覽器
色彩搭配?圖形排版?互作網(wǎng)絡(luò)
自學(xué)生信?2019影響因子?GSEA?單細(xì)胞?
后臺(tái)回復(fù)“生信寶典福利第一波”或點(diǎn)擊閱讀原文獲取教程合集
總結(jié)
以上是生活随笔為你收集整理的gggenes绘制多物种基因结构比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 公众号标题变迁史 - 你有没有被套路?
- 下一篇: 总被审稿人提起的多重假设检验校正是什么?