使用jcvi绘制微共线性(Microsynteny)

2023-11-18

本文主要介绍如何使用JCVI的synteny子命令基于已有的共线性分析结果,展现局部的共线性。

需要准备的三个输入文件

  • 记录物种内或者物种间的共线性基因对
  • 记录基因坐标的bed文件
  • 布局文件

第一步,基于已有的共线性分析结果(WGDI, MCscan, MCscanX等软件的分析结果),整理出你需要展示的区间的基因对。注意分隔符是制表符,我们保存为blocks.txt

AL1G16390	AT1G06380
AL1G16400	AT1G06390
AL1G16410	AT1G06400
AL1G16420	AT1G06410
AL1G16430	AT1G06420
AL1G16440	AT1G06430
AL1G16450	AT1G06440
AL1G16460	AT1G06450
AL1G16470	AT1G06460
AL1G16480	AT1G06470
AL1G16490	AT1G06475
AL1G16510	AT1G06490
AL1G16520	AT1G06500
AL1G16530	AT1G06515
AL1G16540	AT1G06510
AL1G16550	AT1G06520
AL1G16560	AT1G06530
AL1G16570	AT1G06540
AL1G16580	AT1G06550
AL1G16590	AT1G06560
AL1G16600	AT1G06570
AL1G16610	AT1G06580

第二步,整理记录基因坐标的bed文件。bed要求是6列,记录基因的坐标和朝向,第五列填0即可。 我们命名为genes.bed

1	3631	5899	AT1G01010	0	+
1	6788	9130	AT1G01020	0	-
...
scaffold_9	1792941	1795545	AL9U12210	0	-
scaffold_9	1796870	1801565	AL9U12220	0	-
scaffold_9	1810180	1812874	AL9U12230	0	+
scaffold_9	1836100	1837535	AL9U12240	0	-

两个要求:

  • 第4列的基因名必须对应共线性对的基因
  • 文件里必须包含你需要展示物种的所有基因(至少是共线性区块的基因)

第三步,提供布局文件, 命名为layout.csv

# x,  y, rotation,  ha,  va, color, ratio,  label
0.5, 0.4, 0, center,top,  ,  1, A.lyrata Chr1
0.5, 0.3, 0, center, top,  ,  1,  A.thaliana Chr1
# edges
e, 0, 1

该文件分为两个部分:上半部分是track在图中的相对位置(x,y)和旋转角度(rotation),以及label的对齐方式, ha( left, center, right) va( top, button) 和颜色(color)

下半部分是不同track的共线性关系,e,0,1表示第一个和第二个track有关联。

最后运行程序

python -m jcvi.graphics.synteny blocks.txt  genes.bed layout.csv

输出结果为一个pdf,如下所示

micro synteny

因为我们的共线性基因里面是A.lyrata是第一列,所以画图的时候也是A.lyrata在第一行。

案例仅展示了2条序列之间的共线性,实际上jcvi.graphics.synteny是可以展示多条序列的结果,比如说jcvi案例展示graph, peach, cacao三者之间的共线性,提供的两两之间的共线性如下

GSVIVT01012261001 . .
GSVIVT01012259001 . .
GSVIVT01012258001 . .
GSVIVT01012257001 . .
GSVIVT01012255001 Prupe.1G290900.1 Thecc1EG011472t1
GSVIVT01012253001 Prupe.1G290800.2 Thecc1EG011473t1
GSVIVT01012252001 Prupe.1G290700.1 Thecc1EG011474t1
GSVIVT01012250001 Prupe.1G290600.1 Thecc1EG011475t1
GSVIVT01012249001 Prupe.1G290500.1 Thecc1EG011478t1
GSVIVT01012248001 Prupe.1G290400.1 Thecc1EG011482t1

通过调整布局(注意布局文件里面的坐标x,y, 以及edge)

# x,   y, rotation,     ha,     va, color, ratio,            label
0.5, 0.6,  0, center, top,   ,  1,  grape Chr1
0.3, 0.4, 0, center, bottom,  , .5, peach scaffold_1
0.7, 0.4,  0, center, bottom,   ,   .5, cacao scaffold_2
# edges
e, 0, 1
e, 0, 2

就能输出如下效果的共线性

synteny among three species

参考资料

https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用jcvi绘制微共线性(Microsynteny) 的相关文章

