hisat2比對轉(zhuǎn)錄組數(shù)據(jù)

目前hisat2是最流行的轉(zhuǎn)錄組比對軟件,其比對速度快,且準(zhǔn)確度較高。具體使用方法如下:
用到的軟件版本為hisat2-2.2.1,samtools-1.6

1. 構(gòu)建hisat2參考基因組比對庫
hisat2-build -p 10 ref.fa ref
2. 用hisat2進(jìn)行比對
#對于雙端序列
hisat2 -p 20 --dta -x ref -1 ${sample}_1.fastq.gz -2 ${sample}_2.fastq.gz -S ${sample}.sam
#對于單端序列
hisat2 -p 20 -x ref -U ${sample}.fastq.gz -S ${sample}.sam
3. 用samtools將sam轉(zhuǎn)換成bam
samtools view -Sb ${sample}.sam -@ 20 > ${sample}.bam
4. 用samtools將bam排序
samtools sort ${sample}.bam -@ 20 -o ${sample}.sort
5. 用featureCounts進(jìn)行計數(shù)
featureCounts -T 10 -a ref.gtf -o ${sample}.txt -f -t gene ${sample}.sort.bam
6. 用自己寫的腳本算TPM值
import sys
if len(sys.argv) !=3 or "--help" in sys.argv:
        print("Usage: python counts2_TPM.py featurecounts.results Tpm.results")
        exit()
file=open(sys.argv[1],"r")
line =file.readlines()
out=open(sys.argv[2],"w")
list=[]
for i in line[2:]:
        l=i.strip().split("\t")
        num=l[-1]
        len=l[-2]
        N=int(num)/int(len)
        list.append(N)
for i in line[2:]:
        l=i.strip().split("\t")
        id=l[0]
        num=l[-1]
        len=l[-2]
        tpm=((int(num)/int(len))*(10**6))/sum(list)
        out.write(id+"\t"+str(tpm)+"\n")
file.close()
out.close()
最后編輯于
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

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