Dsuite原理:
- D值(即ABBA統(tǒng)計(jì)量)和f4-ratio統(tǒng)計(jì)可以表示為適用于四個(gè)分類群的雙等位基因SNP:P1,P2,P3,O,拓?fù)涫?(((P1,P2),P3),O)麸粮。
- 其中外類群O攜帶祖先等位基因A荣赶,衍生等位基因用B表示枝恋。BBAA,ABBA,BABA分別代表四個(gè)分類群攜帶等位的三種模式段标。
- 在沒有基因流的零假設(shè)下沃但,由于具有相同頻率的不完全譜系分類拐辽,預(yù)計(jì)P3與P1或P2共享衍生等位基因B的兩種模式ABBA和BABA的頻率相等拣挪,如果ABBA和BABA的頻率有顯著差異則代表在P3和P1或P2間存在基因漸滲。
- D=(nABBA-nBABA)/(nABBA+nBABA)俱诸;在外群對(duì)于祖先等位基因A是固定的(外群中B的頻率為0)假設(shè)下菠劝,D統(tǒng)計(jì)量是等位基因模式計(jì)數(shù)的歸一化差異。
- 如果外群中衍生等位基因B不為0睁搭,則Dsuite的D值是Patterson’s D赶诊,適用于無根的四分類群樹。
基因流推斷 —— Dsuite | 生信技工 (yanzhongsino.github.io)
Dsuite的使用:
/home/sll/software/Dsuite/Build/Dsuite
尋找系統(tǒng)中高版本的libstdc++.so: find / -name "libstdc++.so*"
激活環(huán)境:因?yàn)榉?wù)器的/lib64/libstdc++.so.6版本過老园骆,所以這里使用我的conda下的版本
export LD_LIBRARY_PATH=/home/sll/miniconda3/pkgs/libstdcxx-ng-12.1.0-ha89aaad_16/lib:$LD_LIBRARY_PATH
準(zhǔn)備兩列的表格舔痪,第一列為樣本ID,第二列為群體ID(需指定外群Outgroup锌唾,也就是樹的根)锄码,想屏蔽的個(gè)體用第二列xxx表示,注意群體ID不要包含“. - 空格”等字符晌涕,可以有下劃線_
否則滋捶,F(xiàn)branch會(huì)報(bào)錯(cuò)
1、Dsuite Dtrios模塊:
為所有可能的種群/物種三重組合計(jì)算D和f4-ratio統(tǒng)計(jì)量(ABBA-BABA)
建議分染色體計(jì)算余黎,然后使用DtriosCombine 模塊將各染色體結(jié)果合并
/home/sll/software/Dsuite/Build/Dsuite Dtrios sample-select.vcf d.txt -t sample.ML.tree.treeout -o sample
-t 物種樹文件重窟,可用treemix生成,根為outgroup,且m設(shè)為0惧财,不考慮基因流
-o sample:指定輸出文件前綴巡扇,默認(rèn)是sets
-p 5:如果樣品中包含pool-seq數(shù)據(jù),-p用于設(shè)置最小深度垮衷,設(shè)置后從等位基因深度估計(jì)群體的等位基因頻率厅翔。
D和f4-ratio結(jié)果包含在.Dmin.txt文件中
DtriosCombine 模塊對(duì)Dtrios結(jié)果合并:
/home/sll/software/Dsuite/Build/Dsuite DtriosCombine -t sample.ML.tree.treeout -o sample_all DminFile1.txt DminFile2.txt DminFile3.txt
-o, --out-prefix=OUT_FILE_PREFIX 輸出文件前綴,默認(rèn)為 "out"
-n, --run-name 看不懂
-t , --tree=TREE_FILE.nwk 樹文件
-s , --subset=start,length 只進(jìn)行指定長(zhǎng)度部分的合并
2帘靡、Dsuite Dinvestigate:
用于對(duì)感興趣滲入組合的基因組區(qū)域的D值的計(jì)算知给,看哪些區(qū)域發(fā)生了滲入
/home/sll/software/Dsuite/Build/Dsuite Dinvestigate -w 50,25 INPUT_FILE.vcf.gz SETS.txt test_trios.txt
Outputs D, f_d, f_dM, and d_f in genomic windows
SETS.txt文件有兩列 : SAMPLE_ID POPULATION_ID
test_trios.txt包含三個(gè)群體(除外群,外群在SETS.txt文件中已經(jīng)指定)的名稱:
POP1 POP2 POP3
There can be multiple lines and then the program generates multiple ouput files, named like POP1_POP2_POP3_localFstats_SIZE_STEP.txt
-h, --help display this help and exit
-w SIZE,STEP --window=SIZE,STEP (required)設(shè)置移動(dòng)的窗口及步長(zhǎng)大小 (default: 50,25)
-n, --run-name run-name will be included in the output file name
3、Dsuite Fbranch:
是一種啟發(fā)式方法,執(zhí)行f-branch計(jì)算涩赢,用于解釋f4-ratio相關(guān)結(jié)果
/home/sll/software/Dsuite/Build/Dsuite Fbranch sample.ML.tree.treeout sample_tree.txt > fbranch.out
fbranch.out:f-branch統(tǒng)計(jì)量保存成矩陣格式
用dtools.py腳本繪制f-branch圖
/home/sll/software/Dsuite/utils/dtools.py fbranch.out sample.ML.tree.treeout --outgroup Outgroup --use_distances --dpi 1200 --tree-label-size 30
–outgroup:指定外類群(與fbranch.out和species.newick一致戈次,一般是Outgroup)
–use_distances:畫樹時(shí)使用newick文件里節(jié)點(diǎn)距離
–dpi:設(shè)置png分辨率,有些期刊投稿要求1200筒扒,800怯邪,600不等;最好高點(diǎn)花墩。
–tree-label-size:設(shè)置樹節(jié)點(diǎn)標(biāo)簽大小
結(jié)果展示:
- 真正的物種樹作為數(shù)據(jù)模擬的輸入文件顯示在圖的側(cè)邊悬秉。物種樹在 y 軸以“展開”的形式進(jìn)行展示,所以每一個(gè)分枝包括內(nèi)部分枝都指向矩陣中對(duì)應(yīng)的行和推斷的 f-brach 統(tǒng)計(jì)值冰蘑。
- 圖的上方和左側(cè)為群體/物種系統(tǒng)發(fā)育樹和泌,其中左側(cè)為展開的群體/物種樹。矩陣中色塊顏色深淺表示滲入比例祠肥,顏色越深表示滲入比例越高武氓,越淺滲入比例越低。
腳本自用:
Dsuite.sh
export LD_LIBRARY_PATH=/home/sll/miniconda3/pkgs/libstdcxx-ng-12.1.0-ha89aaad_16/lib:$LD_LIBRARY_PATH
Dsuite="/home/sll/software/Dsuite"
$Dsuite/Build/Dsuite Dtrios sample-select.vcf d.txt -t sample.ML.tree.treeout -o sample
$Dsuite/Build/Dsuite Fbranch sample.ML.tree.treeout sample_tree.txt > fbranch.out
$Dsuite/utils/dtools.py fbranch.out sample.ML.tree.treeout --outgroup Outgroup --use_distances --dpi 1200 --tree-label-size 30