基因组共线性分析工具MCScanX
软件简介
MCScanX工具集对MCScan算法进行了调整,用于检测共线性和同线性区域,还增加了可视化和下游分析。。MCscanX有三个核心工具,以及12个下游分析工具。
软件安装
进入官网http://chibba.pgml.uga.edu/mcscan2/#tm,下载安装
1 unzip MCscanX.zip
2 cd MCScanX
3 make
软件使用
所需要文件
两个或多个物种的gff文件,蛋白序列(** 该软件最多能做5个物种的共线性)
第一步:构建索引,进行blastp比对
1 ## 合并
2 cat at.fa vv.fa >>all.fa
3
4 ## 建库
5 makeblastdb -in all.fa -dbtype prot -out index/all -parse_seqids
6
7 ## 比对
8 blastp -query all.fa -db index/all -out all.blast -evalue 1e-5 -num_threads 10 -outfmt 6 -num_alignments 5
第二步:构建gff文件
MCscanX要求的gff文件和标准的gff文件不一样,它只有四列, 其中"sp#"的sp意味着你要用2个字母代表物种,#则表示是哪条染色体。而"gene"则要是你蛋白序列的基因名
1 sp# gene starting_position ending_position
根据物种的gff3文件利用awk 快速得到MCscanX要求的gff文件
第三步:MCScanX寻找共线性区块
1 MCScanX ./all
结果文件
输出文件分为两个:
第一个是at_rice.collinearity, 记录着共线性区块(collinear blocks), 可以选择共线性区块基因大于10以上为可信区域
第二个是一个网页格式
输出共线性基因的位置信息
1 #!/usr/bin/env python
2 # _*_ coding: utf-8 _*_
3
4 import sys,re
5
6 gene_info = {}
7 syn_info = {}
8
9 IN = sys.argv[1] ##*.gff
10 IN1 = sys.argv[2] ## *.collinearity
11 IN2 = sys.argv[3] ## number,int;
12
13 with open(IN) as f,\
14 open(IN1) as f1,\
15 open("%s_syn_region_info" %IN.strip(".gff"),"w") as o:
16 for i in f:
17 i=i.strip().split()
18 gene_info[i[1]] = [i[0],i[2],i[3]]
19 for x in f1:
20 if '## Alignment' in x:
21 res=x.strip()
22 if res not in syn_info:
23 syn_info[res] = []
24 elif '#' not in x:
25 x=x.strip().split()
26 tem = x[-3]+"&&"+x[-2]
27 syn_info[res].append(tem)
28 for k,v in syn_info.items():
29 num = re.search(r" N=(\d+) ",k).group(1)
30 if int(num) >= 10:
31 for n in v:
32 # print n
33 gene1 = n.split("&&")[0]
34 gene2 = n.split("&&")[1]
35 gene1_chr = gene_info[gene1][0]
36 gene1_start = gene_info[gene1][1]
37 gene1_end = gene_info[gene1][2]
38 gene2_chr = gene_info[gene2][0]
39 gene2_start = gene_info[gene2][1]
40 gene2_end = gene_info[gene2][2]
41 o.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n"%(gene1_chr,gene1,gene1_start,gene1_end,gene2,gene2_chr,gene2_start,gene2_end))
基因组共线性工具MCScanX使用说明
基因组共线性工具MCScanX使用说明
------END------
关注下方公众号可获得更多精彩

