fastqc的线程与速度测试

  之前文章写了bowtie2和bwa的比较,发完之后立刻被师姐批评指正了,然后师姐又给我补充了一个知识,就是不同软件都有它的最佳线程数,不是线程越高就跑的越快,直接一个软件定个24线程是不合理的。至于这个最佳线程数是多少,说明书要是没有的话,要么自己评测,要么问问作者。

  我看了bwa的说明书,没有相关说明,粗略的查了一下帖子也没看到。让我自己评测一下bwa的速度,我是嫌麻烦的,于是我就尝试着评测一下fastqc。因为一开始我就是加大了这个的使用线程,也没考虑是不是有必要,而且这个速度也快,操作也方便,所以做个简单的速度测试。

  软件是fastqc,选用的对象是一个cleaned data,还是比较大的,测试脚本如下:

1
2
3
4
5
6
7
$ time fastqc -o singleout1/ -t 1 1.fq.gz
$ time fastqc -o singleout3/ -t 3 1.fq.gz
$ time fastqc -o singleout6/ -t 6 1.fq.gz
$ time fastqc -o singleout8/ -t 8 1.fq.gz
$ time fastqc -o singleout12/ -t 12 1.fq.gz
$ time fastqc -o singleout16/ -t 16 1.fq.gz
$ time fastqc -o singleout24/ -t 24 1.fq.gz

  结果如下:
1线程
3线程
6线程
8线程
12线程
16线程
24线程
  看到这个结果,我……有点吃惊的,居然都是一样的。那我脚本里写那么大的线程意义何在?

  所以我又加了一个测试,测试多个样本下的不同线程的速度,当前文件夹下有4个fq文件。测试脚本如下:

1
2
3
$ time fastqc -o allout1/ -t 1 *.fq.gz
$ time fastqc -o allout6/ -t 6 *.fq.gz
$ time fastqc -o allout12/ -t 12 *.fq.gz

  结果如下:

12线程
6线程
1线程

  我想大家已经看出来了,对于单个样本,fastqc每增加一个线程并不改变运行速度,但是对于多个输入文件,每增加一个线程会多并行跑一个输入文件,就是说,比如输入四个文件,四线程会同时跑四个文件,单线程只能一个一个跑。

  能得到一个结论还是挺开心的,那么以后在fastqc线程选择的时候也就知道多少的线程数是有必要的。

  水平有限,要是存在什么错误请指出,可发送邮箱至shiyuant@outlook.com!请大家多多批评指正,相互交流,共同成长,谢谢!!!

-------------本文结束感谢您的阅读-------------

本文标题:fastqc的线程与速度测试

文章作者:TongShiyuan

发布时间:2019年06月18日 - 13:06

最后更新:2019年06月22日 - 23:06

原始链接:http://tongshiyuan.github.io/2019/06/18/fastqc的线程与速度测试/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。