1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
// Display a reconciled tree form recPhyloXML format
use light_phylogeny::{ArenaTree,Options,Config,read_recphyloxml_multi,recphyloxml_processing};
fn main() {
let transfers = vec![];
let mut options: Options = Options::new();
let mut config: Config = Config::new();
options.height = 2.0;
options.ratio = 1.5;
// Version portrait
let mut sp_tree: ArenaTree<String> = ArenaTree::default();
let mut gene_trees:std::vec::Vec<ArenaTree<String>> = Vec::new();
let mut global_roots: std::vec::Vec<usize> = Vec::new();
read_recphyloxml_multi("examples/gene_tree_HBG011000.newick_recs.recphylo".to_string(),
&mut sp_tree, &mut gene_trees, &mut global_roots);
recphyloxml_processing(&mut sp_tree, &mut gene_trees, &mut options, &config, true,
&transfers, "read_recphyloxml_portrait.svg".to_string());
println!("Please open output file 'read_recphyloxml_portrait.svg' with your browser");
// Version paysage
let mut sp_tree: ArenaTree<String> = ArenaTree::default();
let mut gene_trees:std::vec::Vec<ArenaTree<String>> = Vec::new();
let mut global_roots: std::vec::Vec<usize> = Vec::new();
read_recphyloxml_multi("examples/gene_tree_HBG011000.newick_recs.recphylo".to_string(),
&mut sp_tree, &mut gene_trees, &mut global_roots);
options.rotate = false;
config.species_opacity = "0.3".to_string();
config.gene_opacity = "0.6".to_string();
recphyloxml_processing(&mut sp_tree, &mut gene_trees, &mut options, &config, true,
&transfers, "read_recphyloxml_landscape.svg".to_string());
println!("Please open output file 'read_recphyloxml_landscape.svg' with your browser");
// // Version real_branch
//
// let transfers = vec![];
// // Version pour avec loption uniform etreal length
// let mut options: Options = Options::new();
// options.uniform = true;
// options.real_length_flag = true;
//
// let mut sp_tree: ArenaTree<String> = ArenaTree::default();
// let mut gene_trees:std::vec::Vec<ArenaTree<String>> = Vec::new();
// let mut global_roots: std::vec::Vec<usize> = Vec::new();
// read_recphyloxml_multi("examples/gene_tree_HBG011000.newick_recs.recphylo".to_string(),
// &mut sp_tree, &mut gene_trees, &mut global_roots);
// let _pipeblock = 15.0;
// let min_dist = sp_tree.get_smallest_l();
// // we want min_dist = _pipeblock
// if min_dist == 0.0 {
// panic!("There is branch distance equal to 0.0");
// }
//
// recphyloxml_processing(&mut sp_tree, &mut gene_trees, &mut options, &config, true,
// &transfers, "read_recphyloxml_real.svg".to_string());
// println!("Please open output file 'read_recphyloxml_real.svg' with your browser");
}