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
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2022-02-03 linux shell中将fasta文件按照每行指定碱基数输出
2022-02-03 linux中如何使用变量提取连续的行
2021-02-03 c语言中求数组元素的最大值和最小值
2021-02-03 c语言中对象式宏(全局变量)
2021-02-03 c语言中实现数组的倒序排列
2021-02-03 linux系统 centos7.9 中安装 Rsudio-server