重演一篇傻瓜式GWAS分析|培養(yǎng)興趣專用

重演一篇傻瓜式GWAS分析|培養(yǎng)興趣專用 發(fā)布于 2020-05-10 18:58

全基因組關(guān)聯(lián)分析(genome-wideassociationstudy,GWAS)應(yīng)該算是動物生信分析里最熱點的技能之一吧。關(guān)于GWAS原理的書籍和文章網(wǎng)上有一大堆,這相對于GWAS跑流程來說只能算一座小山丘。因為很多人花了好幾個月研究原理,一旦丟去數(shù)據(jù)分析,還是Error Error Error....我還是秉承那些晦澀難懂的概念在你跑一次程序之后你會理解70%,因此不要等都準(zhǔn)備齊了再去著手實施的觀點。

做什么事興趣最重要,反饋的成就感會讓你慢慢喜歡上一件事。一切為了興趣,特做一期“一站式體驗GWAS”,你一定可以拿到屬于自己的第一張曼哈頓圖。

“GWAS是在某一特定人群中研究遺傳突變和表型之間的相關(guān)性。GWAS的理論基礎(chǔ)是連鎖不平衡定律(linkage disequilibrium, LD),既假設(shè)觀察到的SNP與真正的致病突變(causal variant)之間存在很強的LD。

GWAS是一個邏輯清晰的游戲:我們以身高為例,已知身高的遺傳率很高(估計為為0.8),也就是說,A身高1.5,B身高1.8,這30厘米的差異中,有至少24厘米是遺傳差異造成的。遺傳的基礎(chǔ)又是DNA,所以我們應(yīng)該能夠在A和B的基因組上,找到DNA的差異,而這種DNA序列的差異最終貢獻了這24厘米的差異,GWAS就是想去找到這種DNA序列的差異。

于是我們找來1000個人,量了每個人的身高(表型),測了每個人的基因組,找出所有的基因組上差異的位點(基因型),對于每個差異的位點都去和表型做一個相關(guān)性的分析,給出p-value用來衡量表型和每個位點的相關(guān)性。如果和某一個位點非常相關(guān),那我們就找到了能夠影響身高的DNA差異!


GWAS分析需要準(zhǔn)備的材料:軟件、基因型數(shù)據(jù)和表型數(shù)據(jù)。

表型數(shù)據(jù)一般是課題研究者前期實驗動物群體飼養(yǎng)獲得的數(shù)據(jù),網(wǎng)上也有很多共享的數(shù)據(jù)。

表型數(shù)據(jù)統(tǒng)計分析:邏輯回歸(表型數(shù)據(jù)為二元);線性回歸(表型數(shù)據(jù)為連續(xù)性變量);表型數(shù)據(jù)正態(tài)分析(如果不是正態(tài)分布,需轉(zhuǎn)換處理為正態(tài)分布);表型數(shù)據(jù)均值、中值、最大值、最小值;影響因子對表型的影響分析。