基因组共线性分析工具MCScanX的更多相关文章
- 史上最全 | 39个RNAseq分析工具与对比
文献:Sahraeian S M E, Mohiyuddin M, Sebra R, et al. Gaining comprehensive biological insight into the ...
- OS Tools-GO富集分析工具的使用与解读详细教程
我们的云平台上的GO富集分析工具,需要输入的文件表格和参数很简单,但很多同学都不明白其中的原理与结果解读,这个帖子就跟大家详细解释~ 一.GO富集介绍: Gene Ontology(简称G ...
- Android代码分析工具lint学习
1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能 ...
- 【转】gc日志分析工具
性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...
- Java 性能分析工具 , 第 3 部分: Java Mission Control
引言 本文为 Java 性能分析工具系列文章第三篇,这里将介绍如何使用 Java 任务控制器 Java Mission Control 深入分析 Java 应用程序的性能,为程序开发人员在使用 Jav ...
- Java 性能分析工具 , 第 2 部分:Java 内置监控工具
引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...
- Java 性能分析工具 , 第 1 部分: 操作系统工具
引言 性能分析的前提是将应用程序内部的运行状况以及应用运行环境的状况以一种可视化的方式更加直接的展现出来,如何来达到这种可视化的展示呢?我们需要配合使用操作系统中集成的程序监控工具和 Java 中内置 ...
- 系统级性能分析工具perf的介绍与使用
测试环境:Ubuntu16.04(在VMWare虚拟机使用perf top存在无法显示问题) Kernel:3.13.0-32 系统级性能优化通常包括两个阶段:性能剖析(performance pro ...
- KRPano资源分析工具使用说明(KRPano XML/JS解密 切片图批量下载 球面图还原 加密混淆JS还原美化)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
随机推荐
- 第五课第四周实验一:Embedding_plus_Positional_encoding 嵌入向量加入位置编码
目录 变压器预处理 包 1 - 位置编码 1.1 - 位置编码可视化 1.2 - 比较位置编码 1.2.1 - 相关性 1.2.2 - 欧几里得距离 2 - 语义嵌入 2.1 - 加载预训练嵌入 2. ...
- 【二食堂】Beta - Scrum Meeting 5
Scrum Meeting 5 例会时间:5.18 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 划词功能已经实现,继续开发,完善文本区域交互,调用API issue 1. ...
- activemq实现队列的独有消费
在我们实际的开发中可能存在这么一种情况,应用程序要向一个队列名为queue的队列中发送3条消息,需要保证这3条消息按顺序消费.必须是第一条消费完,在消费第二条然后是第三条.而我们的程序中可能有时候存在 ...
- rabbitmq生产者消息确认
在使用 RabbitMQ 的时候,有时候当我们生产者发送一条消息到 RabbitMQ 服务器后,我们 生产者想知道消息是否到达了 RabbitMQ 服务器上.这个时候我们应该如何处理? 针对上述问题, ...
- 力扣 - 剑指 Offer 57. 和为s的两个数字
题目 剑指 Offer 57. 和为s的两个数字 思路1(哈希表) 这题首先想到的是使用两个for遍历,查找是哪两个相加等于target,但是时间复杂度确实\(O(N^2)\),时间复杂度太高,因此我 ...
- 2021.8.6考试总结[NOIP模拟32]
T1 smooth 考场上水个了优先队列多带个$log$,前$80$分的点跑的飞快,后面直接萎了. 其实只需开$B$个队列,每次向对应队列中插入新的光滑数,就能保证队列中的数是单调的. 为了保证不重, ...
- 攻防世界 杂项15.János-the-Ripper
下载附件并解压,我用的是WinHex打开,发现是PK开头,并且文件中包含一个flag.txt文件,应该就是我们所需要的flag. 把下载的附件改后缀为.zip,确实有我们需要的flag,打开后需要密码 ...
- Linkerd 2:5 分种厘清 Service Mesh 相关术语
API Gateway(API 网关) API gateway 位于应用程序的前面,旨在解决身份验证和授权.速率限制以及为外部消费者提供公共访问点等业务问题. 相比之下,service mesh 专注 ...
- 链表中环的入口结点 牛客网 剑指Offer
链表中环的入口结点 牛客网 剑指Offer 题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. # class ListNode: # def __init__(se ...
- Python 模块 itertools
python 2.6 引入了itertools模块,使得排列组合的实现非常简单: import itertools 有序排列:e.g., 4个数内选2个排列: >>> print l ...