CHROnicle » PhyChro


PhyChro: phylogenetic reconstruction based on synteny block and gene adjacencies.


Gene order can be used as an informative character to reconstruct phylogenetic relationships between species independently from the local information present in gene/protein sequences.

PhyChro is a reconstruction method based on chromosomal rearrangements, applicable to a wide range of eukaryotic genomes with different gene contents and levels of synteny conservation. For each synteny breakpoint issued from pairwise genome comparisons, the algorithm denes two disjoint sets of genomes, named partial splits, respectively supporting the two block adjacencies defining the breakpoint.

Considering all partial splits issued from all pairwise comparisons, a distance between two genomes is computed from the number of partial splits separating them. Tree reconstruction is achieved through a bottom-up approach by iteratively grouping sister genomes minimizing genome distances. PhyChro estimates branch lengths based on the number of synteny breakpoints and provides condence scores for the branches.

PhyChro performance is evaluated on two datasets of 13 vertebrates and 21 yeast genomes by using up to 130 000 and 179 000 breakpoints respectively, a scale of genomic markers that has been out of reach until now. PhyChro reconstructs very accurate tree topologies even at known problematic branching positions. Its robustness has been benchmarked for diferent synteny block reconstruction methods.

PhyChro is very fast, reconstructing the vertebrate and yeast phylogenies in less than 15 min.


If it is not already installed, install the latest python2 version.

If it is the first time you use/download a CHROnicle program, you need to download the CHROnicle architecture, which contains toy examples as well as scripts that converts EMBL and GenBank files into the expected SynChro input format.

Second (or first, if you already have installed SynChro for instance), you need to download the PhyChro program and to copy the unzipped folder to your CHROnicle/Programs/ directory:

Please take a look at the README file for usage instructions.

Third (if it was not done already), you need to download the SynChro program too, if you want to reconstruct trees directly from EMBL/GenBank/Fasta files (see the SynChro' page). However, if you want to run PhyChro on different pairwise synteny blocks, notice that they have to be formatted into the expected format (look at the README file for details). Please take a look at the README file for usage instructions.

Quick start

Compute synteny blocks with SynChro. In the CHROnicle/Programs/1SynChro/ directory, type the following command:

python2 ./ Yeast 3 0

Look at the SynChro's webpage for details.

Reconstruct the phylogenetic tree with PhyChro. In the CHROnicle/Programs/2PhyChro/ directory, type the following command:

python2 ./ --cladeName Yeast --delta 3 --tree tree1 

It will recontruct the tree for all the genomes (the .def files) present in the CHROnicle/Yeast/01Genomes/ directory using the synteny blocks (the .orth.pairs and .orth.synt files) present in the CHROnicle/Yeast/11Blocks/Delta3/ directory.
To reconstruct only a sub-tree, add --whole_tree 'n' in the command line, where 'n' stands for no (a list of genomes will be requested).
If you want to change the gene_spacer, add --gene_spacer 'count', where 'count' stands for the number of genes. Look at the paper for a better explanation of this parameter. The resulting tree is written in CHROnicle/Yeast/20Trees/Delta3/tree1.outtree.

Reconstruct the phylogenetic tree with PhyML. Type the following command:

./ Yeast 3 80

It will recontruct the tree with PhyML, for all the genomes present in the CHROnicle/Yeast/01Genomes/ directory. To do so, it uses the synteny blocks present in the CHROnicle/Yeast/11Blocks/Delta3/ directory to identify families of syntenic homologs, with a average of similarity bigger than 80% (computed with the script, which are then align to be the input of PhyML. The results (gene families, alignments, concatenation file, PhyML's tree) are written in the CHROnicle/Yeast/12OrthFamilies/Delta3/ directory.


For questions, comments, or suggestions feel free to contact Guénola Drillon, Francesco OTERI, Gilles FISCHER or Alessandra CARBONE

Last Update February 2020