前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GENESPACE优雅的绘制基因组共线性图

GENESPACE优雅的绘制基因组共线性图

作者头像
R语言数据分析指南
发布2023-08-18 13:44:43
4970
发布2023-08-18 13:44:43
举报

欢迎关注R语言数据分析指南

❝本节来介绍一个用于多个基因组的共线性和直系同源模式分析及可视化的R包「GENESPACE」,软件运行需要依赖其它软件如「OrthoFinder、MCScanX」等,分析环境配置好可以一站式完成数据的分析及可视化同时具有很高的自定性。小编下面进行部分的结果展示,软件安装等更多的详细内容请参考作者的官方文档。 ❞

官方文档

❝https://github.com/jtlovell/GENESPACE (https://htmlpreview.github.io/?https://github.com/jtlovell/tutorials/blob/main/riparianGuide.html) ❞

软件安装

代码语言:javascript
复制
if (!requireNamespace("devtools", quietly = TRUE))
    install.packages("devtools")
devtools::install_github("jtlovell/GENESPACE")

library(GENESPACE)

定义软件路径

代码语言:javascript
复制
genomeRepo <- "~/path/to/store/rawGenomes"
wd <- "~/path/to/genespace/workingDirectory"
path2mcscanx <- "~/path/to/MCScanX/"

下载基因组数据

代码语言:javascript
复制
urls <- c(
  human ="000/001/405/GCF_000001405.40_GRCh38.p14/GCF_000001405.40_GRCh38.p14_",
  mouse = "000/001/635/GCF_000001635.27_GRCm39/GCF_000001635.27_GRCm39_",
  platypus = "004/115/215/GCF_004115215.2_mOrnAna1.pri.v4/GCF_004115215.2_mOrnAna1.pri.v4_",
  chicken = "016/699/485/GCF_016699485.2_bGalGal1.mat.broiler.GRCg7b/GCF_016699485.2_bGalGal1.mat.broiler.GRCg7b_",
  sandLizard = "009/819/535/GCF_009819535.1_rLacAgi1.pri/GCF_009819535.1_rLacAgi1.pri_")

genomes2run <- names(urls)
urls <- file.path("https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF", urls)
translatedCDS <- sprintf("%stranslated_cds.faa.gz", urls)
geneGff <- sprintf("%sgenomic.gff.gz", urls)

names(translatedCDS) <- genomes2run
names(geneGff) <- genomes2run
writeDirs <- file.path(genomeRepo, genomes2run)
names(writeDirs) <- genomes2run
for(i in genomes2run){
  print(i)
  if(!dir.exists(writeDirs[i]))
    dir.create(writeDirs[i])
  download.file(
    url = geneGff[i], 
    destfile = file.path(writeDirs[i], basename(geneGff[i])))
  download.file(
    url = translatedCDS[i], 
    destfile = file.path(writeDirs[i], basename(translatedCDS[i])))
}

解析基因组注释文件

代码语言:javascript
复制
genomes2run <- c("human", "mouse", "platypus", "chicken", "sandLizard")
parsedPaths <- parse_annotations(
  rawGenomeRepo = genomeRepo,
  genomeDirs = genomes2run,
  genomeIDs = genomes2run,
  presets = "ncbi",
  genespaceWd = wd)

软件运行

代码语言:javascript
复制
gpar <- init_genespace(
  wd = wd,
  ploidy = 1, 
  path2mcscanx = path2mcscanx)
out <- run_genespace(gpar, overwrite = T)

数据可视化

代码语言:javascript
复制
ripDat <- plot_riparian(
  gsParam = out, 
  refGenome = "human", 
  forceRecalcBlocks = FALSE)
代码语言:javascript
复制
ripDat <- plot_riparian(
  out, 
  refGenome = "human",
  useOrder = FALSE, 
  useRegions = FALSE)
更改顺序
代码语言:javascript
复制
ripDat <- plot_riparian(
  gsParam = out, 
  refGenome = "mouse",
  genomeIDs = c("mouse", "human", "platypus", "chicken"), 
  forceRecalcBlocks = FALSE)
调整排序
代码语言:javascript
复制
ripDat <- plot_riparian(
  gsParam = out, 
  #reorderBySynteny = FALSE,
  syntenyWeight = 0,
  refGenome = "human")

自定义标签

代码语言:javascript
复制
ggthemes <- ggplot2::theme(
  panel.background = ggplot2::element_rect(fill = "white"))
customPal <- colorRampPalette(
  c("darkorange", "skyblue", "darkblue", "purple", "darkred", "salmon"))
ripDat <- plot_riparian(
  gsParam = out, 
  palette = customPal,
  braidAlpha = .75,
  chrFill = "lightgrey",
  addThemes = ggthemes,
  refGenome = "human")
部分区域高亮展示
代码语言:javascript
复制
roi <- data.frame(
  genome = c("human", "chicken"), 
  chr = c("X", "Z"), 
  color = c("#FAAA1D", "#17B5C5"))
ripDat <- plot_riparian(
  gsParam = out, 
  highlightBed = roi,
  refGenome = "human", 
  genomeIDs = c("sandLizard", "chicken", "human", "mouse", "platypus"),
  customRefChrOrder = c("X", 1:22))
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 欢迎关注R语言数据分析指南
  • 官方文档
  • 软件安装
  • 定义软件路径
  • 下载基因组数据
  • 解析基因组注释文件
  • 软件运行
  • 数据可视化
    • 更改顺序
      • 调整排序
      • 自定义标签
        • 部分区域高亮展示
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档