如何使用Mega cc
Table of Contents
- 1 github地址:
- 2 下载
- 3 使用
- 3.1 安装
- 3.2 输入文件
- 3.3 输出文件
- 3.4 运行MEGA-CC
- 3.5 MEGA-Proto (分析模版)
- 3.6 Demo1:实例1
- 3.7 Demo2: 实例2
- 3.8 自我实例
- 4 mao 文件简单解析
- 5 在Linux下如何使用
1 github地址:
https://github.com/gaorongchao/Perl/tree/master/Bio/Mega
所有后续更新都在github上进行,其他地方不做同步。 发现任何错误,或者不当的地方,请先到github查看是否改正。 如果没有请留言。或者邮件交流:[email protected]
2 下载
http://www.megasoftware.net/megaccusage.php
先从上面的网址下载,阅读上面的下载协议。 然后选“Accept Agreement”,然后就开始下载了。 下载以后我们得到“M6CC.zip”的文件。 然后解压。
解压以后得到几个文件。
- M6CC.exe
- M6Proto.exe #这两个是主程序,是我们要用到的
- MEGA-CC-Quick-Start-Tutorial.pdf # 这个是使用的教程
- Usage Agreement.pdf # 使用协议,不用看
- Examples # 这个文件夹提供了我们学习MEGACC所需要的文件
3 使用
使用过程是从解压以后得到的PDF手册翻译加工整理而来。
3.1 安装
你可以在上面得到的解压文件中直接使用。 也可以直接把起作用的两个执行文件M6CC.exe 和 M6Proto.exe 拷贝到你喜欢的文件夹中。 下面的两个实例需要你也把Example文件也拷贝过去。
3.2 输入文件
1:分析配置文件:也就是你要用MEGA的什么参数进行分析的一个参数设定的集合。 这个是用MEGA-Proto来生成的。 生成的文件是一个 .mao为后缀的文件。
2:数据文件(下面的任意一个都可以)
- Multiple sequence alignment in MEGA or Fasta format.
- Distance matrix in MEGA format.
- Unaligned sequences in Fasta format (f or alignment only)
3:树文件(某些分析需要) .nwk文件格式。
3.3 输出文件
一般情况下生成两种输出文件
- 1. Calculation-specific results file (Newick file, distance
matrix,…).
- 2. A summary file with additional info (likelihood, SBL,…).
, Some analyses produce additional output (bootstrap consensus tree).
输出的文件夹和文件名称
- 1:默认和输入文件在同一个文件夹
- 2:如果要改变文件夹或者文件名称,那么用-o 选项。
- 3: If no output filename is specified, MEGA-CC will assign a unique name.
错误和警告:
如果MEGA-CC产生了错误或者警告信息。那么会出现在summary file文件中。
3.4 运行MEGA-CC
用命令行运行非常简单。
M6CC.exe -a options.mao -d alignment.meg -o outFile
也可以用一些脚本程序来运行,比如Perl,Python。 这里我们用exec发现会出问题,所以这里改成用system来进行调用。
#exec('M6CC.exe -a options.mao -d alignment.meg -o outFile'); system ('M6CC.exe -a options.mao -d alignment.meg -o outFile');
MEGA-CC附带完善的文件迭代系统,来处理多个文件,而不用脚本来帮忙。 具体可以参考下面第二个实例。
其他的应用也可以调用MEGA-CC:
status = CreateProcess("M6CC.exe...");
如果要查看更多的命令选项,那么从命令行中调用M6CC.exe -h
3.5 MEGA-Proto (分析模版)
MEGA-Proto有以下特点:
- 第一:和图形界面版本一样的外观
- 第二:生成MEGA分析所需要的选项文件
- 第三:没有计算能力,只是一个模拟的过程
双击打开MEGA-Proto以后,图形界面会引导你进行一下步骤。
第一步:选择序列类型。 包含四种类型。
Nucleotide (non-coding) Nucleotide (coding) Protein (amino-acid) Distance matrix (MEGA format)
第二步:从上面的菜单中选择一项分析过程。
第三步:调整分析的参数设置。
第四步:保存你设置好的MEGA分析的选项到一个文件。
3.6 Demo1:实例1
本实例展现了如何用MEGA-Proto 和MEGA-CC来完成 “Maximum Likelihood phylogeny reconstruction”。
- 第0步:准备文件。
为了能够正确的完成这个实例,你需要确认你有了M6CC.exe, 以及M6Proto.exe这两个程序(我们上面下载的就是)。 实例所需要的文件就是我们上面解压得到的。
- 第1步:双击或者右键打开MEGA-Proto.exe。
- 第2步:选择输入的数据类型。这里我们用的是默认设置。Nucleotide (non-coding)。
- 第3步:在菜单栏中选择:Phylogeny => Construct/Test Maximum Likelihood Tree
- 第4步:调整参数,然后点击“Save Settings”。把文件“mlDemo.mao”保存在当前文件夹。
- 第5步:打开一个命令行界面。也就是win+R,cmd。然后用cd命令切换到M6CC.exe所在的文件夹。
- 第6步:用M6CC.exe执行程序来分析文件。
M6CC.exe -a mlDemo.mao -d Examples\Crab_rRNA.meg -o demoResults
- 第7步:程序开始执行。会有进度的显示。执行完成以后退出。
- 最后 :分析得到3个输出文件。
* demoResult.nwk 这个文件是用我们给定的设置参数得到的Maximum Likelihood 树。 * demoResult_consensus.nwk 这个文件是Mega 从所有的bootstrap sample trees中得到的bootstrap consensus树。 * demoResult_summary.txt 这个文件给出了分析数据:比如log likelihood value of the Maximum Likelihood tree,ts/tv ratio etc...
3.7 Demo2: 实例2
下面这个例子展示了,如何用MEGA-CC中的文件迭代系统, 用同一个配置文件(也就是MEGA-Proto得到的文件)来处理多个输入文件。
第0步:启动
这个就是第一个Demo1中的前5个过程,如果还搞不定的话,自己去复习。
第1步:新建一个文件,命名为 demo2Data.txt。这里面包含我们要处理的多个文件。 一行是一个文件。 在这个文件中,有两个文件“Grab_rRNA.meg” 和“Drosophila_Adh.meg”。 文件添加完全的路径。大致是下面的样子。
D:\M6CC\Examples\Crab_rRNA.meg D:\M6CC\Examples\Drosophila_Adh.meg
第2步:然后在命令行中用如下命令调用MEGA-CC:
M6CC.exe -a mlDemo.mao -d demo2Data.txt
上面的命令行没有指定输出的文件夹,以及文件名称。不过不用担心。 所有的结果都会根据你的文件名来命名,并且输出到“M6CC_Out”文件夹中。
第3步:然后分析会启动。一个个的处理文件。处理的进度会显示在命令行界面中。
最后 :分析程序会对每一个输入文件产生一个输出结果。 在这个例子中,相同的分析配置文件用在每一个文件中。
3.8 自我实例
下面是一个用Perl调用的小脚本:
use strict; use warnings; my @files = glob "*.fasta"; foreach my $file (@files) { system ("M6CC.exe -a huashu.mao -d $file -o $file.out"); }
使用的huashu.mao都在github上。
同时我们也可以用MEGA-cc自带的多文件处理功能。 Perl脚本用来提取所有需要处理文件的文件名到file.txt,这个文件名要包含完全的路径。
use strict; use warnings; my $out_out = "file.txt"; open my $out, '>', $out_out or die "Fail open $out_out\n"; my @files = glob "*.fasta"; foreach my $file (@files) { print $out "D:\\Less_less_region\\$file\n"; } close $out;
然后用上面的多个文件处理的方法:
M6CC.exe -a huashu.mao -d file.txt
但是用上面的方法来处理文件的时候,只有一半的文件被处理,基本上是处理一个,跳过一个。 不知道是什么原因。解决办法是:在上面的输出文件名称到file.txt的时候, 每一个文件都输出两遍。仅仅是一种解决方案,没有找到真正原因。
use strict; use warnings; my $out_out = "file.txt"; open my $out, '>', $out_out or die "Fail open $out_out\n"; my @files = glob "*.fasta"; foreach my $file (@files) { print $out "D:\\Less_less_region\\$file\n"; print $out "D:\\Less_less_region\\$file\n"; } close $out;
4 mao 文件简单解析
mao文件是我们用M6Proto.exe通过模拟分析得到的一个参数列表。 但是他的本质就是一个文本文件。我们可以用文本编辑器打开。
; Please do not edit this file! If this file is modified, results are unpredictable. ; Instead of modifying this file, simply create a new MEGA Analysis Options file by using the MEGA Prototyper. [ MEGAinfo ] ver=0 [ DataSettings ] datatype=snNucleotide containsCodingNuc=False missingBaseSymbol=? identicalBaseSymbol=. gapSymbol=- [ ProcessTypes ] ppInfer=true ppNJ=true [ AnalysisSettings ] Analysis=Phylogeny Reconstruction Scope=All Selected Taxa Statistical Method=Neighbor-joining Phylogeny Test===================== Test of Phylogeny=Bootstrap method No. of Bootstrap Replications=500 Substitution Model===================== Substitutions Type=Nucleotide Model/Method=p-distance Substitutions to Include=d: Transitions + Transversions Rates and Patterns===================== Rates among Sites=Uniform rates Gamma Parameter=Not Applicable Pattern among Lineages=Same (Homogeneous) Data Subset to Use===================== Gaps/Missing Data Treatment=Pairwise deletion Site Coverage Cutoff (%)=Not Applicable
虽然文件的第一行,不让我们修改,但是我们仔细看一下每一行的意思以后。 完全可以进行小的改动。这样就不必要每一个小的改动,都去使用M6Proto.exe 这个程序。
比如,上面有一行 No. of Bootstrap Replications=500。 这个我们非常容易理解,就是设置Bootstrap的次数,如果你想改成1000,那就直接从mao文件 中修改吧。
5 在Linux下如何使用
官方的说法是现在只支持windows系统,暂时还不支持Mac和Linux。 Mega只能用最大4G的内存。
MEGA CC is developed for use on Microsoft Windows operating systems, including XP, Vista, Windows 7, and Windows 8. The version is limited to 32-bit execution, but should run fine on 64-bit systems. 32-bit limitations will still apply ex. MEGA can only use max 4gb of memory. At this time Mac and Linux are not supported.