shell + python 计算 fastq文件的q20和q30值
001、 shell
zcat ${i}_trim_1P.fastq.gz | cat - <(zcat ${i}_trim_2P.fastq.gz) | awk 'NR % 4 == 0' > ${i}_quality.txt ## 将压缩后的fastq文件合并并提取出质量值
002、python
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
in_file = open(sys.argv[1], "r")
q20 = 0
q30 = 0
total_base = 0
for i in in_file:
i = i.strip()
total_base += len(i)
for j in i:
j = ord(j) - 33
if j > 20:
q20 += 1
if j > 30:
q30 += 1
in_file.close()
print("q20= " + str(q20/total_base))
print("q30= " + str(q30/total_base))

。
003、用法
python xxx.py ${i}_quality.txt
。

浙公网安备 33010602011771号