POInT (Polyploidy Orthology Inference Tool) Documentation

Table of contents



Revision History:

DateVersion#Changes
7/3/2020 1.5 Adds pre-processing programs and the POInT simulation package.
8/20/2021 1.51 Adds a new post-processing script for finding optimal orthology assignments, as well as new features for producing gene trees for all pillars as well as for estimating confidence in branch length values.
9/15/2021 1.52 Updates to the command line arguments for computing branch length confidence estimates
11/19/2021 1.53 Minor bug fixes
3/24/2022 1.54 Updates to the documentation and inclusion of code to generate the POInT_browse and POInT_download CGI applications.
3/24/2022 1.55Identical to 1.54 except in the structure of the GitHub repository
1/19/2023 1.6 Incorporates version listing into POInT in command line help and output files.


Obtaining POInT

The current release of POInT is avaliable from:

POInT Installation

    See the INSTALL file included with POInT for installation instructions. Note that use of the parallel OpenMP version is highly recommended for large datasets.

Dependancies:

POInT uses the lapack numerical linear algebra routines to compute transition probability matrices. The POInT distribution includes a copy of the necessary routines and the f2c package that links them to c and c++ executables. However, the configure.pl script will first search your system for installed copies of these libraries and use them in preference to the included copies if they exist. See the INSTALL document for details.

The illustration capabilities of POInT depend on the GNU plotutils package. If you want to compile POInT with this capability, first install plotutils and use ./configure.pl -p:[PATH TO libplot] when configuring POInT compilation.

The simulation and data assembly programs use random number generation, provided by the ranlib library.

POInT_merge.pl requires the BioPerl GFF library (Bio::Tools::GFF).

The CGI programs for the POInT browser also require the boost and cgicc libraries.

Citing POInT

Conant, G. C. and K. H. Wolfe. (2008) Probabilistic cross-species inference of orthologous genomic regions created by whole-genome duplication in yeast, Genetics 179: 1681-1692.

Emery, M., M. M. S. Willis, Y. Hao, K. Barry, K. Oakgrove, Y. Peng, J. Schmutz, E. Lyons, J. C. Pires, P. P. Edger, and G. C. Conant. 2018. Preferential retention of genes from one parental genome after polyploidy illustrates the nature and scope of the genomic conflicts induced by hybridization. PLoS Genetics 14: e1007267.



Running POInT:

A basic POInT run requires a minimum of three types of files and a specification of the polyploidy type: Additionally, it is very useful to specify an assumed phylogenetic topology: if no tree file is given, POInT will try to search all possible topologies, which will be intractable for datasets larger than 5 or 6 genomes.

An example POInT analysis

Our website hosts examples for each type of file. For instance, one possible run can be done with:
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Brachypodium_distachyon_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Oropetium_thomaeum_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Setaria_italica_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Sorghum_bicolor_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Grass_rho_OptOrder.txt
% wget http://conantlab.org/data/POInT_datasets/Models/WGD_bias_fix_model.txt
% POInT -d:2 -g:Brachypodium_distachyon_POInT_geneorders.txt -g:Oropetium_thomaeum_POInT_geneorders.txt -g:Setaria_italica_POInT_geneorders.txt -g:Sorghum_bicolor_POInT_geneorders.txt -o:Grass_rho_OptOrder.txt  -m:WGD_bias_fix_model.txt 


This command will perform a global search for the optimal topology among these 4 genomes and save that topology as searchWGXexhaust_Grass_rho_OptOrder.txt0.tre.

POInT options are:

Option

 

Description

Example

Default

