基因组共线性工具MCScanX使用说明

MCScanX是检测基因共线性和进化分析的常用工具之一,2012发表至今引用数200+,作者之一的唐海宝老师是国内植物基因组学生信分析、软件开发领域的大拿,在学习使用MCScanx之前推荐先看看他08年介绍gene synteny和collinearity概念的science文章以及MCScanX软件算法文章。

Tang H, Bowers J E, Wang X, et al. Synteny and Collinearity in Plant Genomes[J]. Science, 2008, 320(5875):486-488.

Wang Y, Tang H, DeBarry JD, Tan X, Li J, Wang X, Lee TH, Jin H, Marler B, Guo H, Kissinger JC, Paterson AH. (2012) MCScanX: a toolkit for detection and evolutionary analysis of gene synteny and collinearity. Nucleic Acids Res, 40(7): e49.

好,接下来具体讲讲MCScanX的使用

1. 进入MCScanX官网

http://chibba.pgml.uga.edu/mcscan2/#tm

首先是关于版本的介绍:

可以看到MCScanX是MCScan的升级版本:

1)用法更简单,只需要blastp m8格式的比对文件和经过简单处理的gff作为输入文件即可;2)参数更多元,可以设置gap的阈值;3)输出文件中有html网页版的展示,可以看到第一列是duplicaiton depth,tandem genes用红色标出;4)优化了算法,缓和了物种间不同gene densities的影响

右边是历史版本的优化情况,其中13年发布的MCScanX-transposed是用来检测基因组内或组间的transposed gene重复

2. 下载及安装

官网都给了链接,也可以参考biochen的文章,很详细使用MCScanX分析基因组共线性区块

unzip MCscanX.zip

cd MCScanX

make

Manual http://chibba.pgml.uga.edu/mcscan2/documentation/manual.pdf

structure一目了然
MCScanX、MCScanX_h、duplicate_gene_classifier这三个是核心程序,downstream_analyses中包含12个下游分析程序,可以画图构树,还是很方便很强大的

3.具体使用方法

第一个MCScanX是拟南芥单一物种内找共线性gene区块的例子,还可以用 duplicate_gene_classifier在单一基因组内找重复序列,并区分singleton, dispersed, proximal, tandem, WGD/segmental五种类型。第二个MCScanX是拟南芥和葡萄物种之间找共线性,MCScanX_h和MCScanX类似,只是输入文件稍有不同,如果已知物种间的homology关系,可以直接用MCScanX_h。后面是下游分析的java程序,每个程序点击去可以看到实例

下面以最常用的多物种MCScanX找共线性使用为列:

at是拟南芥的缩写,vv是葡萄缩写
第一步 blastp(protein-protein BLAST)比对

注意!这里是找at和vv两个基因组组内和组间的共线性,因为想同时知道物种内和物种间的共线性,所以在blast之前把at和vv的基因组facat到一起,既做database,又做query,如果只想知道组间的共线性,那么就任取一个基因组为database,另一个做query

合并 cat at.fa vv.fa >>all.fasta

建库 makeblastdb -in all.fa-dbtype prot -parse_seqids -out all (-logfile allpep.log -title all)

蛋白比对 blastp -query all.fa -db all -out at_vv.blast -evalue 1e-10 -num_threads 16 -outfmt 6 -num_alignments 5

小tips:blast这一步是限速步骤,可以把all.fasta文件cut成多份,同时并行跑节省时间

注意!亲自验证该软件最多只能做5个物种的共线性。。。不管输入再多物种结果只有五个!!

第二步 运行MCScanX

输入文件只有两个,一个是上一步blast得到的at_vv.blast文件,格式如下:

还有一个是at_vv.gff文件,不过跟一般的九列gff文件不同,这里是缩略版本,可以用awk得到,第一列是物种名和染色体编号,第二列是基因号,第三列是起始位置,第四列是终止位置(用tab分割)

准备好这两个文件之后,输入命令行

MCScanX at_vv

注意:at_vv.gff at_vv.blast和at_vv命名需要一致且在同一个文件夹里

其他参数设置

运行速度快(吐槽一下用Sibelia来做植物基因组实在是太慢了。。)

运行成功后得到at_vv.html,at_vv.collinearity,at_vv.tandem输出文件

at_vv.collinearity里记录了共线性信息

可以看到collinear gene的数目和占比以及具体的比对信息

第三步 下游分析及可视化

1、常用的下游分析有:

duplicate_gene_classifier XX (0:singleton(非重复基因)1:dispersed(不是2,3,4的其它重复)2:proximal(染色体附近的重复,但是不相邻)3:tandem(串联重复)4:WGD/segmental(在共线性区域的共线性基因))

dissect_multiple_alignment -g XX.gff -c XX.collinearity -o XX.dis

group_collinear_genes.pl -i XX.collinearity -o XX.collinear.groups

2、可视化:软件自带的分析包不能调颜色,所以推荐用python版的MCscan(JCVI 包),具体参考我的另一篇文章其实MCScanX画图也可以很好看

绘图瞬间高大上

驴和马基因组的共线性分析
这里直接使用下游dot_plotter, dual_synteny_plotter, circle_plotter和bar_plotter 4个java包更便捷

官网以水稻和大豆为例
gff和collinearity是上一步的输出,还需要编辑一个control文件,设置需要展示的染色体信息(和gff的第一列一致)

1.dot_plotter

java dot_plotter -g at_vv.gff -s at_vv.collinearity -c dot.ctl -o dot.PNG

