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

文字版:

#!/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") 
   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 @ 2022-08-25 14:31  YlnChen  阅读(131)  评论(0编辑  收藏  举报