首页 > 解决方案 > 如何创建包含以 fastq ASCII 格式编码的所有 PHRED 分数 0-93 的字典?

问题描述

请注意,FASTQ 文件使用数字 33-126 来表示 phred 质量 0-93。这意味着如果要将数字 0-93 转换为 FASTQ 格式质量,则需要添加 33 并转换为 ASCII。我需要创建一个字典,其中包含以 fastq ASCII 格式编码的所有 PHRED 分数 0-93。说明是:键应该是整数 - 不是字符串,每个值都应该是一个字符串。我是新的python,但是我尝试了下面的代码,但不确定如何将其正确编码为 fastq ASCII 格式。

phred_scores = {}
keys = list(range(0,94))
values= list(range(33,127)
dict(zip(keys, values))

标签: pythonbioinformatics

解决方案


这是您要找的吗,请在下面发表评论,让我知道是否关闭:

phred={}
for x in range(0,94):
    phred.update({x : (chr(x+33).encode('ascii'))})  

您可以使用 ord() 将它们转换回来

ord(b'!') -33  #--> 0  

看这个:https ://biopython.org/DIST/docs/api/Bio.SeqIO.QualityIO-module.html

看起来这是对的,但 fastq 不仅仅是看起来的数字。如果您有完整的数据行,我可以提供更多帮助,但我认为安装 biopython 可能是最好的帮助


推荐阅读