多个fastaq.gz文件里批量了解reads个数

最近在学习Linux和perl,所以有些‘专业名词’没说准,抱歉抱歉(对自己也是一个警醒)

今天就碰到这样一个问题

有一个目录,里面是双端测序的结果,所以同一个fastq文件分为*.R1 和 *.R2,但查看reads时只要一个就够了,我做了$ zcat A121.cb_R1.fastq.gz |  grep -c '^+'    这个步骤得出30413839                                                                              

这个结果,但有很多fastq.gz ,所以先用find ???.cb_R1.fastq.gz 和find ????.cb_R1.fastq.gz  和 find ????.cb_R1.fastq.gz这三个命令得出了双端测序结果中所有的R1.fastq.gz文件,于是想用

$ zcat ???.cb_R1.fastq.gz | grep -c '^+'   > AAA.txt把reads整合在一起,把三次   R1.fastq.gz 做三次得到AAA.txt  AAAA.txt AAAAA.txt(虽然觉得方法有点蠢,后面想用perl脚本写一行代码)



请先 登录 后评论

最佳答案 2018-08-08 22:10

fastq文件有规律:4行为一条记录,统计一下行数最后除以4就得到read的数量,更多fastq说明《illumina二代测序原理及fastq视频课程》;

批量获取文件的行数可写一个循环:


统计当前目录下的以fastq.gz结尾文件的行数:

ls *fastq.gz|while read a;do echo "$a";zcat $a |wc -l ;done 
请先 登录 后评论

其它 0 个回答