新浪博客

MCScanX的介绍及使用(很详细的补充说明)转载

2016-10-15 21:54阅读:

MCScanX的介绍及使用

MCScanX软件包含了两个部分,一个是MCScan算法;另一部分是后期的可视化分析。目前这个软件可以在MAC OS(需要提前安装xcode)和 linux(需要Java SE Develoment Kit和“libpng”)上使用。
核心程序包括:
1. MCScanX 检测共线性区域,并比对到参考染色体上。
2. MCScanX_h 和MCScanX类似,只不过输入文件是成对的用tab隔开的同源基因。
3. duplicate_gene_classifier 基因分类
下游分析程序包括:
4. detect_collinear_tandem_arrays
5. dissect_multiple_alignment
6. dot_plotter.java
7. dual_synteny_plotter.java
8. circle_plotter.java
9. bar_plotter.java
10.add_ka_and_ks_to_collinearity.pl
11.group_collinear_genes.pl
12.detect_collinearity_within_gene_families.pl
13.origin_enrichment_analysis.pl
14.family_circle_plotter.java
15.family_tree_plotter.java
安装:
$ wget http://chibba.pgml.uga.edu/mcscan2/MCScanX.zip
$ unzip MCScanX.zip
$ cd MCScanX
$ make
$ cd ..
$ sudo mv MCScanX /opt/biosoft/

在mac下配置时如果出现/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:等错误,是由于xcode版本的问题,解决方法自行google。
安装结束后就开始正式使用MCScanX软件:
1. MCScanX的输入需要两个文件:*.blast 和 *.gff(*号表示文件名,自己命名,保持一致)
*.blast文件可以直接用all-vs-all出结果。首先将预测的蛋白质文件的fasta文件整合一下$ cat 1genome.pep 2genome.pep 3genome.pep > all.fasta
将整合好的fasta文件做库,然后blastp。
$ path/ncbi-blast-2.2.30+/bin/makeblastdb -in all.fasta -dbtype prot -title allpep -parse_seqids -out allpep -logfile allpep.log
$ path/ncbi-blast-2.2.30+/bin/blastp -db allpep -query all.fasta -out path/*.blast -evalue 1e-10 -outfmt 6 -num_threads 2

evalue选取的官网推荐的1e-10,如果想要得到更加可靠的结果,官网推荐限制一个基因的比对结果选取前5个,outfmt 6格式可以被MCScanX识别。最后输出结果生成了*.blast
*.gff不是平常用到的gff文件,需要修改一下。文件是一个tab隔开的,只有4列:
sp# gene starting_position ending_position
sp是两个字母,后面的#号表示染色体编号,此文件可以通过常用的gff3文件生成。程序自带的数据给出了例子:
at1 at0|AT1G01010 3631 5899
at1 at0|AT1G01020 5928 8737
at1 at0|AT1G01030 11649 13714
at1 at0|AT1G01040 23146 31227

文件生成后也需要整合$ cat 1genome.gff 2genome.gff 3genome.gff > *.gff
将*.blast 和 *.gff放在同一个文件夹中,我放在了文件夹 MCScanX_analysis 里了。
$ path/MCScanX/MCScanX path/MCScanX_analysis/*
运行后输出结果出现三个
*.collinearity: 成对的共线性区域
*.tandem: 串联基因
*.html: 共线性可视化的html文件,里面有很多小文件,文件名称是根据参考基因组染色体编号来的。第一列是每个基因位点的复制深度,第二列是基因参考染色体,红色部分是串联基因,后面黄色部分的内容是比对上的共线性区域,只有哪些比对上的基因会被展现出来。html文件可以用网页浏览器打开。
---MCScanX parameters (for advanced users)
[Usage] ./bin/mcscan2 prefix_fn [options]
-k MATCH_SCORE, final score=MATCH_SCORE+NUM_GAPS*GAP_PENALTY
(default: 50)
-g GAP_PENALTY, gap penalty (default: -1)
-s MATCH_SIZE, number of genes required to call a collinear block
(default: 5)
-e E_VALUE, alignment significance (default: 1e-05)
-m MAX_GAPS, maximum gaps allowed (default: 25)
-a only builds the pairwise blocks (.aligns file)
-b patterns of collinear blocks. 0:intra- and inter-species (default); 1:intra-species; 2:inter-species -h print this help page

2. MCScanX_h
功能和 MCScanX 类似,但是输入文件是同源基因文件,可以通过合并OrthoMCL软件生成orthologs.txt和coortholog.txt文件,命名为*.homology,文件内容类似:
AT1G01020 Glyma03g28190 0.343
OrthoMCL的安装和使用可以参照http://www.microyolk.com/blog/2015/07/13/orthomcl-under-ubuntu/
3. duplicate_gene_classifier
这个程序将那些基因分为了5大类,运行方式
$ path/MCScanX/duplicate_gene_classifier path/MCScanX_analysis/*
运行结果
$ Gene gene_type(0/1/2/3/4)
其中0,1,2,3,4分别代表了哪五大类:
0:singleton(非重复基因)
1:dispersed(不是2,3,4的其它重复)
2:proximal(染色体附近的重复,但是不相邻)
3:tandem(串联重复)
4:WGD/segmental(在共线性区域的共线性基因)
官方手册上有一句话需要注意:It is not reasonable to apply this program to data of multiple genomes.
下游分析程序:
下游分析程序较多,出图也不是很好看,懒的详细写了,可能大部分会用到画图,例如dual_synteny_plotter.java这个程序
4. dual_synteny_plotter.java
这个程序只能画两个基因组之间的线性关系的平行图,需要一个control文件,这个文件包括4行,我命名为了control
600
2000高,虽然出来的基因组图是两个竖直的基因组,所以高可以设置高点
TM1,TM2,TM3这是想要做图的基因组染色体编号,可以写脚本通过gff文件获取下,中间用“,”隔开,且没有空格
YI1,YI2,YI3,YI4第二个基因组。
使用方法$ cd path/MCScanX/duplicate_gene_classifier/
$ java dual_synteny_plotter -g path/*.gff -s path/*.collinearity -c path/control -o path/XX.png

其它的分析程序可以看下官网手册的描述http://chibba.pgml.uga.edu/mcscan2/documentation/manual.pdf

我的更多文章

下载客户端阅读体验更佳

APP专享