这个脚本需要的软件有:hisat2,SRA-toolkit,samtools,htseq-count 有兴趣的同学可以自己去下载并安装好,记得要配置好环境变量!
脚本所用到的参考基因组可以从hisat2官网下载,参考基因组注释文件可以从gencode数据库下载
脚本如下
#!/bin/bash#把sra文件都存放在Sra文件夹里面#参考基因组和注释文件都在hg19文件夹里面#qiujunhui 1801963472@qq.commkdir Fastq_out #创建一个存放SRA-toolkit解压sra文件的输出文件夹mkdir Sam_out #创建一个存放用hisat2比对的输出文件夹mkdir Sorted.bam #创建一个存放用samtools将sam文件排序的生成的bam文件的文件夹mkdir Counts #创建一个存放用HTseq-count计算基因表达量的输出文件夹#批量解压文件for i in ~/Sra/*srado echo $i #判断sra文件时单端测序还是双末端测序 num=$(fastq-dump -X 1 --split-spot -Z $i | wc -l | grep [0-9]) if [ $num -eq 4 ];then echo "$i是单端测序" fastq-dump $i mv ~/Sra/*fastq ~/Fastq_out #用hisat2进行比对 for x in ~/Fastq_out/*fastq do echo $x a=( $echo $x | cut -d "." -f1 | cut -d "/" -f5 ) hisat2 -p 5 -x ~/hg19/genome -U $x -S $a.sam mv ~/Fastq_out/*sam ~/Sam_out done else echo "$i是双端测序!" fastq-dump --split-files $i mkdir 1Fastq_out mkdir 2Fastq_out mv ~/Sra/*_1.fastq ~/1Fastq_out mv ~/Sra/*_2.fastq ~/2Fastq.out #用hisat2进行比对 for j in ~/1Fastq_out/*_1.fastq do for h in ~/2Fastq_out/*_2.fastq do b=$(echo $j | cut -d "_" -f1) c=$(echo $h | cut -d "_" -f1) if [ $b = $c ];then hisat2 -p 5 -x ~/hg19/genome -U -1 $j -2 $h -S $b.sam mv ~/2Fastq_out/*.sam ~/Sam_out fi done done fidone#用samtools进行排序for y in ~/Sam_out/*samdo echo $y d=$(echo $y | cut -d "." -f1) samtools sort -n -@ 5 -o $d.bam $y mv ~/Sam_out/*bam ~/Sorted.bamdone#用HTseq-count进行基因表达量计算for z in ~/Sorted.bam/*bamdo echo $z e=$(echo $z | cut -d "." -f1) htseq-count -f bam -r name -s no -a 10 -t exon -i gene_id -m intersection-nonempty $z ~/hg19/gencode.v29lift37.annotation.gtf>$ecounts.txt mv ~/Sorted_bam/*.txt ~/Countsdone#把不要的文件夹删除只留下counts文件夹rm -rf ~/Sra rm -rf ~/Fastq_out rm -rf ~/1Fastq_out rm -rf ~/2Fastq_out rm -rf ~/Sam_out rm -rf ~/Sorted.bam
作者:孤独巡礼_435a
链接:https://www.jianshu.com/p/9a6ace141c90
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