Relate 估計(jì)位點(diǎn)的起源時(shí)間

1、轉(zhuǎn)換文件格式

從 VCF 文件轉(zhuǎn)換為 relate 軟件可以讀取的 hap 格式:

PATH_TO_RELATE/bin/RelateFileFormats \

? ? ? ? ? ? ? ? --mode ConvertFromVcf \

? ? ? ? ? ? ? ? --haps example.haps \

? ? ? ? ? ? ? ? --sample example.sample \

? ? ? ? ? ? ? ? -i example

--haps? 指定輸出的.haps文件路徑。

--sample? 指定輸出的.sample文件路徑。

-i, --input? 輸入文件的基名(不帶擴(kuò)展名),并優(yōu)先選擇非壓縮文件(如無壓縮文件則使用壓縮文件)。

--chr? 可選參數(shù):指定染色體索引(整數(shù)類型),將作為HAPS文件的第一列。默認(rèn)值:0。

輸出文件為 example.haps 和 example.sample。

# 這里的 VCF 文件需要進(jìn)行 phase。

java -Xmx163840m -jar? ?beagle.18May20.d20.jar? ?\

? ? ? ?gt=chr01.vcf? ?\

? ? ? ?out=chr01.phased? ?\

? ? ? ?window=8? #默認(rèn)40,縮小可以提高計(jì)算速度,增加可以提高估計(jì)的準(zhǔn)確性 \

? ? ? ?ne=100000? #默認(rèn)10e6 \

? ? ? ?nthreads=8

2、估計(jì)譜系進(jìn)化歷史

首先需要進(jìn)行一次簡(jiǎn)單的計(jì)算,后續(xù)所有計(jì)算都需要在此基礎(chǔ)上運(yùn)行,運(yùn)算時(shí)間較短。

PATH_TO_RELATE/bin/Relate \

? ? ? --mode All \

? ? ? -m 1.25e-8 \

? ? ? -N 30000 \

? ? ? --haps data/example.haps \

? ? ? --sample data/example.sample \

? ? ? --map data/genetic_map.txt \

? ? ? --annot data/example.annot \

? ? ? --seed 1 \

? ? ? -o example

輸出文件分別為 example.anc 和 example.mut。

--mode? 指定Relate的運(yùn)行模式。模式"All"將執(zhí)行算法的所有階段,其他模式可用于單獨(dú)執(zhí)行特定階段(參見文檔)。此功能在并行化運(yùn)行Relate時(shí)非常有用。

-m, --mutation_rate? ? 每代每個(gè)堿基的突變率。

-N, --effective_size? 單倍型的有效群體大小。(指單倍型而非個(gè)體!若需計(jì)算個(gè)體的有效群體大小,需將單倍型的有效群體大小乘以2)

example.haps 和 example.sample 為上一步驟生成的文件;

genetic_map.txt 則需要單獨(dú)生成,具體格式如下:

將三列中的第i個(gè)元素分別記為p[i]、r[i]、rdist[i],通過以下公式計(jì)算:r[i]=( (rdist[i+1]?rdist[i])/(p[i+1]?p[i]) )×1e6。

example.annot 是可選項(xiàng),如果想放,按如下方式生成:

PATH_TO_RELATE/bin/RelateFileFormats \

? ? ? ? ? ? ? ? --mode GenerateSNPAnnotations \

? ? ? ? ? ? ? ? --haps example.haps \

? ? ? ? ? ? ? ? --sample example.sample \

? ? ? ? ? ? ? ? --poplabels example.poplabels \

? ? ? ? ? ? ? ? --ancestor ancestor.fa \

? ? ? ? ? ? ? ? -o example

example.poplabels 文件指定樣本所在群體信息,按如下格式整理:

ancestor.fa 是可選項(xiàng),如果要放,需要是和數(shù)據(jù)集比對(duì)后的 fasta 格式。

3、估計(jì)有效群體大小

PATH_TO_RELATE/scripts/EstimatePopulationSize/EstimatePopulationSize.sh \

? ? ? ?-i example \

