R/qtl2:QTL 定位分析

目錄:

1.?Data Input

2. Calculating Genotype Probabilities

3.?Performing a genome scan

4.?Performing a permutation test

5.?






ok徙赢,進(jìn)入正文唱较。

1. Data Input

和 R/qtl 要求的數(shù)據(jù)格式不同,R/qtl2 要求每一個(gè)數(shù)據(jù)為一個(gè)單獨(dú)的文件扳炬,但可以最后總結(jié)到一個(gè) YAML 或 JSON 格式的文本里,一次性讀入堵幽,還是挺方便的捕透。

首先看一下這個(gè)?YAML 或 JSON 格式的文本文件菇爪,指定了群體類型,每一個(gè)文件的名字袋励,以及基因型信息等侥啤。

其中当叭,geno、pheno盖灸、gmap 三個(gè)文件是必須的蚁鳖,其它文件是可選的。

讀入使用 read_cross2 函數(shù)赁炎。

read_cross2(file, quiet=TRUE)

# file 指定 YAML 文件的路徑位置即可醉箕,quiet 指定是否輸出讀入過程。

以下分別是這 3 個(gè)文件的格式示例:

geno
pheno
gmap
yaml


2. Calculating Genotype Probabilities

類似 qtl 包中的分析方法徙垫,QTL 分析首先需要計(jì)算已有標(biāo)記之間的基因型概率讥裤。

使用的函數(shù)為 calc_genoprob()?。不過在使用之前姻报,需要先在 markers 之間插入?pseudomarkers己英,以確定要計(jì)算基因型可能性的位置。在遺傳圖譜中插入 pseudomarkers 的函數(shù)為?insert_pseudomarkers() 吴旋。

舉例示范一下:

library(qtl2)

## 讀入包里自帶的示例文件

iron <- read_cross2(file = system.file("extdata", "iron.zip", package="qtl2") )

## 在遺傳圖譜內(nèi)插入?pseudomarkers

map <- insert_pseudomarkers(map=iron$gmap, step=1)

# step 指的是?pseudomarkers 和標(biāo)記之間的舉例為 1 cM

## 計(jì)算 pseudomarkers?的基因型概率

pr <- calc_genoprob(cross=iron, map=map, error_prob=0.002, cores=4)

# error_prob 指定假設(shè)的基因分型錯(cuò)誤概率损肛,默認(rèn)為0.0001;cores 是在集群上指定運(yùn)算使用的內(nèi)核數(shù)荣瑟,parallel::detectCores() 查看可用的內(nèi)核數(shù)

這個(gè)過程就到此為止了治拿,接下來通過幾張圖看一下每一步的效果。

summary(iron)

head(iron$gmap)

map <- insert_pseudomarkers(map=iron$gmap, step=1)

head(map, n=1)? ? ????????# 查看1號染色體上的標(biāo)記

pr <- calc_genoprob(cross=iron, map=map, error_prob=0.002)

(pr$`19`)[1:3,,"c19.loc4"]? ?????# 查看19號染色體上該標(biāo)記處前3個(gè)個(gè)體的基因型概率

此外笆焰,如果需要使用加性模型進(jìn)行基因組掃描忍啤,需要將基因型概率轉(zhuǎn)換為等位基因概率。

apr <- genoprob_to_alleleprob(probs=pr)


3.?Performing a genome scan

原理就不在這塊詳細(xì)說了仙辟,有興趣的可以去看?R/qtl 定位分析(三)Single-QTL analysis?。

以?Haley-Knott regression 方法為例:

Xcovar <- get_x_covar(iron)?

out <- scan1(genoprobs = pr, pheno = iron$pheno, Xcovar=Xcovar, cores=4)

輸出是 LOD 得分矩陣鳄梅,位置×表型叠国。

head(out, n=10)

plot_scan1(out, map = map, lodcolumn = "liver")

4.?Performing a permutation test

雖然可以看到部分染色體上存在峰,但是否顯著戴尸?對結(jié)果如何評估粟焊?

