python - 如何创建包含以 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))
解决方案
这是您要找的吗,请在下面发表评论,让我知道是否关闭:
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 可能是最好的帮助
推荐阅读
- javascript - Slick Slide slickAdd 返回 false
- azure-devops - 在 DevOps 中枚举 Projects 时,有没有办法确定项目中是否存在 Pipeline?
- html - 如何删除网站横幅周围的空白?
- sql-server - 本机查询支持 SQL Server 的 Spring 数据 jpa 流
- cocotb - 使用 Aldec 模拟 cocotb
- javascript - 如何同时强制更新所有组件?
- sql - Microsoft Access 向现有联合选择添加额外的列
- java - 从树莓派 UART 摄像头返回的字节数组中保存图像
- java - 查不到java成绩最差的学生的名字
- sparql - 为什么此 SPARQL 查询将某些项目作为主题返回?