遗传图谱绘图小工具——R包LinkageMapView

lmv.linkage.plot(mapthis=hyper,outfile= "a.pdf",mapthese=c( 1, 4, 6, 15),main= "genetic map")

(向左滑动查看更多)

使用qtl包中hyper数据,mapthis是lmv.linkage.plot函数输入的数据集参数,第一列是连锁群编号,第二列是图距信息,第三列是标记名称,此参数为必给的参数,outfile是输出的pdf图片名称,必给的参数,mapthese用于选择绘制那些连锁群,可选参数,不设置的话,会默认将所有连锁群都绘制,main设置标题。

2、 变更部分标记名称颜色

代码如下:

flist [[1]]<- list(locus = c( "D1Mit123", "D1Mit105", "D6Mit273", "D15Mit56", "D15Mit156"),col=c( "red"))

flist [[2]]<- list(locus = c( "D4Mit149", "D4Mit237", "D6Mit36"),col=c( "blue"))

lmv.linkage.plot(hyper, "b.pdf",mapthese=c( 1, 4, 6, 15),markerformatlist=flist)

(向左滑动查看更多)

先创建一个有两个成分的列表,只想展示一个颜色就用一个成分的列表。locus给标记名称的向量,col给颜色的向量。Markerformatlist给创建的列表。

3、 颜色设置

代码如下:

lmv.linkage.plot(hyper, "c.pdf",

mapthese=c(1,4,6,15),

pdf.bg= "grey",col.lgtitle= "green",

lg.col= "yellow",lcol= "red",rcol= "orange")

(向左滑动查看更多)

pdf.bg:pdf背景色

col.lgtitle:连锁群名称颜色

lg.col:连锁群柱子颜色

lcol:遗传位置label的颜色

Rcol:标记名称label的颜色

4、 字体、字号设置

代码如下:

lmv.linkage.plot(hyper, "d.pdf",mapthese=c(1,4,6,15),pdf.bg= "grey",col.lgtitle= "green", pdf.height=8,lg.col= "yellow",lcol= "red",rcol= "orange", lfont=1,lcex=1.2,rfont=4,rcex=2,font.lgtitle=3,cex.lgtitle=3)

(向左滑动查看更多)

lfont:遗传位置label的字体设置,1代表纯文本,2代表粗体,3代表斜体,4代表粗斜体

lcex:遗传位置label的字号大小设置

rfont:标签label的字体设置

rcex:标签label的字号大小设置

font.lgtitle:连锁群编号字体设置

cex.lgtitle:连锁群编号字号大小设置

5、 部分染色体柱子上色

代码如下:

chr = c(1, 4, 6, 15)

s = c(82,35,9.8,7.7)

e = c(94,47,21.9,13.1)

col = c( "pink", "blue", "blue", "green")

sectcoldf <- data.frame(chr, s, e, col,stringsAsFactors = FALSE)

lmv.linkage.plot(hyper, "e.pdf",mapthese=c(1,4,6,15), sectcoldf=sectcoldf)

(向左滑动查看更多)

sectcoldf为连锁群柱子部分上色参数,上色信息以data.frame格式储存,每一行是一个上色区域,第一列是连锁群编号,第二列是对应连锁群上色起始,第三列是上色终止,第四列是对应的颜色。

6、 标签显示形式设置

代码如下:

lmv.linkage.plot(hyper, "f.pdf",mapthese=c( 1, 4, 6, 15),ruler= TRUE,maxnbrcolsfordups = 1)

(向左滑动查看更多)

ruler=TRUE代表用纵坐标表示遗传位置,FALSE代表以位置label的形式表示遗传位置,默认FALSE。

Maxnbrcolsfordups 表示标记label用几列表示,默认3.

7、 相同标记名称连线

代码如下:

data(carrot)

lmv.linkage.plot(mapthis = carrot,outfile = "g.pdf")

(向左滑动查看更多)

函数会自动将连锁群之间标记名一样的标记进行连线,autoconnadj=FALSE可以关闭此功能

8、 标记名称不同连线

代码如下:

fromchr = c(1,1,4)

fromlocus = c( "D1Mit123", "D1Mit105", "D4Mit53")

tochr = c(4,4,6)

tolocus = c( "D4Mit149", "D4Mit108", "D6Mit273")

conndf <- data.frame(fromchr,fromlocus,tochr,tolocus,stringsAsFactors = FALSE)

lmv.linkage.plot(hyper, "h.pdf",mapthese = c(1,4,6,15),conndf = conndf)

(向左滑动查看更多)

需要连线的标记对以data.frame存储,每行一对连线,第一列是线一端的起始连锁群编号,第二列是起始的标记名称,第三列是线另一端终止连锁群编号,第四列是终止的标记名称。

9、 翻转连锁群顺序

图一为原始图

图二为翻转图

代码如下:

lmv.linkage.plot(hyper, "i.pdf",mapthese = c(1,4),revthese = "1")

(向左滑动查看更多)

revthese参数后面接需要翻转的连锁群编号

10、 密度图谱绘制

代码如下:

data(oat)

lmv.linkage.plot(oat, "j.pdf",mapthese=c( "Mrg01", "Mrg02", "Mrg03", "Mrg05"),denmap= TRUE)

(向左滑动查看更多)

denmap是控制是否画密度图的开关,画密度图的同时不显示标记名称和遗传位置信息。

11、QTL绘制

qtldf < -data.frame(

chr= character,

qtl= character,

so= numeric,

si= numeric,

ei= numeric,

eo= numeric,

col= character,

stringsAsFactors= FALSE

)

qtldf< -rbind( qtldf,

data.frame(

chr= "6",

qtl= "Trait1",

so= 25,

si= 40.4,

ei= 40.4,

eo= 56.8,

col= "red"

))

lmv.linkage.plot( hyper," k.pdf", mapthese= c(1,4,6,15),qtldf= qtldf)

(向左滑动查看更多)

qtldf参数后接qtl信息,qtl信息存储在data.frame格式的qtldf里,一行一个qtl信息,第一列是连锁群编号,第二列是qtl名,第三列是qtl外区间起始,第四列是qtl内区间起始,第五列是qtl内区间终止,第六列是qtl外区间终止,第七列是颜色。

以上是LinkageMapView包常见的几个用法,LinkageMapView包可以接收R/qtl的输出结果也可以单独整理成本文输入,输入灵活,并且可以绘制高密度的图谱,更适用于现在的高通量测序下构建的遗传图谱。感兴趣的同学,赶快去试试吧!

文:李莹莹 返回搜狐,查看更多

Copyright © 2088 下届世界杯_看世界杯 - rcysbj.com All Rights Reserved.
友情链接