日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gggenes绘制多物种基因结构比较

發布時間:2025/3/15 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gggenes绘制多物种基因结构比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://wilkox.org/gggenes/

gggenes是ggplot2的擴展包,用于繪制基因結構圖多物種基因比較圖的很好玩的工具。

  • 1初識ggplot2繪制幾何對象

  • 12個ggplot2擴展包幫你實現更強大的可視化

  • ggplot2學習筆記之圖形排列

  • ggplot2高效實用指南 (可視化腳本、工具、套路、配色)

  • 一個震撼的交互型3D可視化R包 - 可直接轉ggplot2圖為3D

安裝

一種是安裝穩定版本的gggene

install.packages("gggenes")

另一種是從github上安裝開發版

devtools::install_github("wilkox/gggenes")

下面是用的數據內容如下:

example_genes包括118行和6個變量。每一行代表一個基因或一個區域;列分別是:

  • molecule:基因組名字

  • gene: 基因名字 the name of the gene

  • start: 基因在基因組開始位置 (如果在負鏈,注意起始位置的寫法跟bed文件不同了)

  • end: 基因結束位置 (負鏈的基因起始位置絕對值大于結束位置)

  • strand: 基因屬于哪條鏈 (可選)

如果想顯示基因的子區域,如外顯子、或翻譯為特定功能域的區域等。

example_subgenes多了三列信息:

  • subgeme: 子片段名字

  • from: 子片段開始位置

  • to: 子片段結束位置

用geom_gene_arrow()畫基因箭頭

geom_gene_arrow()是一個ggplot2幾何性狀,它用箭頭表示基因。基因在分子內的起始和結束位置分別映射到xmin和xmax。這些開始和結束位置用于確定箭頭指向的方向。基因組信息molecule映射到y軸。如果繪制的基因來自不同基因組的位置的數值相差很大,一般指定scale =“free”來調整橫軸的坐標展示,以避免部分數字太大壓縮了小基因組的基因的展示。

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美化圖形

由于生成的圖可能看起來很混亂,因此ggplot2主題theme_genes提供了一些合理的缺省值美化結果。

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()跨面對齊基因

通常我們會想要所有物種按某一個指定的基因對齊,比如下面例子中的geneE。make_alignment_dummies()會根據給定的數據和待對齊的基因,生成一組空基因;再使用geom_blank()將這些空基因添加到繪圖中,就可以填充兩側的空白,以在圖上直觀地對齊所選的基因。

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()標記基因

把基因名字所在的列名字映射到label屬性可以在圖上標記每個基因的名字。geom_gene_label()使用ggfittext包將標簽文本放入基因箭頭內。

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()

正負鏈基因分開展示

forward屬性可以用于在同一張圖分開正負鏈基因的展示。如果forward為TRUE(默認值),或者任何強制為TRUE的值(如1),則該基因將被繪制為指向正常方向,即xmin和xmax所暗指的方向。如果forward為FALSE,或者任何強制為假的值(如-1),則該基因將按暗指方向的相反方向繪制。

在下面的例子中,forward被用來反轉所有反鏈上所有的基因方向,與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()突出顯示子基因片段,例如蛋白功能域或局部比對區域。

這與geom_gene_arrow()類似,但是除了xmin和xmax(確定基因邊界)之外,我們還需要xsubmin和xsubmax來確定子區域的邊界。如果子區域的邊界超出了基因區域,則跳過該子區域,并彈出警告。配合geom_gene_arrow()不給基因上色,而只標記子區域。

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()給子區域在圖上加標簽,它的工作原理類似于geom_gene_label(),但主要的區別是它需要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)

高顏值免費在線繪圖