-d: Duplication/Polyploidy level -d:2 None/Required
-g: Extant genome file -g:Brachypodium_distachyon_POInT_geneorders.txt None/Required
-o: File of double-conserved synteny blocks in ancestral order -o:Grass_rho_OptOrder.txt None/Required
-m: Model file -m:WGD_bias_fix_model.txt None/Required
-t: Assumed phylogenetic topology, Nexis format -t:Grass_rho_OptTopo.tre None/Optional
-r: Seperate root-branch model file -r:WGD_root_model.txt None/Optional
-p: File to save orthology predictions/posterior probabilities to -p:Grass_rho_OptTopo_WGD_bias_fix_post_probs.txt None/Optional
-c: File to save model state conditional probabilities to -c:Grass_rho_OptTopo_WGD_bias_fix_cond_probs.txt None/Optional
-noopt Do not perform likelihood optimization--will use parameter estimates from the model file and branch lengths from the tree file without numerical likelihood maximization. Useful for computing posterior probabilites, diagrams etc from previously optimized trees and models. -noopt None/Optional
-i:# Draw tracking diagrams with # pillars per diagram (requires installation with Gnu PlotUtils, see INSTALL) -i:50 None/Optional
-zerolengthfixed Treat all zero length branches in the phylogeny as fixed at length=0 -zerolengthfixed None/Optional
-x:# Number of topologies to save from exhaustive tree searching (ignored if a topology is given) -x:2 -s:1/Optional
-s:#:# Starting and ending tree for exhaustive tree search. The exhaustive tree searcher will only search topologies in this range--allows for starting multiple exhaustive searchers covering different topologies in parallel. -s:2:5 None/Optional
-estBrnCI Numerically compute the second derivative of the likelihood with respect to each branch length to estimate standard errors for those lengths -estBrnCI None/Optional
-H Will save all possible optimal gene trees to the current directory (e.g., using POInT's orthology inferences to generate gene trees) -H None/Optional
-h Will save gene trees only for single copy genes to the current directory (e.g., using POInT's orthology inferences to generate gene trees) -h None/Optional
-q Will save all genes in all genomes with bi-directional syntenic neighbors to the provided file -q:AtAlpha_Genes_DoubleSyn.txt None/Optional

 
 

Running the POInT helper programs

POInT_genome_scaffold

POInT_genome_scaffold compares homologs from a polyploid genome and a non-polyploid relative and places the polyploid homologs into blocks of NCS (N-fold conserved synteny). This is the first step to inferring the synteny data for a POInT analysis. A specification of the polyploidy type and three types of file are required:

An example POInT_genome_scaffold analysis

Our website hosts examples for each type of file. For instance, one possible run can be done with:
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Oropetium_thomaeum_geneorder.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Oropetium_thomaeum_tandems.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Ananas_comosus_to_Oropetium_thomaeum_geneorder.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Ananas_comosus_to_Oropetium_thomaeum_tandems.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Ananas_comosus_Oropetium_thomaeum_homolog_pairs.txt
%POInT_genome_scaffold -d:2 -g:Oropetium_thomaeum_geneorder.txt -a:Ananas_comosus_to_Oropetium_thomaeum_geneorder.txt -t:Ananas_comosus_to_Oropetium_thomaeum_tandems.txt -u:Oropetium_thomaeum_tandems.txt -h:Ananas_comosus_Oropetium_thomaeum_homolog_pairs.txt -c:0.5 -r:3 -o:OThom_WGD_est_r20.txt

POInT_genome_scaffold options are:

Option

 

Description

Example

Default

-d: Duplication/Polyploidy level -d:2 2/Optional
-g: Polyploid genome gene order file -g:Oropetium_thomaeum_geneorder.txt None/Required
-a: Non-polyploid genome gene order file -a:Ananas_comosus_to_Oropetium_thomaeum_geneorder.txt None/Required
-t: Non-polyploid genome potential tandems file -t:Ananas_comosus_to_Oropetium_thomaeum_tandems.txt None/Required
-u: Polyploid genome potential tandems file -u:Oropetium_thomaeum_tandems.txt None/Required
-h: File with homologous genes from the polyploid genome for each non-polyploid genome gene -h:Ananas_comosus_Oropetium_thomaeum_homolog_pairs.txt None/Required
-c: Maximum divergence between homolog pairs -c:0.5 0.5/Optional
-r: Relaxation time (controls running time: larger values=longer runs) -r:20 200/Optional
-b: Boltzmann constant (controls degree of imperfect moves tolerated: larger values give slower convergence) -b:0.0001 0.002/Optional
-o: Output file -o:OThom_WGD_est_r20.txt None/Required

 

POInT_ances_order

POInT_ances_order takes a set of genomes and their included gene orders, as well as a set of "pillars," namely NCS blocks merged across those genomes, and seeks a new order of those pillars with fewer synteny breaks. A specification of the polyploidy type and two types of file are required:

An example POInT_ances_order analysis

Our website hosts examples for each type of file. For instance, one possible run can be done with:
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Brachypodium_distachyon_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Oropetium_thomaeum_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Setaria_italica_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Sorghum_bicolor_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Grass_rho_OptOrder.txt
% POInT_ances_order -d:2 -g:Brachypodium_distachyon_POInT_geneorders.txt -g:Oropetium_thomaeum_POInT_geneorders.txt -g:Setaria_italica_POInT_geneorders.txt -g:Sorghum_bicolor_POInT_geneorders.txt -o:Grass_rho_OptOrder.txt -n:Grass_rho_Opt2.txt -m:1 -r:50

POInT_ances_order options are:

Option

 

Description

Example

Default

-d: Duplication/Polyploidy level -d:2 None/Required
-g: Extant genome file <-g:Brachypodium_distachyon_POInT_geneorders.txt None/Required
-o: "Pillar" file of N-fold-conserved synteny blocks in ancestral order -o:Grass_rho_OptOrder.txt None/Required
-n: New "Pillar" file -n:Grass_rho_Opt2.txt None/Required
-r: Relaxation time (controls running time: larger values=longer runs) -r:20 200/Optional
-b: Boltzmann constant (controls degree of imperfect moves tolerated: larger values give slower convergence) -b:0.0001 0.005/Optional
-m: Maximum breaks for a fixed block. The program will not attempt to reorder blocks of pillars with m or fewer synteny breaks. Allows the user to control the order search: larger m gives a "coarser" optimization that may give a faster convergence to a globally optimal order, with later runs refining this order. -m:0 0/Optional
-infer_init_order Uses an initial greedy search to pick a good starting search order. Generally only useful for the initial run of the program -infer_init_order None/Optional
-usepositionscore Minimizes the number of full synteny breaks across the full set of genomes rather than the total number of breaks -usepositionscore None/Optional

 

POInT_simulate

POInT_simulate simulates a new polyploidy using an existing set of genomes, pillars, phylogeny and set of model parameters. It useful for problems such as testing whether the length of a branch in the POInT inferred topologies is significantly non-zero. It requires four types of file and a specification of the polyploidy type: Note that the simulation will use the values of the model parameters in the model file as the basis of the simulation.

An example POInT_simulate simulation

Our website hosts examples for each type of file. For instance, one possible run can be done with:
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Brachypodium_distachyon_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Oropetium_thomaeum_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Setaria_italica_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Sorghum_bicolor_POInT_geneorders.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Grass_rho_OptOrder.txt
% wget http://conantlab.org/data/POInT_datasets/Grass_rho/Grass_rho_OptTopo.tre
% wget http://conantlab.org/data/POInT_datasets/Models/WGD_bias_fix_model.txt
% POInT_simulate -g:Brachypodium_distachyon_POInT_geneorders.txt -g:Oropetium_thomaeum_POInT_geneorders.txt -g:Setaria_italica_POInT_geneorders.txt -g:Sorghum_bicolor_POInT_geneorders.txt -o:Grass_rho_OptOrder.txt -m:WGD_bias_fix_model.txt -t:Grass_rho_OptTopo.tre -x:Sim_Genomes -w:SimPillarfile.txt

POInT_simulate options are:

Option

 

Description

Example

Default

-d: Duplication/Polyploidy level -d:2 None/Required
-g: Extant genome file <-g:Brachypodium_distachyon_POInT_geneorders.txt None/Required
-o: File of double-conserved synteny blocks in ancestral order -o:Grass_rho_OptOrder.txt None/Required
-m: Model file -m:WGD_bias_fix_model.txt None/Required
-t: Assumed phylogenetic topology, Nexis format -t:Grass_rho_OptTopo.tre None/Required
-x: Prefix name for the simulated genomes, which will be numerically named in order from 0 -x:Sim_Genomes None/Required
-w: Name for the output simulated pillar file -w:SimPillarfile.txt None/Required


POInT_merge.pl

POInT_merge.pl is a rough perl script that merges the output of the runs of POInT_genome_scaffold from several polyploid genomes into a single pillar file, suitable for optimization with POInT_ances_order. It requires a GFF file describing the gene locations of the genes in the non-polyploid genome used as a reference for all of the POInT_genome_scaffold runs as well as the BioPerl GFF library. Two files are required:

An example POInT_merge.pl analysis

Our website hosts examples for each type of file. For instance, one possible run can be done with:
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Oropetium_thomaeum_geneorder.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Brachypodium_distachyon_geneorder.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Setaria_italica_geneorder.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Sorghum_bicolor_rerun_geneorder.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/AC_BD_WGD_c5_n8_r200_b0001.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/AC_OT_WGD_c6_n8_r200_b0001.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/AC_SB_WGD_c5_n8_b0001_r200.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/AC_SI_WGD_c5_n8_r200_b0001.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/fourspp_out_runs.txt
% wget http://conantlab.org/data/POInT_datasets/POInT_genome_scaffold/Ananas_comosus_pineapple_annos1-cds0-id_typename-nu1-upa1-add_chr0.gid25735.gff.html
% POInT_merge.pl fourspp_out_runs.txt Ananas_comosus_pineapple_annos1-cds0-id_typename-nu1-upa1-add_chr0.gid25735.gff.html FourSpp_initial_pillars.txt

POInT_merge.pl options are:

Option

 

Description

Example

Default

First argument File of genome names, optimal scaffolds, and orders fourspp_out_runs.txt None/Required
Second argument GFF file for the non-polyploid outgroup Ananas_comosus_pineapple_annos1-cds0-id_typename-nu1-upa1-add_chr0.gid25735.gff.html None/Required
Third argument Output pillar file FourSpp_initial_pillars.txt None/Required
-d: Duplication/Polyploidy level -d:2 2/Optional
-s: Number of non-syntenic homologs to tolerate in a pillar. (Allows up to s genes to be homeologs with no synteny. Depreciated) -s:2 0/Optional


POInT_extract_orthos.pl.pl

POInT_extract_orthos.pl extracts the mostly likely set of orthology relationships for each pillar in a POInT analysis. The "-p" option in POInT produces a posterior probability file, which gives the probability of all possible orthology relationships, and this script parses these probabilities to find that with the largest probability. The associated orthology assignments are printed to a new output file, which gives the pillar number, the probability of the orthology assignments given (out of all possible assignments) and the genes assigned to each subgenome (which are in turn defined by the POInT model used). In the case of genome triplications or quadruplications, there is degeneracy possible whenever two or more copies at a pillar have been lost from a single genome (because presumably we don't care which subgenome the "holes" in the orthology are assigned to). This degeneracy is accounted for by the script. Two arguments are required:

An example POInT_extract_orthos.pl analysis

% wget http://conantlab.org/data/TGD/WGDfix_bias_nbcon_CL_T4_PreDBS8Opt1_postprobs.txt
% POInT_extract_orthos.pl WGDfix_bias_nbcon_CL_T4_PreDBS8Opt1_postprobs.txt TGD_bestorthos.txt 


The POInTbrowser

A browsable interface to all of the published POInT datasets is online at wgd.statgen.ncsu.edu. Batch downloads of CDS regions and gene trees, as well as visualization of syntenic regions for 11 polyploidy events is supported. Full POInT datasets are also avalaible for download from the browser.

Notes and Tips:


Coming soon.