A robust implementation of stochastic heuristics for large phylogeny inference

Download MetaPIGA

Versatile and easy to use

MetaPIGA is a simple-to-use phylogeny inference program that provides great performance and flexibility. It allows analyses of binary, nucleotide, protein, and codon data sets.

For all types of users

Start your analysis in just a few mouse clicks. Save your parameters for future analyses. Run MetaPIGA batch files directly on your machine or on distant servers using the console mode.

GPU and multicore support

Accelerate your analysis over multiple processing cores or with CUDA(tm) compatible Nvidia graphics cards.

MetaPIGA (by Đorđe Grbić, Raphaël Helaers, & Michel C. Milinkovitch) is a robust implementation of several stochastic heuristics for large phylogeny inference (under maximum likelihood). It includes a random-restart hill climbing, a simulated annealing algorithm, a classical genetic algorithm, and the metapopulation genetic algorithm (metaGA). MetaPIGA allows the use of morphological (presence/absence) and molecular (DNA, Proteins) data. It uses standard formats for data sets and trees. Molecular data can be analyzed with complex substitution models (nucleotides, codons, and amino-acids), discrete Gamma rate heterogeneity, and data partition.

The software MetaPIGA also implements:

  • Simple quality control (testing for the presence of identical sequences as well as of excessively ambiguous or excessively divergent sequences);
  • Automated trimming of poorly aligned regions using the trimAl algorithm;
  • The Likelihood Ratio Test, the Akaike Information Criterion, and the Bayesian Information Criterion methods for the easy selection of nucleotide and amino-acid substitution models that best fit the data;
  • Ancestral-state reconstruction of all nodes in the tree.


  • Data analysis with codon models (GY and the Empirical Codon Model);
  • Likelihood computation on graphics cards (reducing run time by a factor of 10 to 20);
  • Grid accelerated analysis;
  • Ancestral-state reconstruction using empirical Bayesian inference;
  • Many bugs fixed (see changelog)

MetaPIGA provides high customization of heuristics' and models' parameters, manual batch file and command line processing. However, it also offers an extensive and ergonomic graphical user interface and functionalities assisting the user for dataset quality testing, parameters setting, generating and running batch files, following run progress, and manipulating result trees.

MetaPIGA is platform independent, runs in 32- and 64-bits systems, and takes advantage of multiprocessor and/or multicore computers. The software can also be run on CUDA(tm) compatible Nvidia graphics cards for accelerated analysis (click HERE to verify if your graphics card is compatible).

Citing MetaPIGA

MetaPIGA v2.0: maximum likelihood large phylogeny estimation using the metapopulation genetic algorithm and other stochastic heuristics
Raphaël Helaers & Michel C. Milinkovitch
BMC Bioinformatics 2010, 11:379


Please, don’t hesitate to provide feed back (to Đorđe Grbić or Michel Milinkovitch) on potential bugs as well as suggestions for improving the software. Troubleshooting is provided below. The MetaPIGA manual is available here.

Launching When launching, MetaPIGA checks for the availability of updates (unless you have used the argument [noupdate] in command line). If you are connected to the internet, and there is no update to download, MetaPIGA will simply proceed with launching. If there is an update available, MetaPIGA will always request your authorization to perform that update. If you are not connected to the internet when launching the software, MetaPIGA will launch without checking for updates. If you are connected to the internet BUT a firewall prevents MetaPIGA to check for updates, an error message appears. Simply hit the ‘OK’ button to proceed with launching of MetaPIGA (without checking for updates).

Recovering results if a crash occurs A ‘Results.nex’ file is written to the Results directory (see end of section 3.5.6., page 24 of the manual) when the search is completed. On the other hand, the ‘ConsensusTree.tre’ file is automatically updated in the run directory during the search. Hence, if a crash occurs, for example after a significant running time involving a great number of replicates, the ‘ConsensusTree.tre’ file (summarizing all replicates that accumulated before the crash) can be loaded and visualized in metaPIGA after restarting. As the name of the tree includes the number of replicates, you will know when the crash occurred. The consensus tree file is in Newick format and it can also be loaded in tree viewing softwares such as FigTree or TreeView.

Others When negative eigenvalues are encountered under GTR, an error message is generated and the search crashes. Too dissimilar sequences (>0.75 for DNA sequences, >0.95 for Protein sequences, and > 0.5 for standard binary data) can cause an error when computing distance matrices. The data quality control button (i.e., 'scissor' button) and the 'check for saturation' function in the 'Dataset' menu allow avoiding that problem.

Java error at launch The Java 1.6 Virtual Machine (VM) must be installed on your computer for running MetaPIGA. If you only have earlier Java version(s) installed, your computer will complain, e.g., with an error like that shown in Fig. 29 of the manual. The Java 1.6 VM can be installed for Windows and Linux at JAVA online.
For Mac OS X, simply run the ‘Software Update’ feature available on the ‘Apple menu’. To check on your Mac if Java 6 is installed and active, simply launch the terminal, type ‘java-version’, and press ENTER. Make sure that Java 6 (or later) is installed, it is denoted as 'java 1.6'. You DON’T need to remove earlier Java versions (that might be required for older softwares). Note that if your Mac OS is older than 10.5, it will not support Java 1.6, hence, you will not be able to run MetaPIGA. Memory issues. If MetaPIGA crashes at launch, it can also be due to a lack of memory. Try closing other applications, or change the maximum amount of memory allocated to MetaPIGA : in the file ‘MetaPIGA.vmoptions’ , set the Xmx value (and not the Xms value) to a lower value (expressed in megabytes; this value must be a multiple of 256). Note however that, to avoid problems, we made the installer allocate to MetaPIGA half of the memory available on your running machine (with a maximum of 1024Mb). This should insure MetaPIGA to launch properly, even if other programs are running. Once MetaPIGA has launched, the ‘memory settings’ (in the ‘Tools’ menu) allows changing the amount of memory allocated to MetaPIGA. The maximum value available in ‘memory settings’ is 1536 Mb on a 32-bit system (i.e., the maximum allowed by java on such a system), even if the computer is equipped with more than 2Go of RAM. On the other hand, the maximum value available on a 64-bit system can be much higher than 1536 Mb but is constrained to the amount of memory available on that machine minus 512Mb. If you still have errors like 'Invalid initial heap size' after changing the vmoptions file, you can try launching MetaPIGA without the executable, using this command in the MetaPIGA directory (from a terminal) :
java -jar -Xms128m -Xmx1024m 'MetaPIGA.jar'
Change the Xmx value to the amount of memory you want to assign to MetaPIGA. If you want to launch it on a Linux computer without GUI, add the following arguments :
java -jar -Xms128m -Xmx1024m 'MetaPIGA.jar' noupdate nogui 'yourinputfile.nex'