我是Python编码的新手,我无法创建一个将质量字符串转换为PHRED标准质量得分列表的函数。希望得到一些帮助。
以下是FASTQ阅读:
@SEQ_ID
AAGCGTCTGATCGGCAGAGGATACACATGCCGCACGTCGAGTATCTCGGC
+
=3:AAF>FGD1FCGGGGGFBGGGGCGGG1FE>>>E<:>/<9:CDGFG@GG
这是函数定义:
def quality_to_list(quality_string):
答案 0 :(得分:1)
BioPython有几个很好的例子和documentation关于Phred分数。
from Bio import SeqIO
with open('tmp.fastq', 'w') as f:
f.write("""@SEQ_ID
AAGCGTCTGATCGGCAGAGGATACACATGCCGCACGTCGAGTATCTCGGC
+
=3:AAF>FGD1FCGGGGGFBGGGGCGGG1FE>>>E<:>/<9:CDGFG@GG""")
for record in SeqIO.parse("tmp.fastq", "fastq"):
print("ID: {0}\nPhred scores: {1}".format(record.id, record.letter_annotations['phred_quality']))
输出:
ID: SEQ_ID Phred scores: [28, 18, 25, 32, ..., 34, 35, 38, 37, 38, 31, 38, 38]