read_recphyloxml_big/
read_recphyloxml_big.rs

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