SnpHub搭建(二) | 數(shù)據(jù)預(yù)處理與樣本描述文件準(zhǔn)備

SnpHub提供了一個自動化的數(shù)據(jù)預(yù)處理腳本,在填寫了配置文件后運行腳本即可(細(xì)節(jié)在這里https://esctrionsit.github.io/snphub_tutorial/content/Setup/quick_deploy.html)。

但是,對于某些情況,手動預(yù)處理數(shù)據(jù)仍有優(yōu)勢。因此,本文將介紹SnpHub所需數(shù)據(jù)的手動預(yù)處理步驟。同時,還將介紹SnpHub所需的樣本描述文件的格式。

本文采用的數(shù)據(jù)集搭建的SnpHub實例可點擊此處查看。

1. 數(shù)據(jù)準(zhǔn)備

[1] Pont, C., Leroy, T., Seidel, M. et al. Tracing the ancestry of modern bread wheats. Nat Genet 51, 905–911 (2019). https://doi.org/10.1038/s41588-019-0393-z
[2] Appels R, Eversole K, Stein N, et al. Shifting the limits in wheat research and breeding using a fully annotated reference genome[J]. Science, 2018, 361(6403). https://doi.org/10.1126/science.aar7191

數(shù)據(jù)采用了Pont等于2019年發(fā)表的Tracing the ancestry of modern bread wheats中的數(shù)據(jù) 1。根據(jù)文章內(nèi)容,vcf數(shù)據(jù)本身可在https://urgi.versailles.inra.fr/download/iwgsc/IWGSC_RefSeq_Annotations/v1.0/iwgsc_refseqv1.0_Whealbi_GWAS.zip下載到。

同時,參照基因組數(shù)據(jù)采用了IWGSC RefSeq v1.0 2,該數(shù)據(jù)可于https://urgi.versailles.inra.fr/download/iwgsc/IWGSC_RefSeq_Assemblies/v1.0/iwgsc_refseqv1.0_all_chromosomes.zip下載。

本例中,注釋信息采用了IWGSC RefSeq v1.1 annotation,下載鏈接為https://urgi.versailles.inra.fr/download/iwgsc/IWGSC_RefSeq_Annotations/v1.1/iwgsc_refseqv1.1_genes_2017July06.zip。IWGSC RefSeq v1.1 annotation是同樣針對IWGSC RefSeq v1.0參照基因組的更新版本的注釋數(shù)據(jù)。

數(shù)據(jù)下載完成后,解壓縮。

對于Pont等的數(shù)據(jù),采用whealbi.unimputed_filtered.vcf.tar.gz文件解壓縮后的whealbi.unimputed_filtered.vcf進(jìn)行下一步。同時,進(jìn)入下一步的還有包含樣本信息的Whealbi_Wheat_final_garden_141013.xlsx文件。

對于IWGSC RefSeq v1.0,采用161010_Chinese_Spring_v1.0_pseudomolecules.fasta文件進(jìn)行下一步

對于IWGSC RefSeq v1.1 annotation,采用iwgsc_refseqv1.1_genes_2017July06/IWGSC_v1.1_HC_20170706.gff3文件進(jìn)行下一步。

上述文件均移到同一文件夾中備用。

2. 索引FASTA與GFF3

首先使用SAMtools進(jìn)行FASTA文件的索引完成后,得到同名的fai文件161010_Chinese_Spring_v1.0_pseudomolecules.fasta.fai

samtools faidx 161010_Chinese_Spring_v1.0_pseudomolecules.fasta

對于GFF3文件,可先進(jìn)行排序,然后采用bgzip進(jìn)行壓縮。壓縮后,使用tabix進(jìn)行索引。索引后可得到索引文件IWGSC_v1.1_HC_20170706.gff3.gz.csi

sort -k1,1 -k4,4n IWGSC_v1.1_HC_20170706.gff3 > IWGSC_v1.1_HC_20170706.gff3.sorted

mv IWGSC_v1.1_HC_20170706.gff3 IWGSC_v1.1_HC_20170706.gff3.backup

mv IWGSC_v1.1_HC_20170706.gff3.sorted IWGSC_v1.1_HC_20170706.gff3

bgzip < IWGSC_v1.1_HC_20170706.gff3 > IWGSC_v1.1_HC_20170706.gff3.gz

tabix -C -p gff IWGSC_v1.1_HC_20170706.gff3.gz

3. 構(gòu)建snpEff數(shù)據(jù)庫

通過構(gòu)建snpEff數(shù)據(jù)庫,即可使用snpEff對vcf/bcf文件進(jìn)行注釋。如果之前沒有構(gòu)建對應(yīng)snpEff數(shù)據(jù)庫,需要先行構(gòu)建。

首先下載并解壓snpEff。

mkdir Downloads && cd Downloads

# 下載SnpEff
wget http://sourceforge.net/projects/snpeff/files/snpEff_latest_core.zip

unzip snpEff_latest_core.zip

cd snpEff

完成后,編輯snpEff的配置文件

vi snpEff.config

找到配置文件中Third party databases部分,添加如下內(nèi)容。其中,開頭帶有#的是注釋信息,第二行的SnphubBuilding.genome : Snphub是數(shù)據(jù)庫信息,數(shù)據(jù)庫名要與接下來的文件夾名相對應(yīng)。

# Database for this Snphub instance
SnphubBuilding.genome : Snphub
向snpEff添加新數(shù)據(jù)庫信息

接著在snpEff文件夾中,創(chuàng)建文件夾data并進(jìn)入,然后創(chuàng)建文件夾SnphubBuildinggenomes。將之前準(zhǔn)備的gff3文件復(fù)制入SnphubBuilding文件夾,并重命名為gene.gff(此處的gff3文件時壓縮前的文件)。fasta文件復(fù)制入genomes,并重命名為<數(shù)據(jù)庫名>.fa,在此處就是SnphubBuilding.fa

mkdir data && cd data

mkdir SnphubBuilding

mkdir genomes

cp ../../../IWGSC_v1.1_HC_20170706.gff3 SnphubBuilding/

mv SnphubBuilding/IWGSC_v1.1_HC_20170706.gff3 SnphubBuilding/genes.gff

cp ../../../161010_Chinese_Spring_v1.0_pseudomolecules.fasta genomes/

mv genomes/161010_Chinese_Spring_v1.0_pseudomolecules.fasta genomes/SnphubBuilding.fa

返回上級目錄,即可使用snpEff開始構(gòu)建數(shù)據(jù)庫SnphubBuilding了。

cd ../

java -jar snpEff.jar build -gff3 -v SnphubBuilding

構(gòu)建完成,返回最初目錄。

cd ../../

4. VCF文件的處理

首先使用bgzip對VCF文件進(jìn)行壓縮,然后利用bcftools進(jìn)行索引。

bgzip < whealbi.unimputed_filtered.vcf > whealbi.unimputed_filtered.vcf.gz

bcftools index whealbi.unimputed_filtered.vcf.gz

隨后,將vcf文件轉(zhuǎn)化為bcf格式并索引。bcf格式是一種二進(jìn)制格式,相較于vcf體積更小。

# bcftools concat可以合并多個vcf文件,要求多個文件間樣本一致且相同順序??捎糜诤喜⒎秩旧w的VCF或分snp和indel的VCF等場景
# bcftools merge用來合并多個樣本不重疊的VCF文件
# bcftools concat file-1.vcf.gz file-2.vcf.gz -Ob -o unannotated.bcf.gz
bcftools concat whealbi.unimputed_filtered.vcf.gz -Ob -o unannotated.bcf.gz
bcftools index unannotated.bcf.gz

對bcf文件進(jìn)行注釋。參數(shù)中的SnphubBuilding就是上一節(jié)中構(gòu)建的數(shù)據(jù)庫。

bcftools view unannotated.bcf.gz --threads 3 \
    | java -jar Downloads/snpEff/snpEff.jar -t SnphubBuilding - \
    | bcftools view --threads 3 -o output.ann.bcf.gz -Ob

bcftools index output.ann.bcf.gz

注釋完成后,如果不再需要snpEff數(shù)據(jù)庫,可直接將文件夾Downloads刪掉。

得到的output.ann.bcf.gz就是注釋后的bcf文件。備用。

5. 生成基因索引

基因索引是一個包含了四列的文本文件,用于將基因名作為輸入時,SnpHub將其轉(zhuǎn)換為區(qū)間。

本文件是一個不含header的文件,第一列為染色體名,第二、三列分別為起止位置,第四列為基因名。列與列之間由\t(tab)分隔。

基因索引文件

本文件可由多種方法生成,此處介紹從gff3文件生成的方法:

gawk -F"[\t=;]" -vOFS="\t" '$3=="gene"{print $1,$4,$5,$10}'  IWGSC_v1.1_HC_20170706.gff3 > geneinfo.txt

采用此命令生成基因索引時,請檢查輸出的基因索引是否正確

6. 準(zhǔn)備分組文件

分組文件是SnpHub用于讀取預(yù)分組信息以供用戶使用的文件。

本文件是一個不含header的文件,共含2列。第一列為分組名稱。第二列為分組所含樣本(Accession name),樣本間以英文逗號分隔。列與列之間由\t(tab)分隔。

分組文件示例
分組文件每列描述

7. 準(zhǔn)備樣本名對照表

SnpHub在樣本名稱上采取了“三樣本名策略”,即將VCFID(vcf文件中記錄的樣本名)、Accession name(用戶查詢時輸入的樣本名)和Display name(輸出的圖中的樣本名)分開,從而讓用戶減少輸入量的同時,在圖上顯示更為詳細(xì)的內(nèi)容。

本文件是一個含有header的文件,包含至少三列。前三列的列名分別為vcfID、AccessionName、DisplayName,分別是樣本在vcf中記錄的名字、用戶使用SnpHub查詢時輸入的名字和在輸出的圖中顯示的名字。每列中的名字都不能重復(fù)。

在此三列內(nèi)容之后,用戶可自行定義其他列來描述樣本信息,以供用戶使用SnpHub時翻閱。

列與列之間由\t(tab)分隔。

共有9列的樣本名對照表示例
樣本名對照表前三列描述

8. 準(zhǔn)備樣本地理信息表

SnpHub提供了一種比較不同地區(qū)變異發(fā)生比例的功能,因而需要各樣本的地理信息。對于沒有地理信息的樣本,可直接不寫入本文件。如 不需要本功能,只需要創(chuàng)建一個空文件并將路徑寫入SnpHub配置文件即可。

本文件是一個不含header的文件,包含四列信息。第一列為樣本名(Accession name),第二列為地區(qū)描述,第三列為經(jīng)度,第四列為緯度。

地理信息表示例
地理信息表列描述

9. 準(zhǔn)備系統(tǒng)信息文件

SnpHub提供給系統(tǒng)管理員一種方式可以簡單介紹某個特定的實例。本文件是可選項,如不需要,只需在配置文件中填寫NA

如有信息,建議表中只含一列。

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

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