美文网首页
2020-11-02-遗传图谱的可视化

2020-11-02-遗传图谱的可视化

作者: 麦冬花儿 | 来源:发表于2020-11-02 15:40 被阅读0次

    将群体的遗传图谱构建完成之后,我们得到的是一个excel文件,一堆数据,那么在做工作汇报或者发表文章的时候,我们必须要将数据进行可视化,最传统的方法当然是使用mapchart,我一直也是使用mapchart,其将遗传图谱可视化的效果图如下:

    作为一个极度老牌的可视化软件,mapchart的弊端现在已经很明显了。在十几年前,一个群体的分子标记还很少,往往很普遍的情况是只有几百个SSR标记,而现在,随着测序行业的发展,随着SNP标记的普及,分子标记也越来越多,当分子标记多起来之后,mapchart的可视化结果就会很难看,很拥挤,很密集,甚至我用自己的2378个标记可视化时,出现了页面篇幅容纳不下这么多标记的情况,在无法使用mapchart可视化遗传图谱的情况下,我寻找到了另一种可视化遗传图谱的方法,它既能展示出每个标记在遗传图谱上的位置,同时还能用热图的形式展示出标记在遗传图谱上的密度。

    我使用的是一个叫“LinkageMapView”的R包,此包既能在windows下使用,也同时支持linux和Mac。需要的输入文件格式如下:

    文件分三列,第一行是header,三列分别为Group、Position、Locus。group代表的是遗传图谱上的连锁群,position指的是遗传图谱上每个标记的遗传距离,locus指的是标记的名字。

    以我的数据为例,我的输入数据是玉米的遗传图谱,共有10个连锁群,代码如下:

    library(LinkageMapView)

    a <- read.csv("C:\\Users\\Shenshen Wu\\Desktop\\linkage.csv")

    maxpos <- floor(max(a$Position[a$Group == "LG01" | a$Group ==

    "LG02" | a$Group == "LG03" | a$Group == "LG04" | a$Group == "LG05" |

    a$Group == "LG06" | a$Group == "LG07" | a$Group == "LG08" | a$Group ==

    "LG09" | a$Group == "LG10"]))

    at.axis <- seq(0, maxpos)

    axlab <- vector() 

    for (lab in 0:maxpos) {

          if (!lab %% 10) { 

    axlab <- c(axlab, lab)

    }

    else {

    axlab <- c(axlab, NA)

    }

    }

    outfile = file.path("C:\\Users\\Shenshen Wu\\Desktop", "LinkageMap.pdf")

    lmv.linkage.plot(a,outfile,mapthese=c("LG01","LG02","LG03","LG04","LG05","LG06","LG07","LG08","LG09","LG10"),denmap=TRUE,

    cex.axis = 1, at.axis = at.axis, labels.axis = axlab)

    最后的可视化结果如下:

    转载链接:https://blog.csdn.net/shenshenwu666/article/details/82956515?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf

    相关文章

      网友评论

          本文标题:2020-11-02-遗传图谱的可视化

          本文链接:https://www.haomeiwen.com/subject/issmvktx.html