群體遺傳 || Pophelper-群體結(jié)構(gòu)可視化學(xué)習(xí)

Pophelper基本說(shuō)明

群體遺傳下游分析中的一項(xiàng)常規(guī)分析即是群體結(jié)構(gòu)的分層展示(STRUCTURE ANALYSIS)鳞青,不同于系統(tǒng)樹(shù)和PCA,群體結(jié)構(gòu)分層可以分?jǐn)喑鲂∪后w的個(gè)數(shù)番甩,每個(gè)小群體之間的基因交流情況侵贵,甚至是小群體或者個(gè)體內(nèi)的血源組成届搁。

群體結(jié)構(gòu)分層常用軟件有STRUCTURE缘薛,ADMIXTUREfaststructure。STRUCTURE是群體結(jié)構(gòu)分析的經(jīng)典軟件卡睦,但運(yùn)行速度較慢宴胧。ADMIXTURE和faststructure軟件等是近些年較新的軟件,由于運(yùn)算速度相對(duì)較快表锻,已有了較多的引用次數(shù)恕齐。

群體結(jié)構(gòu)分層的可視化展示通常是以堆疊柱狀圖所展示,Pophelper即是面向群體結(jié)構(gòu)分層展示的強(qiáng)大的R包軟件瞬逊。

使用介紹

1. 安裝

R version >3.5

# install the dependency packages
install.packages(c("devtools","ggplot2","gridExtra","gtable","label.switching","tidyr"),dependencies=T)

# install pophelper package from GitHub
devtools::install_github('royfrancis/pophelper')

2. 讀取文件

Pophelper接受structure显歧,admixture,faststructure确镊,tess等軟件的輸出文件士骤。個(gè)人較熟悉的ADMIXTURE和faststructure,其輸出文件結(jié)構(gòu)都是以meanQ和meanP的矩陣文件蕾域。

library(pophelper)
options(stringsAsFactors = F)
dir.create("pophelper_learning")
setwd("pophelper_learning/")

### INPUT STRUCTURE RESULT FILES
sfiles <- list.files(path=system.file("files/structure",package="pophelper"), full.names=T)
slist <- readQ(files=sfiles)

### INPUT ADMIXTURE RESULT FILES
alist <- readQ(list.files(path=system.file("files/admixture",package="pophelper"), full.names=T)

3. 繪制最佳K值線

Pophelper中evannoMethodStructure()函數(shù)僅支持對(duì)STRUCTURE的結(jié)果繪制最佳K值線拷肌。其基本步驟包括三步

  1. tabularQ()到旦,接收讀取的structure list文件
  2. summariseQ(),接收tabularQ返回結(jié)果
  3. evannoMethodStructure()巨缘,接收summ返回結(jié)果添忘,繪制最佳K值線
tbq <- tabulateQ(slist)
smq <- summariseQ(tbq)
evannoMethodStructure(data=sr1,exportplot=T,returnplot=T,returndata=F,basesize=12,linesize=0.7,height = 10,width = 12,outputfilename = "test")

  • 最佳K值線結(jié)果


    image

4. 繪制柱狀堆疊圖plotQ()

image

一個(gè)plotQ包含了復(fù)雜的柱狀堆疊圖的參數(shù),一些常用參數(shù):

  • imgoutput= "sep"/"join" 默認(rèn)sep若锁,展示每個(gè)K值圖搁骑,或者合并
  • showsp=T:strip panel,展示每個(gè)K值堆疊圖的標(biāo)簽
    • sppos="left"
    • splab="nameK1" splab=paste0("K=",sapply(slist[c(1,4:8)],ncol))僅顯示K=num的標(biāo)簽
    • spbgcol=..
  • clustercol=c("#A6CEE3", "#3F8EAA", "#79C360".....)堆疊柱狀圖的顏色
  • showlegend=T:展示圖例legend。
  • useindlab=T:show individual lab 每個(gè)堆疊柱狀圖的label展示又固,需要q矩陣的rowname()靶病。
    • indlabsize,indlabcol
  • sortind="all"/"Cluster1"不設(shè)置時(shí)是默認(rèn)是按照樣本rowname()的順序展示堆疊圖,可設(shè)置cluster排序口予,或者個(gè)人手動(dòng)調(diào)整matrix矩陣的樣本順序
  • grplab=onelabset1(group label)在底部分組展示娄周。含有g(shù)roup時(shí)設(shè)置sorted會(huì)同時(shí)顯示。onelabeset1為列表沪停,其順序同是按照meanQ矩陣的rownames()順序來(lái)的煤辨。
    • grpsize
    • grpangle=90字體垂直展示
  • panel spacer=0.3對(duì)join合并圖柱狀堆疊圖中間距離

5. 一些群體結(jié)構(gòu)圖的示例

sfiles <- list.files(path=system.file("files/structure",package="pophelper"), full.names=T)
slist <- readQ(files=sfiles,indlabfromfile=T)
threelabset <- read.delim(system.file("files/metadata.txt", package="pophelper"), header=T,stringsAsFactors=F)
twolabset <- threelabset[,2:3] ### group label

##繪圖
plotQ(slist[2:3],imgoutput="join",showindlab=T,grplab=twolabset,
      subsetgrp=c("Brazil","Greece"),selgrp="loc",ordergrp=T,showlegend=T,
      showtitle=T,showsubtitle=T,titlelab="The Great Structure",
      subtitlelab="The amazing population structure of your favourite organism.",
      height=1.6,indlabsize=2.3,indlabheight=0.08,indlabspacer=-1,
      barbordercolour="white",barbordersize=0,outputfilename="plotq",imgtype="png")
image
image
image

Reference
[http://www.royfrancis.com/pophelper/articles/index.html#plotq]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市木张,隨后出現(xiàn)的幾起案子众辨,更是在濱河造成了極大的恐慌,老刑警劉巖舷礼,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹃彻,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡妻献,警方通過(guò)查閱死者的電腦和手機(jī)蛛株,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)育拨,“玉大人谨履,你說(shuō)我怎么就攤上這事“旧ィ” “怎么了笋粟?”我有些...
    開(kāi)封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)析蝴。 經(jīng)常有香客問(wèn)我害捕,道長(zhǎng),這世上最難降的妖魔是什么闷畸? 我笑而不...
    開(kāi)封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任尝盼,我火速辦了婚禮,結(jié)果婚禮上腾啥,老公的妹妹穿的比我還像新娘东涡。我一直安慰自己冯吓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布疮跑。 她就那樣靜靜地躺著组贺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祖娘。 梳的紋絲不亂的頭發(fā)上失尖,一...
    開(kāi)封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音渐苏,去河邊找鬼掀潮。 笑死,一個(gè)胖子當(dāng)著我的面吹牛琼富,可吹牛的內(nèi)容都是我干的仪吧。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鞠眉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼薯鼠!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起械蹋,我...
    開(kāi)封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤出皇,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后哗戈,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體郊艘,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年唯咬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纱注。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡副渴,死狀恐怖奈附,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情煮剧,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布将鸵,位于F島的核電站勉盅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏顶掉。R本人自食惡果不足惜草娜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望痒筒。 院中可真熱鬧宰闰,春花似錦茬贵、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至葡盗,卻和暖如春螟左,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背觅够。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工胶背, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人喘先。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓钳吟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親窘拯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子砸抛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345