Description

Using Gibbs Sampling to test the hypothesis given a collection of gene trees.

The network must be specified in the Rich Newick FormatThe gene trees must be rooted.

The input gene trees can be gene tree distributions inferred from Bayesian methods like MrBayes.

Usage

ExploreHypothesis_GibbsSampling network_ident geneTreeList [-a taxaMap] [-cl chainLength] [-bl burnInLength] [-sf sampleFrequency] [-pt pruningThreshold] [-mb maBranchLength] [-psd] [-pl numberOfThreads] [-di] [resultOutputFile]

network_ident

The name of the network. See details.

mandatory

geneTreeList

Comma delimited list of gene tree identifiers or comma delimited list of sets of gene tree identifiers. See details.

mandatory

-a taxaMap

Gene tree / species tree taxa association.

optional

-cl chainLengthThe length of the Gibbs Sampling. The default value is 11,000.optional
-bl burnInLengthThe number of iterations in burn-in period. The default value is 1,000.optional
-sf sampleFrequencyThe sample frequency. The default value is 100.optimal

-pt pruningThreshold

The threshold of inheritance probabilities for pruning the reticulation edges in sampled networks. The default value is 0.01.

optional

-mb maxBranchLength

Maximum branch lengths used in Gibbs Sampling. The default value is 6.

optional

-psd 

Using pseudo-likelihood instead of full likelihood.

optional

-pl numberOfThreads

The number of threads used in the computation. The default value is 1.

optional

-di

Output the resulting networks in the format that can be read by Dendroscope .

optional

resultOutputFile

Optional file destination for command output.

optional

The method will output all the samples collected along with their posterior. At last, all the sampled networks will be pruned by removing reticulation edges whose inheritance probabilities are lower than a threshold. The default value of this threshold is 0.01. Users can change it through option -pt. 

By default, it is assumed that only one individual is sampled per species in gene trees. However, the option [-a taxaMap] allows multiple alleles to be sampled.

By default, the full likelihood is used in this method. If the dataset is out of the scope of full-likelihood computation, users can use pseudo-likelihood instead through option -psd.

If users want to run the computation in parallel. Please specify the number of processors through option -pl.

Note that when the program is running, you may see some outputs generated by a optimization library we are using. In order to ignore these, it is recommended to use the optional output file. 

Examples

#NEXUS

BEGIN NETWORKS;

Network net = ((A:2,((B:1,C:1):1)X#H1:0::0.3):1,(D:2,X#H1:0::0.7):1);

END;


BEGIN TREES;

Tree geneTree1 = (C,((B,D),A));
Tree geneTree2 = (B,(D,(C,A)));
Tree geneTree3 = (D,(B,(C,A)));

END;


BEGIN PHYLONET;

CalGTProb net (geneTree1,geneTree2,geneTree3);

END;
#NEXUS

BEGIN NETWORKS;

Network net = ((Sbay)#H1,((Smik,(Spar,Scer)),(#H1,Skud)));

END;


BEGIN TREES;

Tree gt0  = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt1  = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt2  = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt3  = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt4  = (((Scer,Spar),(Smik,Skud)),Sbay);
Tree gt5  = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt6  = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt7  = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt8  = (Scer,(Spar,(Smik,(Skud,Sbay))));
Tree gt9  = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt10 = (((Scer,Spar),Smik),Skud,Sbay);
Tree gt11 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt12 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt13 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt14 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt15 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt16 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt17 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt18 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt19 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt20 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt21 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt22 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt23 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt24 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt25 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt26 = ((((Scer,Spar),Smik),Sbay),Skud);
Tree gt27 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt28 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt29 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt30 = ((Scer,(Spar,(Skud,Sbay))),Smik);
Tree gt31 = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt32 = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt33 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt34 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt35 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt36 = ((((Scer,Spar),Skud),Smik),Sbay);
Tree gt37 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt38 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt39 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt40 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt41 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt42 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt43 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt44 = ((Scer,Spar),(Smik,(Skud,Sbay)));
Tree gt45 = ((((Scer,Spar),Smik),Sbay),Skud);
Tree gt46 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt47 = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt48 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt49 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt50 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt51 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt52 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt53 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt54 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt55 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt56 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt57 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt58 = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt59 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt60 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt61 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt62 = ((Scer,Spar),(Smik,(Skud,Sbay)));
Tree gt63 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt64 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt65 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt66 = (((Scer,Spar),(Smik,Skud)),Sbay);
Tree gt67 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt68 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt69 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt70 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt71 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt72 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt73 = (((Scer,Spar),Smik),(Skud,Sbay));
Tree gt74 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt75 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt76 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt77 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt78 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt79 = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt80 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt81 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt82 = (((Scer,Spar),(Skud,Sbay)),Smik);
Tree gt83 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt84 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt85 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt86 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt87 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt88 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt89 = ((((Scer,Spar),Smik),Skud),Sbay);
Tree gt90 = ((Scer,Spar),Smik,(Skud,Sbay));
Tree gt91 = (((Scer,Spar),Smik),Skud,Sbay);
Tree gt92 = (Scer,Spar,Smik,Skud,Sbay);
Tree gt93 = (((Scer,Spar),Smik,Skud),Sbay);
Tree gt94 = (Scer,Spar,Smik,(Skud,Sbay));
Tree gt95 = (((Scer,Spar),Skud,Sbay),Smik);
Tree gt96 = ((Scer,Spar),Smik,(Skud,Sbay));
Tree gt97 = (Scer,Spar,(Smik,(Skud,Sbay)));
Tree gt98 = (((Scer,Spar),Smik,Skud),Sbay);
Tree gt99 = ((Scer,Spar),Smik,(Skud,Sbay));
Tree gt100 = (Scer,Spar,Smik,(Skud,Sbay));
Tree gt101 = ((Scer,Spar),Smik,(Skud,Sbay));
Tree gt102 = ((Scer,Spar),Smik,Skud,Sbay);
Tree gt103 = ((Scer,Spar),Smik,Skud,Sbay);
Tree gt104 = (((Scer,Spar),Smik),Skud,Sbay);
Tree gt105 = ((Scer,Spar),Smik,Skud,Sbay);

END;


BEGIN PHYLONET;

ExploreHypothesis_GibbsSampling sn (gt0-gt105) gibbsSamplingOutput;

END;

Command References

  • Y. Yu, C. Jermaine, and L. Nakhleh. Exploring Phylogenetic Hypotheses via Gibbs Sampling on Evolutionary Networks. Under Review. 2016.

See Also

  • No labels