【bioinfo】bwa mem 比对分值参数测试

2023-11-04 23:10

本文主要是介绍【bioinfo】bwa mem 比对分值参数测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 常用的序列比对软件bwa:
    在这里插入图片描述
    command对应的多种命令,这里使用的是mem,即使用BWA-MEM算法进行序列比对。

  • bwa mem命令比对:
    下方官网上介绍的mem命令:
    在这里插入图片描述

  • bwa mem 比对分值参数:
    在这里插入图片描述

    参数默认比对情况分值说明
    -A[1]Match11bp比对得1分
    -B[4]Mismatch-41bp错配扣4分
    -O[6,6]gap(ins,del)-6,-61bp的ins扣6分,del扣6分
    -E[1]gap extension1发生extension罚分系数
    -L[5,5]soft clipping-5,-5在5’端,3’端的softclip扣5分
    -U[17]unpaired read-17不成对的read扣17分
    • -E: g+[1]*s (g:gap罚分值, s:gap的长度(从第1bp的gap开始算), [1]:该参数设定)
    • -L: 按错配/indel,还是按softclip。 是选择分值高的作为最优比对。该分值设定越大,即对softclip的惩罚越大,那么选择最优比对时,更倾向于错配/indel(尽可能的比对上,而不是直接给出softclip),同样带来的弊端就是有很多错配。但是softclip的分值则不在AS中显示
  • 测试分值相关参数:

    Test1:

    $ BWA mem -M -k10 -T10 ref.fa tst1.fq > tst1.sam
    $ cat ref.fa
    >seq1
    CACGATGTCTCTCCTCTTAATGTGCTGCACATCTGTAGGATGGGGACAAA
    

    该测试主要针对序列的长度,以及有错配/Ins/Del的情况。
    在这里插入图片描述
    其中:
    -M: mark shorter split hits as secondary (标记secodary比对结果);
    -k: minimum seed length [19] (比对的序列最短长度,默认是19bp);这里设定10。

    这里的seed不是太明白,是否是指read序列,还是有别的含义?测试是序列可比对长度低于该阈值,则不显示比对结果。

    -T: 比对的最小分值阈值,默认值30。即比对得分值<30不输出比对结果(结果显示未比对上),比对得分值>=30输出比对结果。这里设定10。

    [-k]参数的作用优于[-T],就是说,如果[-k]设定长度阈值较高(eg:19bp),而[-T]参数设置较低(eg:10,即分值最低为10),那么当read长度达不到19bp (但比对分值>=10),结果仍认为是未比对上。

    ref.fa: fasta格式的参考序列文件;
    tst1.fq: 输入的fq文件;
    tst1.sam:输出sam格式比对结果文件。

    该测试其他分值参数使用的是默认值,以read id 为 2del2ins的序列为例计算分值:

    - CIGAR值得为:13M2D8M2I12M10S;(M:match;D:del;I:ins;S:softclip)
    - AS tag给出比对分值:"AS:i:17"(17分)
    - 分值计算:- match得分:13+8+12=33- indel罚分:(6+1*2)+(6+1*2) = 16 (ins和del各有两个)- 最终得分:33-16=17
    

    注意:这里的分值并没有计算softclip,因为softclip的分值是在比对过程中,用于计算:
    是将一端的序列视为softclip还是视为可比对(有match、mistmach、indel);
    如果按比对的分值>视为softclip分值,则选择比对上结果,反之,视为softclip。

    Test2:
    测试靠近read两端位置出现错配, 比对结果是match/mismatch还是softclip?

    $ BWA mem -M ref.fa tst.fq > tst.sam
    $ cat ref.fa
    >ref
    TCGTCAATTCCAGGCCAGCCCATGAAGTGAGCAGA
    

    在这里插入图片描述
    比对结果中,分值计算:

    readID: "match"是完全match,碱基数35,分值是: 35;
    readID: "mis1"第三个碱基有一个碱基错配,比对上的碱基有34,得分值:34+(-4)=30;(奇怪:这里为什么给到分值(AS)是32?)
    readID:"mis1_ins1"是有一个碱基错配,和一个ins。- 如果按错配+ins,可match碱基是34个,得分是:34+(-4)+(-6)=24;- 如果从ins处及左端(5')视为6bp的softclip(罚5分),分值是:34+(-5)=29。- 也就是按softclip分值更高,所以比较结果给出的是softclip。
    

注意:bwa比对时,如果序列长度和碱基质量值不同,bwa比对结果中不显示该序列,也没有报错。

2021-06-08


对bwa比对的一些测试中,发现如果参考序列之间有相似时,要输出所有比对结果的话,情况可能不理想。

比如这是参考序列ref.fa:(随意编造的)

>ref1
CTACCGATCTGCACTGTAAGCACCCTTATG
>ref2
CTACCGATCTGCACTATAAGCACCCTTATA
>ref3
CTACCGATCTGCACGAACAGCACCCTTATG
>ref4
CTACCGATCTGCACTGTAAGCACCCTTATT
>ref5
CTACCGATCTGCACTATGAGCACCCTTATG

然后使用同样的序列作为test.fq,就是:

@ref1
CTACCGATCTGCACTGTAAGCACCCTTATG
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@ref2
CTACCGATCTGCACTATAAGCACCCTTATA
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@ref3
CTACCGATCTGCACGAACAGCACCCTTATG
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@ref4
CTACCGATCTGCACTGTAAGCACCCTTATT
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@ref5
CTACCGATCTGCACTATGAGCACCCTTATG
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

进行比对:

bwa index -a is ref.fa  # 构建索引
samtools faidx ref.fa  # 构建索引
bwa mem -k1 -T1 ref.fa test.fq > test.sam  # 默认输出结果
bwa mem -k1 -T1 -a ref.fa tmp.fq > test.all.sam  # 比对输出所有结果

默认输出的结果:(候选比对结果会在XAtag中)
在这里插入图片描述

使用-a参数输出的结果:(与默认在XA中的相同)
在这里插入图片描述
但是直观看的话,比如,ref1输出的比对只有ref1,ref4,直观看ref5也可以(2mis)
在这里插入图片描述
==但是,==构建ref时,只使用一个序列,比如只用ref5:

>ref5
CTACCGATCTGCACTATGAGCACCCTTATG

test.fq的文件比对结果则会是:
在这里插入图片描述

2023.2.23


这篇关于【bioinfo】bwa mem 比对分值参数测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/345818

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而