? ? ? ?-m 1.25e-8 \

? ? ? ?--poplabels data/example.poplabels \

? ? ? ?--seed 1 \

? ? ? -o example_popsize

較上一步驟,該步驟需要的時(shí)間較久。

這里 -i 的輸入文件為上一步驟生成的 .anc 和 .mut 文件,無需后綴。

此外,有一些可選項(xiàng)可供選擇:

--noanc? ? 可選參數(shù):指定是否在最后重新推斷分支長(zhǎng)度。0:重新推斷,1:不重新推斷。默認(rèn)值:0。

--pop_of_interest? ? 可選參數(shù):指定需要估計(jì)種群大小的群體。使用.poplabels文件的第二列作為群體標(biāo)簽??梢灾付ǘ鄠€(gè)群體,用逗號(hào)分隔(例如pop1,pop2)。使用此選項(xiàng)時(shí),建議(但非必需)在運(yùn)行Relate時(shí)添加--annot。如果未使用--annot運(yùn)行Relate,也可后續(xù)補(bǔ)充(詳見文檔)。

--first_chr& --last_chr? ? ?可選參數(shù):允許多個(gè)輸入文件,假設(shè)文件名按染色體索引編號(hào)。示例:-i example --first_chr 1 --last_chr 2 會(huì)假設(shè)輸入文件為 example_chr1.anc, example_chr1.mut, example_chr2.anc, example_chr2.mut。

--chr? ? 可選參數(shù):包含染色體名稱的文件(每行一個(gè)名稱)。此選項(xiàng)會(huì)覆蓋--first_chr和--last_chr的設(shè)置。示例:-i example --chr chr.txt 會(huì)假設(shè)輸入文件為example_chr*.anc,example_chr*.mut。

--threads? ? 可選參數(shù):最大線程數(shù)。默認(rèn)值:1。

--bins? ? 可選參數(shù):指定分箱區(qū)間。格式為lower,upper,stepsize,對(duì)應(yīng)函數(shù)c(0,10^seq(lower, upper, stepsize))。

--years_per_gen? ? 可選參數(shù):每代的年數(shù)。默認(rèn)值:28.0。

--num_iter? ? 可選參數(shù):算法迭代次數(shù)。默認(rèn)值:5。

--threshold? ? 可選參數(shù):[0,1]范圍內(nèi)的浮點(diǎn)數(shù),表示按突變映射數(shù)量排序后需丟棄的樹的比例。此參數(shù)有兩個(gè)作用:1) 移除低質(zhì)量/無信息量的樹;2) 加速推斷。值越大,丟棄的樹越多。默認(rèn)值:0.5。

--seed? ? 可選參數(shù):用于估計(jì)分支長(zhǎng)度的MCMC算法中的隨機(jī)數(shù)生成器種子。

輸出文件:

example_popsize.pdf????展示估計(jì)的種群大小的圖表。

example_popsize.anc.gz, example_popsize.mut.gz, example_popsize.dist

如果指定--noanc 1,則不會(huì)輸出這些文件。包含更新分支長(zhǎng)度后的譜系信息。無論threshold參數(shù)值如何,均會(huì)保留所有樹的信息。若指定了--noanc 1,可通過獨(dú)立運(yùn)行 ReEstimateBranchLengths.sh 腳本重新估計(jì)分支長(zhǎng)度。

example_popsize.coal????包含將所有樣本視為單一群體時(shí)的共祖率(coalescence rates)和交叉共祖率(cross-coalescence rates)。

example_popsize.pairwise.coal 和 .bin? ? 共祖率文件及其對(duì)應(yīng)的二進(jìn)制文件,記錄樣本對(duì)之間的共祖率??赏ㄟ^ RelateCoalescentRates --mode FinalizePopulationSize 提取任意 .poplabels文件的共祖率。

example_popsize_avg.rate????包含時(shí)間平均的突變率。

4、重新估計(jì)分支長(zhǎng)度

基于上述估計(jì)的有效群體大小重新估計(jì)分支長(zhǎng)度。

