仿写fastqc软件的一些功能-R代码

仿写fastqc软件的一些功能(下)

文件来自于上面perl代码的输出文件,好像算法有点问题,26G的文件居然处理近一个小时才出数据!

仿写fastqc软件的一些功能-下-R代码263

R语言本身自带的画图工具都很丑,懒得说了,可以用ggplot2来重新画一个,不是项目要求没有报酬我就懒得画了,大家面前看看画图原理即可。

a=read.table("meanQ.txt")

看看数据结构如下

> head(a)

V1    V2

1  2 93879

2  3 17800

3  4 25295

4  5 33259

5  6 55685

6  7 84866

plot(a,type='l',col='red',ylab='reads number',xlab='mean quality',main='mean Q distribution')

仿写fastqc软件的一些功能-下-R代码755

可以看出绝大部分的reads的Q值都在30-35直接,也就是说本次测序挺符合要求的,但是还是需要对那些平均Q20以下的reads过滤掉。

a=read.table('meanGC.txt')

看看数据结构如下

> head(a)

V1  V2

1  0 503

2  1 151

3  2 163

4  3 179

5  4 315

6  5 443

plot(a,type='l',col='red',ylab='reads number',xlab='reads bp',main='GC% distribution')

仿写fastqc软件的一些功能-下-R代码1160

可以看出GC含量的分布看起来挺符合正态分布的,大部分reads的GC含量都是在40%-60%直接

a=read.table('fivenum.txt',header=T)

看看数据结构如下

仿写fastqc软件的一些功能-下-R代码1405

boxplot(t(a[,3:7]),xlab='reads bp',ylab='Q value',main='mean Q boxplot')

仿写fastqc软件的一些功能-下-R代码1676

可以看出测序质量从1-100bp过去质量越来越差,但是大部分都是高于Q30,但是88bp之后的碱基测序质量不咋地,可能需要trim掉

对于这个数据还可以画一个图

plot(a[,1:2],type='l',col='red',ylab='Q value',xlab='reads bp',main='mean Q value distribution')

仿写fastqc软件的一些功能-下-R代码1987

可以看到88bp之后的平均Q值小于30,根据我们的阈值可能要把所有的reads的后面约10个bp的碱基要trim掉

Comments are closed.