创建一个函数将质量字符串转换为Phred分数列表

时间:2016-11-18 20:03:59

标签: biopython

我是Python编码的新手,我无法创建一个将质量字符串转换为PHRED标准质量得分列表的函数。希望得到一些帮助。

以下是FASTQ阅读:

@SEQ_ID
AAGCGTCTGATCGGCAGAGGATACACATGCCGCACGTCGAGTATCTCGGC
+
=3:AAF>FGD1FCGGGGGFBGGGGCGGG1FE>>>E<:>/<9:CDGFG@GG

这是函数定义:

def quality_to_list(quality_string):

1 个答案:

答案 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]
相关问题