RNA-seq pipeline: Hisat2 Htseq | HISAT2, StringTie, Ballgown|

发布者:于晓虹发布时间:2018-05-16浏览次数:1554

HISAT2, StringTie, Ballgown处理转录组数据思路如下:

  1. 数据质控

  2. 将RNA-seq的测序reads使用hisat2比对

  3. samtools将sam文件转成bam,并且排序,为下游分析做准备

  4. stringtie对每个样本进行转录本组装

  5. stringtie 将所有样本的转录本进行合并 注意:此处的mergelist.txt是自己创建的

  6. 计算表达量并且为Ballgown包提供输入文件

  7. Ballgown的安装 分析,需提供一个分组信息;

touch map


map代码:

###########


#! usr/bin/bash

set -u

set -e

set -o pipefail

GRCH38_ref=~/hsc/liubing_10cell/fastq/data/mus_genome

data_path=~/hsc/SW_BULK_RNASEQ_20180516/Samples/

GRCH38_mouse_index=~/hsc/liubing_10cell/fastq/data/mus_hisat2_index/mus_chr_tran

GRCH38_GTF=~/hsc/liubing_10cell/fastq/data/mus_gtf/Mus_musculus.GRCm38.86.gtf

GRCH38_human_index=~/hsc/liubing_10cell/fastq/data/human_hisat2_index/chr_tran

NUM_THREADS=96

ls --color=never *.fastq.gz|while read id;do(hisat2 -t -p $NUM_THREADS -x  $GRCH38_mouse_index  -1 $data_path/${id%_*}_R1.fastq.gz -2 $data_path/${id%_*}_R2.fastq.gz 2>${id%_*}_map.log | samtools view -Sb - >${id%_*}.bam);done

ls --color=never *.bam|while read id;do(samtools sort -n --threads 40 $id -o ${id%.*}_sorted_name.bam);done

ls --color=never *_sorted_name.bam | while read id;do(samtools index $id);done


###############

bash map


统计各样品的比对效率

ls *log|while read id;do(echo $id|grep 'overall' $id|perl -lne '$_=~m/(.*) overall /;system(echo $id);print $1');done


htseq统计数据的count数

GRCH38_mGTF=~/hsc/liubing_10cell/fastq/data/mus_gtf/Mus_musculus.GRCm38.86.gtf

ls --color=never *.bam|while read id;do(htseq-count -f bam -i gene_name -s no $id $GRCH38_mGTF > ${id%_*}.count 2>${id%_*}.log);done



。。。。。。明天整理更新!!!


######################


数据质控(QC):
Ubuntu软件包内自带Fastqc,故安装命令apt-get install fastqc
fastqc命令:
fastqc -o . -t 5 SRR3101238_1.fastq.gz &
-o . 将结果输出到当前目录
-t 5 表示开5个线程运行
(四个样本,双端测序,要分别对八个fastq文件执行八次)


将RNA-seq的测序reads使用hisat2比对

准备安装HISAT2
下载地址:
http://ccb.jhu.edu/software/hisat2/downloads/
wget http://ccb.jhu.edu/software/hisat2/downloads/hisat2-2.0.0-beta-Linux_x86_64.zip -P ./
解 压 缩:
unzip hisat2-2.0.0-beta-Linux_x86_64.zip


准备文件:

  1. 参考基因组序列;genome (chr.fa)

  2. 参考基因组的注释文件;genes (chr.gtf)

  3. Hisat2索引文件;indexes (chr_tran.1.ht2)

  4. 测序数据;samples (chr_1.fastq.gz, chr_2,fastq.gz;样本表型信息 与 样本列表)


下载人类参考基因组和注释文件:
1.1 人类参考基因组:Hisat2官网上有Ensemble GRCh38的基因组索引, 链接:http://ccb.jhu.edu/software/hisat2/index.shtml
1.2 注释文件:下载自ensemble数据库ftp://ftp.ensembl.org/pub/release-86/gtf/homo_sapiens
1.3 索引文件的创建:从gtf文件中构建索引,命定如下:
extract_exons.py hg19.annotation.gtf > exons.txt
extract_splice_sites.py hg19.annotation.gtf > splicesites.txt

创建索引另外一种方法:
hisat2-build [options]*

:用于指定参考基因组;

:用于指定生成的索引文件的基名;

./hisat2-2.0.0-beta/hisat2-build -f ucsc.hg19.fasta –ss splicesites.txt –exon exons.txt -p 7 ./ucsc.hg19

#添加–ss和–exon选项后,需要很大的内存,build 人基因组的话需要200G RAM,如果没有这么大内存,不要添加这两个选项,但要在后续运行hisat时添加 –known-splicesite-infile选项(见下文)
如hisat2-build -f ucsc.hg19.fasta -p 7 ./uscs.hg19 ##大概需要一小时二十分钟

(1). 比对,生成bam文件:“将RNA-seq的测序reads使用hisat2比对对参考基因租组”
hisat2 -q -x ./ucsc.hg19 -1 reads_1.fastq -2 reads_2.fastq -S alns.sam -t

hisat2 -q -x ./ucsc.hg19 -1 reads_1.fastq -2 reads_2.fastq -S alns.sam –known-splicesite-infile splicesites.txt -t

-x :用于指定参考基因组所对应的索引文件;

-1, -2: 用于指定测序 Reads 所在的文件;

-S:用于指定存储比对结果的文件名;

-p: 用于指定线程数;

(2) Sort and convert the SAM files to BAM

samtools sort -@ 8 -o ERR188044_chrX.bam ERR188044_chrX.sam

-@:用于指定线程数;

-o:用于指定存储转化结果的文件名;

注:*.bam 格式的文件为二进制文件;

在-b 指定的文件夹下生成特定的文件
e2t.ctab
e_data.ctab
i2t.ctab
i_data.ctab
t_data.ctab
e即外显子、i即内含子、t转录本;
e2t即外显子和转录本间的关系,
i2t即内含子和转录本间的关系,
t_data即转录本的数据

(3) assemble and quantify expressed genes and transcripts

stringtie -p 8 -G chrX_data/genes/chrX.gtf -o ERR188044_chrX.gtf -l ERR188044 ERR188044_chrX.bam

-G :用于指导组装过程的参考注释的文件;

-o:用于指定存储组装结果的文件名;

-l: 为转录本的ID指定前缀;

-p: 用于指定线程数;

(4) Merge transcripts from all samples:

stringtie –merge -p 40 -G chrX_data/genes/chrX.gtf -o stringtie_merged.gtf chrX_data/mergelist.txt

-G :用于指导组装过程的参考注释文件;

-o:用于指定存储组装结果的文件名;

-p: 用于指定线程数;

注: mergelist.txt 文件包含所有*.gtf 文件名的列表, 并且每个文件名占据一行。

(5) Examine how the transcripts compare with the reference annotation (optional)

./bin/gffcompare -r chrX_data/genes/chrX.gtf -G -o merged stringtie_merged.gtf

-r :用于指定参考的注释文件;

-o:用于指定存储结果的文件名的前缀;

-G:用于指定是否比较所有转录本(即使是冗余的);

(6) Estimate transcript abundances and create table counts for Ballgown

stringtie -e -B -p 48 -G stringtie_merged.gtf -o ballgown/ERR188044/ERR188044_chrX.gtf ERR188044_chrX.bam

-e:用于指定是否仅为参考转录本估计表达丰度;

-B:用于指定是否输出 Ballgown table 文件;

-p: 用于指定线程数;

-G :用于指定已组装的注释文件;

-o:用于指定输出结果的文件名;