linux 中shell脚本实现统计每一个read的长度
001、
[root@PC1 test02]# ls test.fastq [root@PC1 test02]# cat test.fastq ## 测试fastq数据 @SRR8442980.988/2 AAGG + :FFF @SRR8442980.988/2 AAGGTC + :FFF:, @SRR8442980.1134/1 AAAAAAAATATAATTCCA + FFFFFFFFFFFFFFFFFF [root@PC1 test02]# awk '{if((NR % 4 - 2) == 0) print $0, length}' test.fastq ## 统计每一个read的长度 AAGG 4 AAGGTC 6 AAAAAAAATATAATTCCA 18
。
002、借助与Bio 中的 SeqIO模块统计
[root@PC1 test02]# ls a.fastq test.py [root@PC1 test02]# cat a.fastq ## 测试fastq文件 @SRR8442980.988/2 AAGG + :FFF @SRR8442980.988/2 AAGGTC + :FFF:, @SRR8442980.1134/1 AAAAAAAATATAATTCCA + FFFFFFFFFFFFFFFFFF [root@PC1 test02]# cat test.py ## 统计程序 #!/usr/bin/env python3 # -*- coding: utf-8 -*- from Bio import SeqIO temp = SeqIO.parse("a.fastq", "fastq") for i in temp: print(len(i))
执行程序:
[root@PC1 test02]# ls a.fastq test.py [root@PC1 test02]# cat a.fastq @SRR8442980.988/2 AAGG + :FFF @SRR8442980.988/2 AAGGTC + :FFF:, @SRR8442980.1134/1 AAAAAAAATATAATTCCA + FFFFFFFFFFFFFFFFFF [root@PC1 test02]# python3 test.py 4 6 18