RNA-seq差异表达基因分析之TopHat篇

TopHat是基于Bowtie的将RNA-Seq数据mapping到参考基因组上,从而鉴定可变剪切(exon-exon splice junctions)。

安装

最简单的安装方法,注意版本

  • 下载Bowtie、TopHat、Cufflinks的二进制发布包,解压到相同的目录
  • 下载samtools,make,将生成的可执行samtools程序也cp到同一个目录
  • 增加该目录到PATH

参数与使用

Usage: tophat [options]* <index_base> <reads1_1[,…,readsN_1]> [reads1_2,…readsN_2]

  • -o  输出目录,默认值为 “./tophat_out”。
  • –solexa-quals/solexa1.3-quals 质量编码,关于质量编码格式请参考《Fastq格式详解
  • -p 线程数,默认值为单线程1.,可以使用多线程
  • -G/–GTFSupply TopHat with a set of gene model annotations and/or known transcripts, as a GTF 2.2 or GFF3 formatted file.指定已有转录本信息
  • –no-novel-juncs 不查找新的可变剪切
  • -r 比对时两成对引物间的距离中值。比如说,如果你的插入片段有300bp,而每个引物有50bp,那么r值就应该是200=(300+50*2)/2。没有默认值,如果是末端配对比对时这个值是必须的。
  • –mate-std-dev 末端配对时中间插入片段的长度的标准差,默认值为20bp

paired-end数据应该如何做 继续阅读

paired-end reads的拼接

Velvet中paired-end reads的拼接

文件格式

要将两头测序(paired-end)的reads放到同一个文件当中,fastq格式,必须成对的依次放置reads [interleaved],velvet是成对读取的,另外Velvet假设来自两头read是反向互补的,如果不是,需要用反向互补序列来代替第一个read。Fastq格式中paired-end reads的编号相同,但是其有/1或者/2的后缀,通过这种方式来标示paired-end reads。

如果两端测序的reads放在不同的两个文件中,可以使用Velvet提供的perl脚本shuffleSequences fasta.pl进行转换合并,命令格式如下:

> ./shuffleSequences_fasta.pl forward_reads.fa reverse_reads.fa output.fa

低质序列过滤

在拼接前,首要要进行去除低质序列、接头等预处理,比如使用FASTX-Toolkit中的fastq_quality_filter去除低质序列:

fastq_quality_filter  -q 20 –p 100 -i s_1_1_sequence.txt -o s_1_1_sequence.txt_filtered_q20_p100.fastq
fastq_quality_filter  -q 20 –p 100 -i s_1_2_sequence.txt -o s_1_2_sequence.txt_filtered_q20_p100.fastq

这样势必带来一个问题,有些paired-end的前面序列被剔除,有些后面的序列被剔除,paired-end序列无法成对的错落出现,下面需要做的就是必须将单独的reads挑出来,方法有很多,下面是其中一个: 继续阅读