原文網址:
http://blog.biochen.com/archives/337
HISAT2是TopHat2/Bowti2的繼任者,使用改進的BWT算法,實現了更快的速度和更少的資源占用,作者推薦TopHat2/Bowti2和HISAT的用戶轉換到HISAT2。
官網:
https://ccb.jhu.edu/software/hisat2/index.shtml
HISAT2安裝
下載HISAT2-2.0.1,並解壓:
unzip hisat2-2.0.1-beta-Linux_x86_64.zip |
將HISAT2目錄添加到環境變量:
vi ~/.bashrc |
在文件末位添加:
export PATH=/lustre/home/lcn/chenwen/bin/hisat2-2.0.1-beta:$PATH |
保存退出
source ~/.bashrc |
建立索引
建立基因組索引
hisat2-build –p 4 genome.fa genome |
建立基因組+轉錄組+SNP索引:
bowtie2的索引只有基因組序列信息,tophat2比對時,轉錄組信息通過-G參數指定。HISAT2建立索引時,就應該把轉錄組信息加進去。
HISAT2提供兩個Python腳本將GTF文件轉換成hisat2-build能使用的文件:
extract_exons.py Homo_sapiens.GRCh38.83.chr.gtf > genome.exon |
extract_splice_sites.py Homo_sapiens.GRCh38.83.chr.gtf > genome.ss |
此外,HISAT2還支持將SNP信息加入到索引中,這樣比對的時候就可以考慮SNP的情況。這仍然需要將SNP文件轉換成hisat2-build能使用的文件:
extract_snps.py snp142Common.txt > genome.snp |
最后,將基因組、轉錄組、SNP建立索引:
hisat2-build -p 4 genome.fa --snp genome.snp --ss genome.ss --exon genome.exon genome_snp_tran |
官網提供了人和小鼠的索引文件下載,壓縮包有make_grch38_tran.sh文件,詳細記錄了創建索引的過程。
運行HISAT2
hisat2 -p 16 -x ./grch38_tran/genome_tran -1 SRR534293_1.fastq -2 SRR534293_2.fastq –S SRR534293.sam |
-x 指定基因組索引
-1 指定第一個fastq文件
-2 指定第二個fastq文件
-S 指定輸出的SAM文件
更多參數請查看HISAT2的操作手冊:
https://ccb.jhu.edu/software/hisat2/manual.shtml
官方操作手冊簡要版
用法:
hisat2 [options]* -x <hisat2-idx> {-1 <m1> -2 <m2> | -U <r> | –sra-acc <SRA accession number>} [-S <hit>]
主要參數:
-x <hisat2-idx>
參考基因組索引文件的前綴。
-1 <m1>
雙端測序結果的第一個文件。若有多組數據,使用逗號將文件分隔。Reads的長度可以不一致。
-2 <m2>
雙端測序結果的第二個文件。若有多組數據,使用逗號將文件分隔,並且文件順序要和-1參數對應。Reads的長度可以不一致。
-U <r>
單端數據文件。若有多組數據,使用逗號將文件分隔。可以和-1、-2參數同時使用。Reads的長度可以不一致。
–sra-acc <SRA accession number>
輸入SRA登錄號,比如SRR353653,SRR353654。多組數據之間使用逗號分隔。HISAT將自動下載並識別數據類型,進行比對。
-S <hit>
指定輸出的SAM文件。
輸入選項:
-q
輸入文件為FASTQ格式。FASTQ格式為默認參數。
-qseq
輸入文件為QSEQ格式。
-f
輸入文件為FASTA格式。
-r
輸入文件中,每一行代表一條序列,沒有序列名和測序質量等。選擇此項時,–ignore-quals參數也會被選擇。
-c
此參數后是直接比對的序列,而不是包含序列的文件名。序列間用逗號隔開。選擇此項時,–ignore-quals參數也會被選擇。
-s/–skip <int>
跳過輸入文件中前條序列進行比對。
-u/–qupto <int>
只使用輸入文件中前條序列進行比對,默認是沒有限制。
-5/–trim5 <int>
比對前去除每條序列5’端個鹼基
-3/–trim3 <int>
比對前去除每條序列3’端個鹼基
–phred33
輸入的FASTQ文件鹼基質量值編碼標准為phred33,phred33為默認參數。
–phred64
輸入的FASTQ文件鹼基質量值編碼標准為phred64。
–solexa-quals
將Solexa的鹼基質量值編碼標准轉換為phred。
–int-quals
輸入文件中的鹼基質量值為用空格分隔的數值,而不是ASCII碼,例如40 30 30 40。