「BioNano系列」如何进行cmap之间的比对

2024-06-23 20:18

本文主要是介绍「BioNano系列」如何进行cmap之间的比对,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

BioNano以cmap格式存放光学图谱,为了评估基因组的组装质量或者了解光学图谱中冗余情况(高杂合基因组组装结果偏大),我们就需要进行cmap之间的比较。

CMAP间比对

Solve套件提供了runCharacterize.py脚本封装了RefAligner,用于进行CMAP之间的比对。

python2.7 runCharacterize.py \-t RefAligner的二进制文件路径 \-q 用于比对的CMAP \-r 参考CMAP \-p Pipeline文件路径\-a 参数配置文件.xml \-n 线程数,默认4

需要注意的是-p-a参数的设置。-p是Pipeline的文件位置,比如说我的Solve安装在/opt/biosoft/Solve3.4_06042019a,那么参数设置为-p /opt/biosoft/Solve3.4_06042019a/Pipeline/06042019。 而-a则是要在/opt/biosoft/Solve3.4_06042019a/RefAligner/8949.9232rel/目录下选择合适的xml文件。比如你的CMAP是Irys平台,那么你可以考虑用optArguments_nonhaplotype_irys.xml.

以最新发表的辣椒的光学图谱为例,该物种有比较高的杂合度,组装结果偏大,我们可以通过自比对来寻找冗余区域,

# 下载CMAP
wget https://submit.ncbi.nlm.nih.gov/ft/byid/o62junnn/piper_nigrum_no_rcmap_refinefinal1.cmap
# 自比对
python /opt/biosoft/Solve3.4_06042019a/Pipeline/06042019/runCharacterize.py \-t /opt/biosoft/Solve3.4_06042019a/RefAligner/8949.9232rel/RefAligner \-q piper_nigrum_no_rcmap_refinefinal1.cmap \-r piper_nigrum_no_rcmap_refinefinal1.cmap \-p /opt/biosoft/Solve3.4_06042019a/Pipeline/06042019 \-a /opt/biosoft/Solve3.4_06042019a/RefAligner/8949.9232rel/optArguments_nonhaplotype_saphyr.xml -n 64

最终会在当前文件下生成一个alignRef文件夹,其中结果是q.cmap,r.cmap和xmap的文件可以用于上传到BioNano Access上进行展示。下图就是一个冗余实例,可以把图中较短的图谱删掉

2013053-817efefc95a9d81d.png
冗余

基因组回帖

为了将基因组回帖到CMAP上,需要先将基因组的fasta格式转成CMAP格式,参数如下

perl fa2cmap_multi_color.pl -i 输入FASTA -e 酶1 通道1 [酶2 通道2]

其中一个最重要的参数就是酶切类型。例如我需要将序列回帖到用Nt.BspQI酶切组装的光学图谱上,因此运行参数如下

perl /opt/biosoft/Solve3.4_06042019a/HybridScaffold/06042019/scripts/fa2cmap_multi_color.pl -i athaliana.fa -e BspQI 1

最后的athaliana_BSPQI_0kb_0labels.cmap就是模拟酶切的CMAP序列。

之后将模拟酶切的结果回帖到实际的CMAP

python /opt/biosoft/Solve3.4_06042019a/Pipeline/06042019/runCharacterize.py \-t /opt/biosoft/Solve3.4_06042019a/RefAligner/8949.9232rel/RefAligner \-q athaliana_BSPQI_0kb_0labels.cmap \-r kbs-mac-74_bng_contigs2017.cmap \-p /opt/biosoft/Solve3.4_06042019a/Pipeline/06042019 \-a /opt/biosoft/Solve3.4_06042019a/RefAligner/8949.9232rel/optArguments_nonhaplotype_saphyr.xml \-n 64

最终会在当前文件下生成一个alignRef文件夹,其中结果是q.cmap,r.cmap和xmap的文件.


版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。

2013053-042d47e898158b14.png
扫码即刻交流

这篇关于「BioNano系列」如何进行cmap之间的比对的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监