類似于 qtl 包中的操作,需要進(jìn)行排列檢驗(yàn)孙蒙,打亂基因型和表型项棠,去除二者之間的關(guān)聯(lián),然后進(jìn)行計(jì)算全基因組的最大 LOD 評分作為閾值挎峦,從而確定結(jié)果是否是隨機(jī)出現(xiàn)的香追。需要用到的函數(shù)為 scan1perm()

operm <- scan1perm(genoprobs = pr, pheno = iron$pheno, Xcovar = Xcovar, n_perm = 1000)

#?n_perm 指定排列檢驗(yàn)的重復(fù)次數(shù)

hist(operm[,'liver'], breaks = 50, xlab = "LOD", main = "LOD scores for liver scan with threshold in red")abline(v = summary(operm)[,'liver'], col = 'red', lwd = 2)


summary(operm, alpha=c(0.1, 0.05))

如果要對 X 染色體單獨(dú)計(jì)算閾值坦胶,可使用下面的命令:

operm2 <- scan1perm(pr, iron$pheno, Xcovar=Xcovar, n_perm=1000, perm_Xsp=TRUE, chr_lengths=chr_lengths(map))

summary(operm2, alpha=c(0.2, 0.05))

5.?Finding LOD peaks

這一步就要根據(jù)排列檢驗(yàn)得到的閾值透典,以及計(jì)算結(jié)果晴楔,確定目標(biāo)的 QTL 區(qū)間了。首先要確定 LOD peaks 的位置峭咒,再計(jì)算其可靠的區(qū)間范圍税弃。

operm <- scan1perm(pr, iron$pheno, Xcovar=Xcovar, n_perm=1000)

thr <- summary(operm)

find_peaks(scan1_output = out, map = map, threshold = thr, prob = 0.95, expand2markers = FALSE)

# prob 確定貝葉斯置信區(qū)間,0.95 指的是有 95% 的可能性落在該區(qū)間

#?expand2markers 指的是是否擴(kuò)展至相鄰標(biāo)記

該函數(shù)也可以確定一條染色體上的多個(gè)峰凑队,不過需要 peakdrop?指定兩個(gè)相鄰峰值之間的最低值必須下降的量则果。

find_peaks(scan1_output = out, map = map, threshold = thr, peakdrop = 1.8, prob = 0.95, expand2markers = FALSE)






















?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市漩氨,隨后出現(xiàn)的幾起案子西壮,更是在濱河造成了極大的恐慌,老刑警劉巖才菠,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茸时,死亡現(xiàn)場離奇詭異,居然都是意外死亡赋访,警方通過查閱死者的電腦和手機(jī)可都,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚓耽,“玉大人渠牲,你說我怎么就攤上這事〔接疲” “怎么了签杈?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鼎兽。 經(jīng)常有香客問我答姥,道長,這世上最難降的妖魔是什么谚咬? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任鹦付,我火速辦了婚禮,結(jié)果婚禮上择卦,老公的妹妹穿的比我還像新娘敲长。我一直安慰自己,他們只是感情好秉继,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布祈噪。 她就那樣靜靜地躺著,像睡著了一般尚辑。 火紅的嫁衣襯著肌膚如雪辑鲤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天腌巾,我揣著相機(jī)與錄音遂填,去河邊找鬼铲觉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛吓坚,可吹牛的內(nèi)容都是我干的撵幽。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼礁击,長吁一口氣:“原來是場噩夢啊……” “哼盐杂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起哆窿,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤链烈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后挚躯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體强衡,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年码荔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了漩勤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缩搅,死狀恐怖越败,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情硼瓣,我是刑警寧澤究飞,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站堂鲤,受9級特大地震影響亿傅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瘟栖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一袱蜡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧慢宗,春花似錦、人聲如沸奔穿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贱田。三九已至缅茉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間男摧,已是汗流浹背蔬墩。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工译打, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拇颅。 一個(gè)月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓奏司,卻偏偏與公主長得像,于是被迫代替她去往敵國和親樟插。 傳聞我的和親對象是個(gè)殘疾皇子韵洋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容