全基因組重測序是對已知基因組序列的物種進行不同個體的基因組測序,并在此基礎上對個體或群體進行差異性分析。所以首先我們需要某個物種的全基因組序列和該物種的某個個體的基因組序列。
重測序數(shù)據(jù)分析流程
一 、參考基因組的下載
進入NCBI下載ASM1252v1的參考基因組
wget ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/012/525/GCA_000012525.1_ASM1252v1/GCA_000012525.1_ASM1252v1_genomic.fna.gz
gunzip GCA_000012525.1_ASM1252v1_genomic.fna.gz
二、測試序列(即從測序數(shù)據(jù))的準備:
下載鏈接:
鏈接:https://pan.baidu.com/s/1cpLI4RqEs7_Ulkkl76w75g
提取碼:eg7g
復制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
三、創(chuàng)建項目目錄
mkdir ~/Seqs/bwa_test
cp GCA_000012525.1_ASM1252v1_genomic.fna bwa_test/
cp test_* bwa_test/
bwa的介紹
- 即Burrows-Wheeler-Alignment Tool。
- 是一種能夠?qū)⒉町惗容^小的序列比對到一個較大的參考基因
組上的軟件包。它由三個不同的算法:
– BWA-backtrack: 是用來比對 Illumina 的序列的,reads 長度最長
能到 100bp。
– BWA-SW: 用于比對 long-read ,支持的長度為 70bp-1Mbp;同時
支持剪接性比對。
– BWA-MEM: 和SW都支持較長的read長度,同時都支持剪接性比
對(split alignments),但是BWA-MEM是更新的算法,也更快,
更準確,且 BWA-MEM 對于 70bp-100bp 的 Illumina 數(shù)據(jù)來說,
效果也更好些。
bwa的安裝
sudo apt install bwa
bwa
bwa的使用
bwa的使用需要兩種輸入文件:
– 索引的Reference genome data(fasta格式 .fa, .fasta, .fna)
– Short reads data (fastaq格式 .fastaq, .fq)即重測序數(shù)據(jù)
四、參考基因組索引的建立
bwa index GCA_000012525.1_ASM1252v1_genomic.fna
五、reads比對到參考序列得到sam文件
bwa mem GCA_000012525.1_ASM1252v1_genomic.fna test_7942raw_1.fq.gz test_7942raw_2.fq.gz > test_bwa_7942.sam
SAM文件
1.SAM格式主要應用于測序序列mapping到基因組上的結(jié)果表示,當然也可以表示任意的多重比對結(jié)果。
2.SAM是一種序列比對格式標準,由Heng Li (Sanger)制定,是以TAB為分割符的文本格式。
3.SAM的全稱是sequence alignment/map format。
sam格式詳解見https://en.wikipedia.org/wiki/SAM_%28file_format%29
less test_bwa_7942.sam
BAM格式
1.sam是帶有比對信息的序列文件(即告訴你這個reads在染色體上的位置等),用于儲存序列數(shù)據(jù)。
2.BAM 也是存儲序列比對信息的文件格式,但是是以二進制存儲,可以節(jié)約空間,計算機可讀。
3.二者都是fastq文件經(jīng)過序列比對或者mapping后輸出的格式;其儲存的信息都是一致的。
SAMtools
samtools是一個用于操作sam和bam文件的工具合集。
sudo apt install samtools
samtools
Official Document:http://www.htslib.org/doc/samtools.html
bam 與sam的格式轉(zhuǎn)換,bam格式以二進制存儲文件,更加節(jié)約空間。
為參考基因組建立索引,生成了prefix.fai文件
samtools faidx GCA_000012525.1_ASM1252v1_genomic.fna
sam文件轉(zhuǎn)為bam文件
samtools view -bhS -t GCA_000012525.1_ASM1252v1_genomic.fna.fai -o test_bwa_7942.bam test_bwa_7942.sam
為bam文件排序,sort只能為bam文件排序,而不能為sam;不同版本samtools sort命令的-o參數(shù)不同
samtools sort test_bwa_7942.bam -o test_bwa_7942.bam.sorted
為排序的bam文件建立索引. *.bai文件
samtools index test_bwa_7942.bam.sorted
samtools tview:顯示reads比對基因組的情況
samtools tview test_bwa_7942.bam.sorted GCA_000012525.1_ASM1252v1_genomic.fna
測試參考基因組每個位點或一段區(qū)域的測序深度(不是常說的平均測序深度)
samtools depth test_bwa_7942.bam.sorted >depth.txt
samtools flagstat:統(tǒng)計比對結(jié)果
samtools flagstat test_bwa_7942.bam.sorted
-總共的reads數(shù)(QC-passed or failed)
-總體上reads的匹配率
-有多少reads是屬于paired reads
-reads1中的reads數(shù)
-reads2中的reads數(shù)
-properly paired:正確配對的reads數(shù)量
-with itself and mate mapped:一對reads均比對上的reads數(shù)
-singletons:只有單條reads比對上的reads數(shù)
samtools rmdup:去除PCR重復
samtools rmdup test_bwa_7942.bam.sorted output.bam
samtools mpileup:生成bcf文件
該命令用于生成bcf文件,再使用bcftools進行SNP和Indel的分析
samtools mpileup -gf GCA_000012525.1_ASM1252v1_genomic.fna test_bwa_7942.bam.sorted > test_bwa_7942.bcf
mpileup生成的結(jié)果是pileup格式包含6行:
- 參考序列名;
- 位置;
- 參考堿基;
- 比對上的reads數(shù);
- 比對情況;
– ‘.’代表與參考序列正鏈匹配。
– ‘,’代表與參考序列負鏈匹配。
– ‘ATCGN’代表在正鏈上的不匹配。
– ‘a(chǎn)tcgn’代表在負鏈上的不匹配。
– ‘*’代表模糊堿基
– ‘’代表匹配的堿基是一個read的開始;’’后面緊跟的ascii碼減去33代表比對質(zhì)量;這兩個符號修飾的是后面的堿基,其后緊跟的堿基(.,ATCGatcgNn)代表該read的第一個堿基。
– ‘$’代表一個read的結(jié)束,該符號修飾的是其前面的堿基。
– 正則式’+[0-9]+[ACGTNacgtn]+’代表在該位點后插入的堿基;比如上例中在scaffold_1的2847后插入了9個長度的堿基acggtgaag。表明此處極可能是indel。
–正則式’-[0-9]+[ACGTNacgtn]+’代表在該位點后缺失的堿基;
6.比對上的堿基的質(zhì)量
六、基因變異檢測軟件
從bcf文件(samtools mpileup)中檢測基因變異位點: bcftools,從bam文件中檢測基因變異位點:GATK,基因變異的主要類型:SNP, indel等。bcftools是samtools中附帶的軟件,在samtools的安裝文件夾中可以找到。
bcftools call -vm test_bwa_7942.bcf -o test_bwa_7942.variants.bcf
bcftools view -v snps,indels test_bwa_7942.variants.bcf>test_bwa_7942.snps.vcf
less test_bwa_7942.snps.vcf
變異位點的過濾——bcftools filter
bcftools filter -o test_bwa_7942.snps.filtered.vcf -i 'QUAL>20 &&DP>5' test_bwa_7942.snps.vcf
這里簡單過濾:QUAL小于等于20,DP值小于等于5的位點,-i – include 只保留滿足該條件的位點。
七、變異基因注釋軟件
Annovar安裝和運行
wget http://www.openbioinformatics.org/annovar/download/0wgxR2rIVP/annovar.latest.tar.gz
tar -zvxf annovar.latest.tar.gz -C ~/BioSofts/
echo 'export PATH=~/BioSofts/annovar:$PATH'>>~/.bashrc
source ~/.bashrc
Annovar三種注釋模式
- gene-based annotation:判斷SNV或CNV是否造成蛋白編碼或氨基酸的改變,可用基因命名系統(tǒng)包括RefSeq,UCSC,ENSEMBL,GENCODE, AceView等。
- region-based annotation:變異位于染色體哪個區(qū)域,預測轉(zhuǎn)錄因子結(jié)合位點、SD區(qū)域等
- filter-based annotation:鑒定在特定數(shù)據(jù)庫中記錄的變異,如是否在dbSNP中被報道。
http://annovar.openbioinformatics.org/en/latest/
Annovar主要程序和目錄
-annotate_variation.pl #主程序,功能包括下載數(shù)據(jù)庫,三種不同的注釋
-coding_change.pl #可用來推斷蛋白質(zhì)序列
-convert2annovar.pl #將多種格式轉(zhuǎn)為.avinput的程序
-retrieve_seq_from_fasta.pl #用于自行建立其他物種的轉(zhuǎn)錄本
-table_annovar.pl #注釋程序,可一次性完成三種類型的注釋
-variants_reduction.pl #可用來更靈活地定制過濾注釋流程
-example/ #存放示例文件
-humandb/ #人類注釋數(shù)據(jù)庫
生成annovar輸入文件
convert2annovar.pl -format vcf4 test_bwa_7942.snps.filtered.vcf >test_bwa_7942.snps.avinput
Avinput文件,每行代表一個位點,前5列依次為:
– chromosome
– start position
– end position
– the reference nucleotides
– the observed nucleotides
– 其余列:可有可無;如果有,在輸出文件中會原樣輸出。
注釋變異基因位點
annotate_variation.pl --geneanno --dbtype refGene --buildver 7942-genome-new test_bwa_7942.snps.avinput ~/BioSofts/annovar/humandb/
--geneanno: 采用gene-based annotation注釋模式;
--dbtype :數(shù)據(jù)庫為refGene;還有knowGene,ensGene等
--buildver:為參考基因組版本
最后為數(shù)據(jù)庫所在目錄
生成avinput.variant_function和avinput.exonic_variant_function后綴的兩個結(jié)果文件。
Annovar結(jié)果解析
1.avinput.variant_function文件
2.包括所有突變信息:
3.第一列:variant effects, 變異分類,如intergenic, intronic, non-synonymous SNP, frameshift deletion, large-scale duplication等
4.第二列:基因名或Symbol
5.其余列:與avinput輸入文件相同:染色體、start、end、ref_nt、obs_nt等
需要下載或自定義注釋數(shù)據(jù)庫
1.官方提供了一些基因組注釋數(shù)據(jù)庫
http://annovar.openbioinformatics.org/en/latest/user-guide/download/
2.如果沒有,這需要自定義注釋數(shù)據(jù)庫