Oxford Nanopore Technologies实战应用之电信号比对工具Tombo

2023-10-25 05:41

本文主要是介绍Oxford Nanopore Technologies实战应用之电信号比对工具Tombo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、前言

 二、Tombo快速使用

1.安装

2.快速使用

 3.比对结果解析

4.高阶应用

三、总结


一、前言

对于纳米孔测序常规用途,如基因组比对、SNV鉴别、宏基因组物种分析而言,用户一般使用碱基识别软件输出的fastq文件即可展开相应分析。但对于某些特殊用途,如甲基化鉴别、碱基识别算法开发,则需要深入分析纳米孔测序产生的fast5文件中原始电信号与碱基(A/T/G/C)之间的对应关系。那么,有没有软件可以实现这种功能呢?答案是ONT官方发布的软件Tombo。

 二、Tombo快速使用

1.安装

使用conda进行快速安装。

# install via bioconda environment (https://bioconda.github.io/#set-up-channels)
conda install -c bioconda ont-tombo

2.快速使用

假定fast5文件中已经有basecalls(即ATGC碱基),且Reference序列已知,那么最快速使用Tombo进行电信号比对的命令如下。输出的比对结果会写入到fast5文件中。

tombo resquiggle path/to/fast5s/ genome.fasta --processes 4 --num-most-common-errors 5

 3.比对结果解析

首先要读入fast5文件,可以使用h5py中的h5py.File函数读入,也可以使用其他第三方fast5分析软件。

import h5py
fast5_info = h5py.File(fast5_path, 'r')

然后,就可以在fast5_info['Analyses']['RawGenomeCorrected_000']['BaseCalled_template']['Events'][:]中找到碱基与电信号的对应关系。

并且,可以通过fast5_info['Analyses']['RawGenomeCorrected_000']['BaseCalled_template']['Alignment']的attrs来查看每条fast5与参考序列的比对信息,如比对起止位点、正负链信息等。

4.高阶应用

随着ONT测序技术的更新,并非所有fast5文件都可以直接被Tombo读入,此时需要考虑2个问题:

(1)fast5中是否有basecalls?某些用户在设置测序控制软件时,产生的fast5并不一定含有basecalls,此时就需要re-basecalling。

(2)fast5可能使用了VBZ压缩,此时就需要先安装hdf5插件(参考https://github.com/nanoporetech/vbz_compression/),然后才能继续使用h5py读取fast5。

三、总结

其实使用tombo resquiggle进行电信号比对还有许多细节需要注意,有兴趣的读者可以参考其说明书(https://nanoporetech.github.io/tombo/resquiggle.html)。比如,reads相对于reference序列出现了Indel(下图所示)要怎么获取电信号,Tombo也给出了解决方案。

这篇关于Oxford Nanopore Technologies实战应用之电信号比对工具Tombo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot整合AOP及使用案例实战

《SpringBoot整合AOP及使用案例实战》本文详细介绍了SpringAOP中的切入点表达式,重点讲解了execution表达式的语法和用法,通过案例实战,展示了AOP的基本使用、结合自定义注解以... 目录一、 引入依赖二、切入点表达式详解三、案例实战1. AOP基本使用2. AOP结合自定义注解3.

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++11中的包装器实战案例

《C++11中的包装器实战案例》本文给大家介绍C++11中的包装器实战案例,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录引言1.std::function1.1.什么是std::function1.2.核心用法1.2.1.包装普通函数1.2.

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

Redis 命令详解与实战案例

《Redis命令详解与实战案例》本文详细介绍了Redis的基础知识、核心数据结构与命令、高级功能与命令、最佳实践与性能优化,以及实战应用场景,通过实战案例,展示了如何使用Redis构建高性能应用系统... 目录Redis 命令详解与实战案例一、Redis 基础介绍二、Redis 核心数据结构与命令1. 字符

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南

《在SpringBoot+MyBatis项目中实现MySQL读写分离的实战指南》在SpringBoot和MyBatis项目中实现MySQL读写分离,主要有两种思路:一种是在应用层通过代码和配置手动控制... 目录如何选择实现方案核心实现:应用层手动分离实施中的关键问题与解决方案总结在Spring Boot和