随机推荐

  • Visual Studio 2015 debug 显示 utf-8 汉字

    这两天调试程序 内容是utf8编码的 visual studio 默认显示ansi的 所以中文全乱码了 上网上只找到vs2013及之前版本的解决办法 于是 自己对比vs2013的解决办法 让vs2015也显示了utf 8字符 具体在 C P
  • 12333新农合网上查询_社保卡余额如何查询?这五个方法轻松查询

    阅读本文前 请您先点击上面的 蓝色字体 再点击 关注 这样您就可以继续免费收到文章了 每天都有分享 完全是免费订阅 请放心关注 注 本文转载自网络 不代表本平台立场 仅供读者参考 著作权属归原创者所有 现在大多数人都有社保卡 就算是农民朋友
  • UPLOAD labs 第四关

    第四关考点是 htaccess 作为一个铁废物 来百度一下 大意就是htaccess是apache服务中的一个配置文件 负责相关目录下的网页配置 它负责相关目录下的网页配置 通过htaccess文件 可以帮我们实现 网页301重定向 自定义
  • Ubuntu 17.04系统创建Android Studio桌面快捷方式的方法

    下面以 Android Studio 为例 阐述Ubuntu系统中创建桌面快捷方式的方法 假设已将 Android Studio 下载到 home
  • 在 Win11安装 Ubuntu20.04子系统 WSL2 到其他盘(此处为D盘,因为C盘空间实在不能放应用)

    该篇文章记录了在 win11 中安装 Ubuntu20 04 子系统 先安装到 C盘 再通过打包的方式 安装到 D盘 上 因为是安装后写的文章 可能会有所疏漏 所以有任何问题可以在评论区留言 0 设置 windows 功能 打开这三个 配置
  • everything 和quicklook联动

    everything 和quicklook联动 老凶残的解决方案了 https www logcg com archives 1584 html
  • 数据库原理之关系数据库关系运算

    关系数据库关系运算 选择 投影 链接 除运算 选择运算 选择运算是从关系R中选取使逻辑表达式F为 真的元组 是从行的角度进行的运算 投影运算 投影操作主要是从列的角度进行运算 但投影之后不仅取消可原关系中的某些列 而且还可能取消某些元组 避
  • Qt自定义代理与实例

    代理的定义 代理 Delegate 就是在视图组件上为编辑数据提供编辑器 如在表格组件中编辑一个单元格的数据时 缺省是使用一个QLineEdit编辑框 代理负责从数据模型获取相应的数据 然后显示在编辑器里 修改数据后 又将其保存到数据模型中
  • android自定义属性详解,android开发教程之自定义属性用法详解

    android开发中要对代码进行生成 然而生成后的代码也可以进行更改的 下面是爱站技术频道小编带给大家的android开发教程之自定义属性用法详解 希望能给你学习这方面知识带来帮助 最近项目中经常需要用到自定义控件 因此自定义属性也是经常要
  • 基于EasyCode定制Mybatisplus全自动单表实现:新增/批量新增/修改/批量删除/分页查询/ID查询

    基于EasyCode定制Mybatisplus全自动单表实现CRUD接口 分页查询 ID查询 新增 批量新增 修改 批量删除 注意使用了MybatisPlus的自动填充功能 和insertBatchSomeColumn扩展批量插入功能 分页
  • 浅析MySQL JDBC连接配置上的两个误区

    相信使用MySQL的同学都配置过它的JDBC驱动 多数人会直接从哪里贴一段URL过来 然后稍作修改就上去了 对应的连接池配置也是一样的 很少有人会去细想这每一个参数都是什么含义 今天我们就来聊两个比较常见的配置 是否要开启autoRecon
  • 推荐一款cpp解析json工具--rapidjson

    项目地址 http code google com p rapidjson 上面有很详细的介绍 http code google com p rapidjson wiki UserGuide 作者介绍说 Rapidjsonis an att
  • k8备份与恢复-Velero

    简介 Velero 是一款可以安全的备份 恢复和迁移 Kubernetes 集群资源和持久卷等资源的备份恢复软件 Velero 实现的 kubernetes 资源备份能力 可以轻松实现 Kubernetes 集群的数据备份和恢复 复制 ku
  • 华为OD机试真题-优秀学员统计 【2023.Q1】

    题目描述 公司某部门软件教导团正在组织新员工每日打卡学习活动 他们开展这项学习活动已经一个月了 所以想统计下这个月优秀的打卡员工 每个员工会对应一个id 每天的打卡记录记录当天打卡员工的id集合 一共30天 请你实现代码帮助统计出打卡次数t
  • 算法:双指针解决数组划分和数组分块问题

    文章目录 实现原理 实现思路 典型例题 移动0 复写0 快乐数 盛最多水的容器 有效三角形的个数 三数之和 四数之和 总结 在快速排序或者是其他和数组有关的题目中 有很经典的一类题目是关于数组划分的 数组划分就是把数组按照一定的规则划分为不
  • Androidmainfest主配置文件以及intent的跳转

  • openwrt利用arp获取局域网设备IP

    openwrt利用arp获取局域网设备IP 文章目录 openwrt利用arp获取局域网设备IP 1 前言 2 ARP概念 3 arp局域网搜索设备实现思路和代码 1 前言 目前我们通过arp协议搜索局域网设备 根据局域网设备地址判断子设备
  • centos linux部署pxe服务器实现自动装机,照做就行

    大家好 今天分享一下在centos linux上部署pxe服务器来实现自动化的装机 关于这个东西的话 记住一点就可以了 就是pxe可以给很多服务器自动的安装操作系统 这样省时省力 这是pxe服务器的工作流程 我个人觉得他已经很详细了 下面来
  • python--商店购物案例(字典篇)--小黑学习驿站

    目录 案例 def 函数说明 global 内部声明函数 案例 水果店老板有N种水果 如果老板要新进一批水果该怎么循环添加 当客人买不同水果的时候该怎样计算 思路 1 首先思路是水果老板店里的水果和价钱做一个字典 然后利用字典循环添加新的水
  • 使用jcvi绘制微共线性(Microsynteny)

    本文主要介绍如何使用JCVI的synteny子命令基于已有的共线性分析结果 展现局部的共线性 需要准备的三个输入文件 记录物种内或者物种间的共线性基因对 记录基因坐标的bed文件 布局文件 第一步 基于已有的共线性分析结果 WGDI MCs