PATH_TO_RELATE/scripts/SampleBranchLengths/ReEstimateBranchLengths.sh \

? ? ? ? ? ? ? ? -i example \

? ? ? ? ? ? ? ? -o example_sub \

? ? ? ? ? ? ? ? -m 1.25e-8 \

? ? ? ? ? ? ? ? --coal popsize.coal \

? ? ? ? ? ? ? ? --first_bp 100000 \

? ? ? ? ? ? ? ? --last_bp 200000 \

? ? ? ? ? ? ? ? --seed 1

-i, --input? ? 輸入文件名(不包含擴(kuò)展名),應(yīng)為.anc和.mut文件的名稱。需要包含輸入haps/sample文件中的所有 SNP。如果未包含所有 SNP,請(qǐng)參見--dist選項(xiàng)。

-o, --output? ? 輸出文件的基名(不包含擴(kuò)展名)。

-m, --mu? ? 突變率,例如1.25e-8。

--coal? ? 估計(jì)的共祖率,將所有單倍型視為一個(gè)群體。

--threads? ? 可選參數(shù):最大線程數(shù)。默認(rèn)值為 1。

--first_bp? ? 可選參數(shù):起始?jí)A基對(duì)位置(bp)。

--last_bp? ? 可選參數(shù):結(jié)束堿基對(duì)位置(bp)。

--dist? ? 可選參數(shù):包含 SNP 堿基對(duì)位置及其相鄰 SNP 間距離的文件名(文件格式)。例如,可通過RelateExtract --mode AncMutForSubregion獲取。注意:如果.anc/.mut文件僅覆蓋輸入haps/sample文件的子區(qū)域,則必須提供此文件。

--seed? ? 可選參數(shù):用于分支長(zhǎng)度估計(jì)的隨機(jī)種子。

輸出文件為 example_sub.anc/mut.

5、估計(jì)突變率

計(jì)算隨時(shí)間變化的突變率:

PATH_TO_RELATE/bin/RelateMutationRate \

? ? ? ? ? ? ? ? --mode Avg\

? ? ? ? ? ? ? ? -i example \

? ? ? ? ? ? ? ? -o example

-i, --input? ? 輸入文件名(不包含擴(kuò)展名),應(yīng)為.anc和.mut文件的名稱。

-o, --output? ? 輸出文件的基名(不包含擴(kuò)展名)。

--first_chr & --last_chr? ? 可選參數(shù):允許多個(gè)輸入文件,假設(shè)文件名按染色體索引編號(hào)。示例:-i example --first_chr 1 --last_chr 2會(huì)假設(shè)輸入文件為example_chr1.anc,example_chr1.mut,example_chr2.anc,example_chr2.mut。

--chr? ? 可選參數(shù):包含染色體名稱的文件(每行一個(gè)名稱)。此選項(xiàng)會(huì)覆蓋--first_chr和--last_chr的設(shè)置。示例:-i example --chr chr.txt會(huì)假設(shè)輸入文件為example_chr*.anc,example_chr*.mut。

--bins? ? 可選參數(shù):指定分箱區(qū)間。格式為 lower, upper, stepsize,對(duì)應(yīng)函數(shù)c(0,10^seq(lower, upper, stepsize))。

--years_per_gen? ? 可選參數(shù):每代的年數(shù)。默認(rèn)值:28.0。

--dist? ? 可選參數(shù):指定.dist文件。該文件存儲(chǔ) SNP 之間的堿基對(duì)距離(單位:bp)。如果未指定,則使用.mut文件中提供的距離。僅在通過某些功能(如此函數(shù))移除部分 SNP(及對(duì)應(yīng)的樹)時(shí)需要此選項(xiàng)。.dist文件可通過此功能生成。注意:如果與--first_chr或--last_chr同時(shí)指定,請(qǐng)?zhí)峁┎粠U(kuò)展名的文件名。

輸出文件為:example_avg.rate.

6、檢測(cè)正選擇

計(jì)算譜系選擇證據(jù)的p值。建議先估計(jì)種群大小歷史,并設(shè)置 --threshold 0。此操作會(huì)基于估計(jì)的種群大小歷史更新所有樹的分支長(zhǎng)度。