R統計和作圖

  • 文章用圖的修改和排版 (1)

  • 文章用圖的修改和排版 (2)

  • 簡單強大的在線繪圖

  • 簡單強大的在線繪圖-升級版

  • 簡單強大的在線繪圖-第3版

  • 論文圖表基本規范

  • 學術圖表的基本配色方法

  • 數據可視化基本套路總結

  • Graphpad,經典繪圖工具初學初探

  • 你的包佩奇了嗎?試試新版Rstudio,自動提醒缺失包!

  • 原來Rstudio還可以這么使用,又方便了一些

  • 在R中贊揚下努力工作的你,獎勵一份CheatShet

  • 別人的電子書,你的電子書,都在bookdown

  • R語言 - 入門環境Rstudio

  • R語言 - 熱圖繪制 (heatmap)

  • R語言 - 基礎概念和矩陣操作

  • R語言 - 熱圖簡化

  • R語言 - 熱圖美化

  • R語言 - 線圖繪制

  • R語言 - 線圖一步法

  • R語言 - 箱線圖(小提琴圖、抖動圖、區域散點圖)

  • R語言 - 箱線圖一步法

  • R語言 - 火山圖

  • R語言 - 富集分析泡泡圖

  • R語言 - 散點圖繪制

  • R語言 - 韋恩圖

  • R語言 - 柱狀圖

  • R語言 - 圖形設置中英字體

  • R語言 - 非參數法生存分析

  • R語言 - 繪制seq logo圖

  • WGCNA分析,簡單全面的最新教程

  • psych +igraph:共表達網絡構建

  • 一文學會網絡分析——Co-occurrence網絡圖在R中的實現

  • 一文看懂PCA主成分分析

  • 富集分析DotPlot,可以服

  • 基因共表達聚類分析和可視化

  • R中1010個熱圖繪制方法

  • 還在用PCA降維?快學學大牛最愛的t-SNE算法吧, 附Python/R代碼

  • 一個函數抓取代謝組學權威數據庫HMDB的所有表格數據

  • 文章用圖的修改和排版

  • network3D: 交互式桑基圖

  • network3D 交互式網絡生成

  • Seq logo 在線繪制工具——Weblogo

  • 生物AI插圖素材獲取和拼裝指導

  • ggplot2高效實用指南 (可視化腳本、工具、套路、配色)

  • 圖像處理R包magick學習筆記

  • SOM基因表達聚類分析初探

  • 利用gganimate可視化全球范圍R-Ladies(R社區性別多樣性組織)發展情況

  • 一分鐘繪制磷脂雙分子層:AI零基礎入門和基本圖形繪制

  • AI科研繪圖(二):模式圖的基本畫法

  • 你知道R中的賦值符號箭頭(<-)和等號(=)的區別嗎?

  • R語言可視化學習筆記之ggridges包

  • 利用ComplexHeatmap繪制熱圖(一)

  • ggplot2學習筆記之圖形排列

  • R包reshape2,輕松實現長、寬數據表格轉換

  • 用R在地圖上繪制網絡圖的三種方法

  • PCA主成分分析實戰和可視化 附R代碼和測試數據

  • iTOL快速繪制顏值最高的進化樹!

  • 12個ggplot2擴展包幫你實現更強大的可視化

  • 編程模板-R語言腳本寫作:最簡單的統計與繪圖,包安裝、命令行參數解析、文件讀取、表格和矢量圖輸出

  • R語言統計入門課程推薦——生物科學中的數據分析Data Analysis for the Life Sciences

  • 數據可視化基本套路總結

  • 你知道R中的賦值符號箭頭<-和等號=的區別嗎?

  • 使用dplyr進行數據操作30例

  • 交集intersect、并集union、找不同setdiff

  • 1數據類型(向量、數組、矩陣、 列表和數據框)

  • 2讀寫數據所需的主要函數、與外部環境交互

  • 3數據篩選——提取對象的子集

  • 4向量、矩陣的數學運算

  • 5控制結構

  • 6函數及作用域

  • 7認識循環函數lapply和sapply

  • 8分解數據框split和查看對象str

  • 9模擬—隨機數、抽樣、線性模型

  • 1初識ggplot2繪制幾何對象

  • 2圖層的使用—基礎、加標簽、注釋

  • 3工具箱—誤差線、加權數、展示數據分布

  • 4語法基礎

  • 5通過圖層構建圖像

  • 6標度、軸和圖例

  • 7定位-分面和坐標系

  • 8主題設置、存儲導出

  • 9繪圖需要的數據整理技術

  • 創建屬于自己的調色板

  • 28個實用繪圖包,總有幾個適合你

  • 熱圖繪制

  • R做線性回歸

  • 繪圖相關系數矩陣corrplot

  • 相關矩陣可視化ggcorrplot

  • 繪制交互式圖形recharts

  • 交互式可視化CanvasXpress

  • 聚類分析factoextra

  • LDA分析、作圖及添加置信-ggord

  • 解決散點圖樣品標簽重疊ggrepel

  • 添加P值或顯著性標記ggpubr

  • Alpha多樣性稀釋曲線rarefraction curve

  • 堆疊柱狀圖各成分連線畫法:突出組間變化

  • 沖擊圖展示組間時間序列變化ggalluvial

  • 桑基圖riverplot

  • 微生物環境因子分析ggvegan

  • 五彩進化樹與熱圖更配ggtree

  • 多元回歸樹分析mvpart

  • 隨機森林randomForest?分類Classification?回歸Regression

  • 加權基因共表達網絡分析WGCNA

  • circlize包繪制circos-plot

  • R語言搭建炫酷的線上博客系統

  • 維恩(Venn)圖繪制工具大全 (在線+R包)

  • R包circlize:柱狀圖用膩了?試試好看的弦狀圖

  • 獲取pheatmap聚類后和標準化后的結果

  • 增強火山圖,要不要試一下?

  • 一個震撼的交互型3D可視化R包 - 可直接轉ggplot2圖為3D

  • 贈你一只金色的眼 - 富集分析和表達數據可視化

  • 是Excel的圖,不!是R的圖

  • 道友,來Rstudio里面看動畫了

  • 用了這么多年的PCA可視化竟然是錯的!!!

  • 萬能轉換:R圖和統計表轉成發表級的Word、PPT、Excel、HTML、Latex、矢量圖等

  • 那天空飄過的梅花月餅,是今年中秋最好的禮物

  • 2019年諾貝爾生理醫學獎揭曉 |動圖展示歷年生理學獎

  • 2019年諾貝爾化學獎揭曉 |八一八,那些年的諾貝爾化學獎

  • cellassign:用于腫瘤微環境分析的單細胞注釋工具(9月Nature)

  • maftools|TCGA腫瘤突變數據的匯總,分析和可視化

  • ggThemeAssist|鼠標調整主題,并返回代碼

往期精品

畫圖三字經?生信視頻?生信系列教程?

心得體會?TCGA數據庫?Linux?Python?

高通量分析?免費在線畫圖?測序歷史?超級增強子

生信學習視頻?PPT?EXCEL?文章寫作?ggplot2

海哥組學?可視化套路?基因組瀏覽器

色彩搭配?圖形排版?互作網絡

自學生信?2019影響因子?GSEA?單細胞?

后臺回復“生信寶典福利第一波”或點擊閱讀原文獲取教程合集

總結

以上是生活随笔為你收集整理的gggenes绘制多物种基因结构比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。