python删除fastq文件固定位置的碱基(以及配套的质量值)

文字版:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env python
# coding=gbk
##暗反应5,6cycle需要去除第5,6个碱基和他们的质量值##
##必须放在输出文件夹路径下运行,参数1是原始fq.gz文件,参数2是截取后fq.gz文件##
##命令行输入示例:python TrimBase.py 1.fq.gz 1.fq##
import sys
import gzip
 
ifile_name=sys.argv[1]
ofile_name=sys.argv[2]
 
in_file = gzip.open(ifile_name, "rb")
out_file =open(ofile_name, "w")
 
idx = 0
for i in in_file.readlines():
    idx += 1
    i = i.decode()
    i = i.strip()
    if idx % 4 == 2:                       ##处理第二行序列信息:先将字符串变成列表,之后删除列表的第5,6个元素
        list_str = list(i)
        list_str.pop(4)
        list_str.pop(4)
        i = ''.join(list_str)
        out_file.write(i + "\n") <br>   elif idx % 4 == 0:                     ##处理第四行质量值
        list_str = list(i)
        list_str.pop(4)
        list_str.pop(4)
        i = ''.join(list_str)
        out_file.write(i + "\n")
    else:
        out_file.write(i + "\n")
 
in_file.close()
out_file.close()

  图片版:

 

 

    elif idx % 4 == 0:                     ##处理第四行质量值        list_str = list(i)        list_str.pop(4)        list_str.pop(4)        i = ''.join(list_str)        out_file.write(i + "\n") 
posted @   YlnChen  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示