PATH_TO_RELATE/scripts/DetectSelection/DetectSelection.sh \

? ? ? ? ? ? ? ? -i example \

? ? ? ? ? ? ? ? -o example_selection \

? ? ? ? ? ? ? ? -m 1.25e-8 \

? ? ? ? ? ? ? ? --first_bp 1000000 \

? ? ? ? ? ? ? ? --last_bp 1000000 \

? ? ? ? ? ? ? ? --years_per_gen 28 \

? ? ? ? ? ? ? ? --coal popsize.coal

-i, --input? ? 輸入文件名(不包含擴(kuò)展名),應(yīng)為.anc和.mut文件的名稱。需要包含haps/sample輸入文件中的所有 SNP。

-o, --output? ? 輸出文件的基名(不包含擴(kuò)展名)。

-m, --mu? ? 突變率,例如1.25e-8。

--first_bp? ? 可選參數(shù):起始?jí)A基對(duì)位置(bp)。

--last_bp? ? 可選參數(shù):結(jié)束堿基對(duì)位置(bp)。

--years_per_gen? ? 可選參數(shù):每代的年數(shù)。默認(rèn)值:28.0。

--coal? ? 可選參數(shù):將所有單倍型視為一個(gè)群體時(shí)的共祖率估計(jì)。如果.anc/.mut文件是通過EstimatePopulationSize.sh腳本獲得的,則不需要此參數(shù);否則強(qiáng)烈建議提供。

--seed? ? 可選參數(shù):用于分支長(zhǎng)度估計(jì)的隨機(jī)種子。僅在指定--coal時(shí)使用。

輸出文件

.freq 文件:記錄衍生等位基因在genN到gen1世代(文件頭中指定)的頻率。

.lin 文件:記錄樹中譜系的數(shù)量,覆蓋genN到gen1世代(文件頭中指定),以及突變頻率為2時(shí)的譜系數(shù)量。

.sele 文件:記錄選擇證據(jù)的 log10 p 值,覆蓋genN到gen1世代(文件頭中指定),以及突變頻率為2時(shí)的 p 值。

獲得選擇的 P 值:

PATH_TO_RELATE/bin/RelateSelection \

? ? ? ? ? ? ? ? --mode Frequency \

? ? ? ? ? ? ? ? -i example \

? ? ? ? ? ? ? ? -o example

輸出文件為:example.freq, example.lin.

將上面的兩個(gè)文件作為輸入文件(example.freq, example.lin),計(jì)算每個(gè)SNP位點(diǎn)的P值:

PATH_TO_RELATE/bin/RelateSelection \

? ? ? ? ? ? ? ? --mode Selection \

? ? ? ? ? ? ? ? -i example \

? ? ? ? ? ? ? ? -o example

輸出文件為:example.sele。

7、推斷樣本支長(zhǎng)

PATH_TO_RELATE/scripts/SampleBranchLengths/SampleBranchLengths.sh \

? ? ? ? ? ? ? ? -i example \

? ? ? ? ? ? ? ? -o example_sub \

? ? ? ? ? ? ? ? -m 1.25e-8 \

? ? ? ? ? ? ? ? --coal popsize.coal \

? ? ? ? ? ? ? ? --format a \

? ? ? ? ? ? ? ? --num_samples 5 \

? ? ? ? ? ? ? ? --first_bp 100000 \

? ? ? ? ? ? ? ? --last_bp 200000 \

? ? ? ? ? ? ? ? --seed 1

-i, --input? ? 輸入文件名(不包含擴(kuò)展名),應(yīng)為.anc和.mut文件的名稱。需要包含輸入haps/sample文件中的所有 SNP。若未包含所有 SNP,請(qǐng)參考--dist選項(xiàng)。

-o, --output? ? 輸出文件的基名(不包含擴(kuò)展名)。

-m, --mu? ? 突變率,例如1.25e-8。

--coal? ? 估計(jì)共祖率(coalescent rate),將所有單倍型視為一個(gè)群體。

