首页 > 其他分享 >测序数据read的质量值计算

测序数据read的质量值计算

时间:2023-07-12 11:34:00浏览次数:34  
标签:read 碱基 测序 错误率 Read 质量

对测序fastq数据,碱基质量值(base quality)的本质是体现测序错误率,在fastq文件中,碱基质量值以字符形式存储在fastq文件中。字符的碱基质量值体系通常是Phred33,即碱基质量值Q = 字符的ASCII码 – 33。而Q和碱基的错误率之间又具有如下对应关系:

Q:碱基质量值;
P:碱基测序错误率;

同理,Read的质量值表示的是Read中碱基平均测序错误率,基于此,Reads的质量值和错误率应具有如下关系,

Qr:Read碱基质量值;
Pr:Reads碱基平均测序错误率;

由此,当需要计算Read的质量值时,其计算步骤如下,
1) 获得Read各碱基的测序错误率Pi

Pi:各碱基错误率;
Qi:各碱基质量值;
i = 1 .. len(Read)

2) 计算Read碱基平均测序错误率

n:read长度;
Pi:各碱基错误率

3) 计算Read质量值

注:
当计算Read质量值时,如果直接用base的质量值(即Q值)求均值,获得的结果是不对的。

以上Reads计算的代码实现如下,

点击查看代码
import os,sys
import numpy as np

def cal_p(qual_str):
  Q = ord(qual_str) - 33
  p = 10 ** (-Q/10)
  reutrn p

qual = '####???'
p_list = np.array([])
for q  in qual:
  p = cal_p(q)
  np.append(p_list,p)

mean_p = p_list.mean()
read_Q = -10np.log10(mean_p)

print('Reads Qual: ')
print(read_Q)

标签:read,碱基,测序,错误率,Read,质量
From: https://www.cnblogs.com/adell898/p/17547088.html

相关文章

  • Hystrix传播ThreadLocal对象,Feign调用返回null问题
    微服务与微服务之间相互调用,你是否有过使用Hystrix时,该传播ThreadLocal对象的困惑?  我们知道Hystrix有隔离策略:THREAD(线程池隔离):即:每个实例都增加个线程池进行隔离SEMAPHORE(信号量隔离):适应非网络请求,因为是同步的请求,无法支持超时,只能依靠协议本身   现在有如下两......
  • readonly 与 shallowReadonly
    readonly:让一个响应式数据变为只读的(深只读)。shallowReadonly:让一个响应式数据变为只读的(浅只读)。应用场景:不希望数据被修改时。 ......
  • 创建属于自己的github、使用git提交、更新代码至github、写好readme
    1.在github上创建一个Repository点击github网站,你可以用你的邮箱先注册一个账号。点击New,转到创建一个repository的界面,如下图所示,你可以填写你的Repositoryname、description、选择是否公开、增添一个默认的Reademe等等,一般都可以选择上。2.使用git提交、更新代码至git......
  • ReadPaper
    2023-7-11[]Anewpulsarcandidatein47TucanaediscoveredwithMeerKATimaginghttps://arxiv.org/pdf/2307.02077.pdfTherecentdeploymentofnext-generationradiointerferometerssuchasthesensitiveandwide-fieldSquareKilometreArrayprecursorins......
  • 基于粒子群的配电网重构,Matlab,编程。 质量过硬,非诚勿扰
    基于粒子群的配电网重构,Matlab,编程。质量过硬,非诚勿扰!①算法:粒子群算法;②说明:以网损最小为目标,调节配网联络开关进行重构。重构后网损最小,且电压幅值满足运行要求(±7%);③文件包括:matlab程序,visio结构图。附图为程序在IEEE33bus节点系统中的应用。ID:77210650223155431......
  • 电机启动模型 Matlab/simulink ! 可用于模拟电压暂降等电能质量问题
    电机启动模型Matlab/simulink!可用于模拟电压暂降等电能质量问题,适配于本家的IEEE33节点模型。ID:71200647976272410......
  • STM32:rtthread_f1移植
    本文开始移植rtthread的代码到正点原子的板子上;参考资料为野火的教程,需要搭配野火教程使用;使用源码是作为pack包放在arm-keil官网下载的nano3.0.3版本;nano版本精简方便解构;gittee上的master版本组件又多又杂不利于初学;本来想用3.1.5版本源码的,但是移植过程会有代码报错又莫名其......
  • 如何使用C++11 STD::THREAD设置堆栈大小?
    本教程将介绍如何使用C++11std::thread设置线程的堆栈大小。C++11std::thread是一种轻量级的多线程实现,它的灵活性使得它成为一个流行的选择。但是,在某些情况下,您可能需要设置线程的堆栈大小来满足您的需求。在开始本教程之前,我们假设您已经熟悉了C++11std::thread的基础知识......
  • readability-lxml 源码解析(三):`readability.py`
    #!/usr/bin/envpythonfrom__future__importprint_functionimportloggingimportreimportsysfromlxml.etreeimporttounicodefromlxml.etreeimport_ElementTreefromlxml.htmlimportdocument_fromstringfromlxml.htmlimportfragment_fromstringfrom......
  • 5分钟了解质量管理发展史
    工业革命前产品质量由各个工匠或手艺人自己控制。1875年泰勒制诞生——科学管理的开端。最初的质量管理——检验活动与其他职能分离,出现了专职的检验员和独立的检验部门。1925年休哈特提出统计过程控制(SPC)理论——应用统计技术对生产过程进行监控,以减少对检验的依赖。1930年道......