dot.ctl

dot.ctl

2.dual_synteny_plotter

java dual_synteny_plotter -g at_vv.gff -s at_vv.collinearity -c dual_synteny.ctl -o dual_synteny.PNG

dual_synteny.ctl

dual_synteny.ctl

3.circle_plotter

java circle_plotter -g at_vv.gff -s at_vv.collinearity -c circle.ctl -o circle.PNG

circle.ctl

circle.ctl
简单的circos图
4.bar_plotter

java bar_plotter -g at_vv.gff -s at_vv.collinearity -c bar.ctl -o bar.PNG

bar.ctl

bar.ctl

第四步 其他分析

duplicate_gene_classifier、detect_collinear_tandem_arrays、dissect_multiple_alignments对结果做进一步分析,借助其他相关信息,还可以做

origin_enrichment_analysis,family_tree_plotter,add_ka_and_ks_to_collinearity等

计算kaks
多了一列kaks信息
小结

MCScanX官网界面友好,亲测好评,后面画图如果想自己调试改颜色啥的,还是学一下circos的使用吧

https://www.jianshu.com/p/740cb9eccf2b

MCScanX使用说明相关推荐

  1. 基因组共线性工具MCScanX使用说明

    基因组共线性工具MCScanX使用说明 简介 MCScanX工具集对MCScan算法进行了调整,用于检测共线性和同线性区域,还增加了可视化和下游分析..MCscanX有三个核心工具,以及12个下游分析 ...

  2. MCScanX数据前期处理(Ensemble Plant和Phytozome下载)

    软件操作步骤在简书上的<基因组共线性工具MCScanX使用说明>一文描述以非常详尽,有需者可以跳转学习.本文专注于如何将Ensemble plant下载数据整理成MCScanX输入格式 因 ...

  3. 「JCVI教程」如何基于物种的CDS的blast结果绘制点图(dotplot)

    这是唐海宝老师GitHub上的JCVI工具的非官方说明书. 该工具集的功能非常多,但是教程资料目前看起来并不多,因此为了能让更多人用上那么好用的工具,我就一边探索,一边写教程 这一篇文章教大家如何利用 ...

  4. abaqus高性能服务器怎么用,高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF...

    高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF 高性能计算平台ABAQUS 任务调度使用说明 作者:陈林 E-Mail:chenlin@ 日期:2017-1-10 ...

  5. linux 文件拷贝并替换,Linux_cmd replace 文件替换使用说明,帮助信息: 复制代码 代码如 - phpStudy...

    cmd replace 文件替换使用说明 帮助信息: 复制代码 代码如下: 替换文件. REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [ ...

  6. Simple Dynamic Strings(SDS)源码解析和使用说明二

    在<Simple Dynamic Strings(SDS)源码解析和使用说明一>文中,我们分析了SDS库中数据的基本结构和创建.释放等方法.本文将介绍其一些其他方法及实现.(转载请指明出于 ...

  7. Delphi开发的IOCP测试Demo以及使用说明。

    Delphi开发的IOCP,此为压力测试Demo和使用说明.

  8. oracle database link mysql_oracle database link使用说明

    oracle database link使用说明 作用: 将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象. 简易语法: CREATE [PUBLIC] ...

  9. 序列拼接工具Bowtie使用说明

    序列拼接工具Bowtie使用说明 2011-06-08 ~ ADMIN Bowtie是一个超级快速的,较为节省内存的短序列拼接至模板基因组的工具.它在拼接35碱基长度的序列时,可以达到每小时2.5亿次 ...

最新文章

  1. 纯css3代码写下拉菜单效果
  2. EMNLP2020:UC伯克利摘最佳论文、Hugging Face获最佳demo
  3. 嵌入式Linux常用文件系统
  4. python 修改文件名_Python 批量修改文件名
  5. 数据结构期末复习之归并排序和基数排序
  6. java interpreter_解释器模式(Interpreter)Java
  7. property练习
  8. 《Android游戏开发详解》——导读
  9. 一文带你看懂~混沌理论
  10. alot英文怎么读_iot中文读什么,AloT怎么读,Iot是什么意思中文翻译
  11. 全球及中国企业数据存储解决方案行业发展动态及前景规划分析报告2022-2027
  12. rails 分页插件 Kaminari 的 数组分页
  13. 基于 Web 端的人脸识别身份验证
  14. 南安第五小学计算机老师,赞!南安市第五小学预计年底完工!
  15. folium,绘制线段,连接成多边形
  16. Pascal版2048
  17. Android Kotlin仿iOS底部选择框
  18. mysql主从配置duxi_[从0到1搭建ABP微服务] - 搭建授权服务
  19. iOS 网络传输数据安全以及常用的加密算法使用
  20. WORD设置从开始页数算总页数

热门文章

  1. PXE网络批量装机+Kickstart无人值守安装
  2. label 字体添加中划线和下划线
  3. Pytorch中nn.Module中的self.register_buffer解释
  4. AutoCAD中ObjectARX C++常用的方法
  5. 如何快速统计Excel中Sheet数
  6. 安卓各大平台APP上架的一些总结
  7. python运维必备知识
  8. SpringBoot 集成 MongoDB 磁盘分页查询导致的坑,allowDiskUse 基本配置
  9. c8815 android os,华为C8815刷机乐蛙OS 0827 4.1.2ROM93期
  10. 2021年山东省青少年人工智能培训