--format? ? 輸出文件格式:'a': anc/mut 格式(默認(rèn))。'n': newick/sites 格式(供 CLUES 使用)。'b': 二進(jìn)制格式(供 CLUES 和 PALM 使用)注意:anc/mut 格式會(huì)修改以支持存儲(chǔ)同一分支的多個(gè)長(zhǎng)度。

--num_samples? ? 分支長(zhǎng)度采樣次數(shù)。需為整數(shù)且 ≥1。

--num_proposals? ? 可選參數(shù):采樣間隔的 MCMC 提議次數(shù)。默認(rèn)值為max(10*N, 1000)(N 為單倍型數(shù)量)。若設(shè)為0,所有樣本將與輸入一致。

--first_bp? ? 可選參數(shù):起始?jí)A基對(duì)位置(bp)。

--last_bp? ? 可選參數(shù):結(jié)束堿基對(duì)位置(bp)。

--dist? ? 可選參數(shù):包含 SNP 的堿基對(duì)位置及相鄰 SNP 間距的文件名(文件格式)。例如,通過RelateExtract --mode AncMutForSubregion生成。注意:若.anc/.mut文件僅覆蓋輸入haps/sample文件的子區(qū)域,則必須提供此文件。

--seed? ? 可選參數(shù):分支長(zhǎng)度估計(jì)的隨機(jī)種子。

輸出文件為 example_sub.anc/mut 或 example_sub.newick/.sites 或 example_sub.timeb.

該步驟的輸出文件可以用于后續(xù)的 CLUES 或 PALM 分析,我后面有時(shí)間會(huì)寫一下如何利用 CLUES 推斷位點(diǎn)的受選擇時(shí)間。

詳見:CLUES 推斷位點(diǎn)的受選擇時(shí)間(進(jìn)化軌跡)

8、繪制樹圖

PATH_TO_RELATE/scripts/TreeView/TreeView.sh \

? ? ? ? ? ? ? ? --haps data/example.haps \

? ? ? ? ? ? ? ? --sample data/example.sample \

? ? ? ? ? ? ? ? --anc example.anc \

? ? ? ? ? ? ? ? --mut example.mut \

? ? ? ? ? ? ? ? --poplabels data/example.poplabels \

? ? ? ? ? ? ? ? --bp_of_interest 3000000 \

? ? ? ? ? ? ? ? --years_per_gen 28 \

? ? ? ? ? ? ? ? -o example

基于Relate計(jì)算的結(jié)果便可計(jì)算。

PATH_TO_RELATE/scripts/TreeView/TreeViewMutation.sh \

? ? ? ? ? ? ? ? ? --haps data/example.haps

? ? ? ? ? ? ? ? ? --sample data/example.sample \

? ? ? ? ? ? ? ? ? --anc example.anc \

? ? ? ? ? ? ? ? ? --mut example.mut \

? ? ? ? ? ? ? ? ? --poplabels data/example.poplabels \

? ? ? ? ? ? ? ? ? --bp_of_interest 3000000 \

? ? ? ? ? ? ? ? ? --years_per_gen 28 \

? ? ? ? ? ? ? ? ? -o example

在樹圖中,高亮顯示攜帶衍生等位的樣本。

PATH_TOcowplot/TreeView/TreeViewSamples.sh \

? ? ? ? ? ? ? ? --haps data/example.haps

? ? ? ? ? ? ? ? --sample data/example.sample \

? ? ? ? ? ? ? ? --anc example.anc \

? ? ? ? ? ? ? ? --mut example.mut \

? ? ? ? ? ? ? ? --dist example.dist \

? ? ? ? ? ? ? ? --poplabels data/example.poplabels \

? ? ? ? ? ? ? ? --bp_of_interest 3000000 \

? ? ? ? ? ? ? ? --years_per_gen 28 \

? ? ? ? ? ? ? ? -o example

這個(gè)要用 SampleBranchLengths 的輸出文件,在每個(gè)節(jié)點(diǎn)添加置信區(qū)間。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容