基因型數(shù)據(jù)一般是測序下機數(shù)據(jù)經(jīng)SNP calling、基因型填補等后拿到的**.vcf文件,后續(xù)根據(jù)研究者的課題要求和條件進行質(zhì)控(Quality control),群體結(jié)構(gòu)分層及親緣關(guān)系/PCA等處理。處理好以上文件后,進行最重要的關(guān)聯(lián)分析(當(dāng)然以上也很重要),接下來正式重演這個GWAS分析。(質(zhì)控、call SNP以及表型數(shù)據(jù)統(tǒng)計分析無;直接畫圖 相關(guān)可能遇到的問題可在簡書或知乎私信我,這篇文章在知乎也有發(fā)可以復(fù)制代碼

重演一篇傻瓜式GWAS分析|培養(yǎng)興趣專用 - 知乎

數(shù)據(jù):測試一組狗全基因組的遺傳變異與分類形狀(毛皮顏色)之間的關(guān)系。



#為GWAS分析創(chuàng)建一個工作目錄,并下載數(shù)據(jù);

#創(chuàng)建工作目錄

mkdir ~/GWAS

cd ~/GWAS

#樣本VCF文件和表型數(shù)據(jù)下載
wget https://de.cyverse.org/dl/d/E0A502CC-F806-4857-9C3A-BAEAA0CCC694/pruned_coatColor_maf_geno.vcf.gz

wget https://de.cyverse.org/dl/d/3B5C1853-C092-488C-8C2F-CE6E8526E96B/coatColor.pheno

#pheno為處理好的表型文件 vcf為基因組文件



#解壓VCF文件之后 可以看看數(shù)據(jù)

gunzip pruned_coatColor_maf_geno.vcf.gz

#查看vcf

less pruned_coatColor_maf_geno.vcf

#查看表型數(shù)據(jù) 前兩列也是FID and IID,第三列是表型。

less coatColor.pheno


VCF文件全稱為Variant Call Format,表示基因組的變異信息,通常為GATK和Samtools軟件處理所得到。

查看文件發(fā)現(xiàn),這個數(shù)據(jù)涉及53只小狗的476840個SNP,表型:24只黃毛犬 29只深色毛犬

##########################正式開始###########################

#數(shù)據(jù)有了,接下來安裝軟件,GWAS分析的軟件有很多,這里介紹使用主流軟件Plink和vcftools來準(zhǔn)備文件,R語言統(tǒng)計畫圖。


#下載安裝Plink 不建議使用 #sudo apt-get install Plink 進行下載

cd /usr/local/bin/

sudo wget http://zzz.bwh.harvard.edu/plink/dist/plink-1.07-x86_64.zip

sudo rm -f plink_linux_x86_64.zip

cd plink-1.07-x86_64/

echo export PATH=$PATH:$(pwd) >> ~/.bashrc

source ~/.bashrc


#下載vcftools,將編譯后的文件安裝到系統(tǒng)

git clone https://github.com/vcftools/vcftools.git

cd vcftools

./autogen.sh

./configure

make

sudo make install


#安裝R和RStudio

#安裝R

sudo apt-get update && sudo apt-get install -y r-base r-base-dev

#RStudio

sudo apt-get install gdebi-core

wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.2.5033-amd64.deb

sudo gdebi rstudio-server-1.2.5033-amd64.deb


#qqman包適用于畫圖 使用R- qqman軟件統(tǒng)計畫圖,安裝qqman軟件包

Rscript -e "install.packages('qqman', contriburl=contrib.url('http://cran.r-project.org/'))"

#接下來正式使用PLINK 準(zhǔn)備文件格式 #將VCF文件轉(zhuǎn)換為Plink可讀文件格式(map,ped),然后轉(zhuǎn)換為Plink二進制格式(fam,bed,bim)

cd ~/GWAS

vcftools --vcf pruned_coatColor_maf_geno.vcf --plink --out coatColor

plink --file coatColor --allow-no-sex --dog --make-bed --noweb --out coatColor.binary

#此時應(yīng)該看到以上格式結(jié)尾的5個文件(**.map,**.ped,**.fam,**.bed,**.bim)


#候選等位基因列表創(chuàng)建,awk編輯文本

cat pruned_coatColor_maf_geno.vcf | awk 'BEGIN{FS="\t";OFS="\t";}/#/{next;}{{if($3==".")$3=$1":"$2;}print $3,$5;}'? > alt_alleles

#文件準(zhǔn)備完畢,運行這個簡單的關(guān)聯(lián)分析 #關(guān)于模型的選擇和協(xié)變量的調(diào)試還需要按照自己的要求學(xué)習(xí)修改 #plink各選項含義可查看官方文檔;

plink --bfile coatColor.binary --make-pheno coatColor.pheno "yellow" --assoc --reference-allele alt_alleles --allow-no-sex --adjust --dog --noweb --out coatColor


#畫曼哈頓圖

#統(tǒng)計圖

unad_cutoff_sug=$(tail -n+2 coatColor.assoc.adjusted | awk '$10>=0.05' | head -n1 | awk '{print $3}')

unad_cutoff_conf=$(tail -n+2 coatColor.assoc.adjusted | awk '$10>=0.01' | head -n1 | awk '{print $3}')

#繪圖

Rscript -e 'args=(commandArgs(TRUE));library(qqman);'\

'data=read.table("coatColor.assoc", header=TRUE); data=data[!is.na(data$P),];'\

'bitmap("coatColor_man.bmp", width=20, height=10);'\

'manhattan(data, p = "P", col = c("blue4", "orange3"),'\

'suggestiveline = 12,'\

'genomewideline = 15,'\

'chrlabs = c(1:38, "X"), annotateTop=TRUE, cex = 1.2);'\

'graphics.off();' $unad_cutoff_sug $unad_cutoff_conf


文件coatColor_man.bmp即為結(jié)果圖,可傳輸查看。

查詢發(fā)現(xiàn):最相關(guān)的突變是已知的控制色素生成的MC1R(c.916C > T)中的無義SNP。

congratulations! 如果做到這一步,我們已經(jīng)掌握了簡單的Linux命令行執(zhí)行、大體體驗了GWAS分析,是否感覺數(shù)據(jù)分析原理并沒有那么難,快趁熱學(xué)習(xí)一下文中沒有涉及的質(zhì)控內(nèi)容,這將對接下來學(xué)習(xí)有很大幫助。

這里需要注意在平常動植物中,不使用plink 進行關(guān)聯(lián)分析,可以在數(shù)據(jù)過濾處理的時候使用,但是在關(guān)聯(lián)分析的時候不使用。一般是在人類 GWAS 才會使用 plink 進行關(guān)聯(lián)分析。因為它沒辦法實現(xiàn)復(fù)雜模型,就是 MLM 等模型。

在動植物中關(guān)聯(lián)分析 tassel 使用的最多。 上百萬標(biāo)記,幾百個樣本要幾十G 上百G 內(nèi)存。

gapit 主要是基于 R 軟件 。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,412評論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,514評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,373評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,975評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,743評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,199評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,262評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,414評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,951評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,780評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,527評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,218評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,649評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,889評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,673評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,967評論 2 374

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