查看原文
其他

coco 2018-06-06

认真的,当我一搜RSeQC时,出来的中文第一条就是这个的时候,我的心漏了一拍。还是非常的激动的。这都是健明大神的积累,造福了我们一批一批的小菜鸟。感谢。



RSeQC

作者为什么要开发RSeQC?

动机:RNA-seq已经被广泛地用于转录组研究。质量控制(Quality Control,QC)对于保证RNA-seq高质量且适合随后分析是至关重要的。然而,由于RNA-seq数据的巨大尺寸和多种性质,QC是一项耗时且复杂的任务。因此,特别需要一种方便且全面的QC工具以评估RNA-seq质量。结果:我们开发了RSeQC程序包以全面地评估RNA-seq实验的不同方面,例如序列质量、GC偏倚、PCR偏倚、核苷酸组成偏倚、序列深度、链特异性、覆盖均一性,和基因组结构上的片段分布。RSeQC使用能够用大部分RNA-seq比对工具生成的SAM和BAM文件,以及广泛用于基因模型的BED文件作为输入。RSeQC中的大部分模块利用了R脚本进行可视化,并且它们在处理包含数以亿计比对的大型BAM/SAM文件中是特别高效的。可用性和实现:RSeQC是用Python和C编写的。源码和一个全面的用户手册可以在http://code.google.com/p/rseqc/免费获得。


RSeQC的使用

一:下载安装该软件


wget http://sourceforge.net/projects/rseqc/files/RSeQC-2.5.tar.gz/download

tar zxvf RSeQC.tar.gz

cd RSeQC-2.5/

进入目录查看文件内容如下,看到了setup.py,所以知道这个是一个python的包,需要安装到python的库下面。

我没有root权限,所以需要把这个软件安装到自己的目录下,同时会新建一个python的库路径,需要添加到python的库搜索路径


python setup.py install --root=/home/jmzeng/my-bin

安装完毕后,这个python模块在/home/jmzeng/my-bin/usr/local/lib/python2.7/dist-packages/里面

安装完毕后,/home/jmzeng/my-bin/usr/local/bin 这个目录下面会多一堆的程序,就是我们这个 RSeQC软件包的东西啦

但是这个目录并不在我的PATH里面,需要添加

而且这样安装后面会报错,因为很多模块都不在路径里面~!~~~~当然把我自己的安装的python库添加到系统python的环境变量里面

所以python setup.py install --user 这样才是正确的

安装好后,所有这个包带有的python程序都在/home/jmzeng/.local/bin这个目录里面~!!!

二:准备数据

准备数据

该软件有提供一些测试数据,但是存放在drive.google.com里面,国内访问不是很容易,我们就根据要求自己创造一些吧,BED文件个SAM文件还有参考基因组的染色体长度信息文件和原始的reads的fasta格式文件。我这里是取的一个RNA-seq的测序fastq格式文件用tophat比对后的bam文件来做示范。

三:运行命令   &&    四:输出文件解读

因为这是一个**python软件套装,里面至少含有十几个工具,我这里简单介绍几个常用的,其余的待有需要再去看看。**

1)bam_stat.py

比对片段检查(QC 失败、unique mapped、splice mapped、mapped 到合适对的 reads 等)

**例子:


bam_stat.py  -i  Pairend_nonStrandSpecific_36mer_Human_hg19.bam**


我的命令

python /home/jmzeng/my-bin/usr/local/bin/bam_stat.py -i accepted_hits.bam


这是一个很变态的bug,ImportError: No module named qcmodule。是python这个垃圾语言造成的,因为我没有服务器root权限,所以我的python包只能安装到自己的目录,但是我调用了服务器的python命令,它却不识别我的python库,变态!

查了一些资料,原来需要把我自己的安装的python库添加到系统python的环境变量里面

export PYTHONPATH=/home/jmzeng/my-bin/usr/local/lib/python2.7/dist-packages/:$PYTHONPATH

然后几分钟就出结果啦

因为我这个是单端测序,所以没有reads1和2的区别。

2)clipping_profile.py

This program is used to estimate clipping profile of RNA-seq reads from BAM or SAM file.Note that to use this funciton, CIGAR strings within SAM/BAM file should have ‘S’ operation(This means your reads aligner should support clipped mapping).

例子 : clipping_profile.py -i Pairend_StrandSpecific_51mer_Human_hg19.bam -o output

我的命令:

python /home/jmzeng/my-bin/usr/local/bin/clipping_profile.py  -i accepted_hits.bam -o output**

然后就等了几分钟

Load BAM file ...  Done

No clipped reads found!

程序报错很奇怪,输出了一个xls的表格,但是里面只有表头没有数据,所以我认为应该是数据出了什么问题吧

理论上是应该要出一个如下所示的图的

3**)mismatch_profile.py**

Calculate the distributions of the mismatches across reads. Note that the “MD” tag must exist in the BAM file.

理论上也是应该出一个图

4**)insertion_profile.py**

Calculate the distributions of (short) insertions across reads.

5**)read_quality.py**

这个就是fastqc的质量检测啦,**这个看起来挺有用的,我也画了一个图**

python /home/jmzeng/my-bin/usr/local/bin/read_quality.py  -i accepted_hits.bam -o output

输出两个pdf图片文件

6)bam2wig.py

这是一个格式转换工具,把BAM文件转为wiggle格式的文件

还可以把我们转好的wiggle格式文件通过UCSC wigToBigWig** 这个工具转为[bigwig](http://www.bio-info-trainee.com/113.html#format6.1) format **

为了使用这个脚本,我们的bam文件必须是排序好了的,并且还有索引。# sort and index BAM files


samtools sort -m 1000000000  input.bam input.sorted.bam

samtools index input.sorted.bam


7)bam2fq.py

也是一个格式转换工具,可以把bam转为fastq格式,没啥子意思,一大堆的软件都附带这个工具。

这里面的程序太多了,每个都可以出图,懒得一个个试用并且翻译了,自己看吧http://rseqc.sourceforge.net



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存