使用 biopython 重命名交错的 fastq 标头

为了便于使用并与另一个下游管道兼容,我正在尝试使用 biopython 更改 fastq 序列 ID 的名称。例如......从看起来像这样的标题开始:


@D00602:32:H3LN7BCXX:1:1101:1205:2112 OP:i:1

@D00602:32:H3LN7BCXX:1:1101:1205:2112 OP:i:2

@D00602:32:H3LN7BCXX:1:1101:1182:2184 OP:i:1

@D00602:32:H3LN7BCXX:1:1101:1182:2184 OP:i:2

对于看起来像这样的标题:


@000000000000001  OP:i:1

@000000000000001  OP:i:2

@000000000000002  OP:i:1

@000000000000002  OP:i:2

我有一些代码,但我似乎无法让交替的标题倒计时(即 1、1、2、2、3、3 等)


任何帮助,将不胜感激。谢谢。


from Bio import SeqIO

import sys


FILE = sys.argv[1]


#Initialize numbering system at one

COUNT = 1


#Create a new dictionary for new sequence IDs

new_records=[]


for seq_record in SeqIO.parse(FILE, "fastq"):

        header = '{:0>15}'.format(COUNT)

        COUNT += 1

        print(header)

        seq_record.description = 

seq_record.description.replace(seq_record.id, "")

        seq_record.id = header

        new_records.append(seq_record)

SeqIO.write(new_records, FILE, "fastq")

*seq_record 不包含“OP:i:1”信息


小怪兽爱吃肉
浏览 192回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python