遗传图谱的实现(R包)——LinkageMapView

使用devtools下载linkagemapview包

install.packages("devtools")
library(devtools)
devtools:: install_github("louellette/LinkageMapView",build_vignettes=TRUE)

载入

library(LinkageMapView)

数据类型类型介绍

mapthis

主要的文件类型(必须的),至少为三列,第一列为群组,第二列为位置,第三列为标记名称,同样你也可以在第四列加上颜色的标签

group position    locus
2170LG3    0.000 BSSR-094
2170LG3    7.039   ESSR86
2170LG3   11.123      F3H
2170LG3   11.123     FLS1
2170LG3   13.079   ESNP32
2170LG3   13.079   ESNP31

conndf

这个是你要在染色体之间划线的文件(非必须),分为四列,第一列为划线开始的群组,第二列为开始群组中标记的名称,第三列为划线结束的群组,第四列为结束群组中标记的名称

fromchr fromlocus tochr tolocus
2170LG3 BSSR-094  70349LG3  K1562
2170LG3 K0593  70349LG3  K1323
70349LG3  K1562 10117LG3  ESSR-087
70349LG3  K1323 10117LG3  P1

markerformatlist

这个文件是要对一些标记进行特殊的处理(非必须),如加颜色,斜体等,这个文件时list,标记的名称为必须的,颜色,标签和字体是非必须的

locus
col
cex
font

qtldf

这个好像是在图中标记出你的qtl的,是个data.fram

chr qtl so si  ei ei  col
70349LG3  RTPE-Q1 36.6  37  37  38  red

sectcoldf

这个没有用过

上面提到的这些文件格式,都可以自己先创建好,然后倒入到R中去

几个重要参数的使用说明

autoconnadj:染色体中名字一样的标记是否使用线连接起来,默认是TRUE
posonleft:正常的图中(默认是TRUE),位置是在染色体的左边的,如果改为FALSE,就会把位置画在右边,同样,标记的名称在另一边
revthese:后面接的是群组的名称,这个参数可以把这个群组的顺序倒过来
ruler:默认是FALSE,如果改为TRUE,那么图中就不会标出位置的信息
showonly:只显示这些标记的名称
dupnbr:当一个位置的标记比较多时,将默认参数FALSE改为TRUE,可以只显示一个标记的名称

还有好多参数,那些参数大多是对图形的一些修改,以及对pdf的修改
################现在开始练习#######################

这个包主要有一个函数——lmv.linkage.plot

#这个包带的练习的数据
data(carrot)
head(carrot)

练习1

lmv.linkage.plot(carrot,outfile = "carrot1.pdf")
lmv.linkage.plot(carrot,outfile = "carrot2.pdf",revthese = "70349LG3")
lmv.linkage.plot(carrot,outfile = "carrot3.pdf",autoconnadj = FALSE)
lmv.linkage.plot(carrot,outfile = "carrot4.pdf",posonleft = FALSE, mapthese = c("10117LG3"))
lmv.linkage.plot(carrot,outfile = "carrot5.pdf",mapthese = c("10117LG3"))
lmv.linkage.plot(carrot,outfile = "carrot6.pdf",ruler = TRUE)

练习2

#使用qtl包中的数据,和carrot实际上效果一样
library(qtl)
data(hyper)
lmv.linkage.plot(hyper,"carrot7.pdf",mapthese=c(1,4,6,15),
                 lcol="green",
                 lcex=2,
                 lfont=2,
                 rcol="red",
                 rcex=2,rfont=3,
                 showonly=c("D1Mit123","D4Mit80","D6Mit135","D15Mit156"))
lmv.linkage.plot(hyper,"carrot8.pdf",mapthese=c(1,4,6,15),
                 col.lgtitle = "blue",
                 cex.lgtitle=2,
                 col.main = "red",
                 main="Overall Title for the Output Map")

练习3

#make a df to pass qtl info
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 = "70349LG3", 
                                 qtl = "RTPE-Q1", 
                                 so = 36.6, 
                                 si = 37, 
                                 ei = 37, 
                                 eo = 38, 
                                 col="red"))
#make a list to pass label options
flist <- list()
locus <- c("BSSR-094", "K0149", "K0627", "K2161", "ESSR-087", "ESSR-057")
font  <- c(2)   #bold
flist[[1]] <- list(locus = locus, font = font)

locus <- c("F3H", "FLS1")
font  <- c(4)   #bold italic
flist[[2]] <- list(locus = locus, font = font)

locus <- c("P3", "P1", "Raa1")
font  <- c(3)   #italic
col <- c("red")
flist[[3]] <- list(locus = locus, font = font, col = col)

lmv.linkage.plot(carrot, outfile = "carrot9.pdf", 
                 ruler = TRUE,
                 lgtitle = c("2170", "70349", "10117"),
                 maxnbrcolsfordups = 2, 
                 markerformatlist = flist,
                 lg.col = "lightblue1", 
                 pdf.height = 16,
                 pdf.width = 10,
                 revthese = c("70349LG3"), 
                 qtldf=qtldf)

练习4

qtldf <- data.frame(fromchr = character(), 
                    fromlocus = character(), 
                    tochr = character(),
                    tolocus = character(),
                    stringsAsFactors = FALSE)
qtldf <- rbind(qtldf, data.frame(fromchr = c("2170LG3","2170LG3","70349LG3","70349LG3"),
                                 fromlocus = c("BSSR-094", "P3", "K1562", "K2227"), 
                                 tochr = c("70349LG3", "70349LG3", "10117LG3", "10117LG3"),
                                 tolocus = c("K1562", "K2227", "ESSR-087", "P1")))               
lmv.linkage.plot(carrot,"carrot10.pdf",ruler = TRUE,autoconnadj = F,conndf = qtldf)

练习5

data(oat)
# draw tickmarks at each cM from 0 to largest position of linkage groups to be drawn
maxpos <- floor(max(oat$Position[oat$Group == "Mrg01" | oat$Group == "Mrg02"]))
at.axis <- seq(0, maxpos)

#put labels on ruler at every 10 cM
axlab <- vector()
for (lab in 0:maxpos) {
  if (!lab %% 10) {
    axlab <- c(axlab, lab)
  }
  else {
    axlab <- c(axlab, NA)
  }
}
lmv.linkage.plot(oat,"oat.pdf",mapthese=c("Mrg01","Mrg02"),denmap=TRUE, cex.axis = 1, at.axis = at.axis, labels.axis = axlab)
carrot1.pdf

carrot2.pdf

carrot3.pdf

carrot4.pdf

carrot5.pdf

carrot6.pdf

carrot7.pdf

carrot8.pdf

carrot9.pdf

carrot10.pdf

oat.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容