read_recphyloxml_width_height/
read_recphyloxml_width_height.rs

1// Display a reconciled tree form recPhyloXML format
2
3use light_phylogeny::{
4    phyloxml_processing, read_recphyloxml_multi, recphyloxml_processing, ArenaTree, Config, Options,
5};
6
7fn main() {
8    let transfers = vec![];
9    let mut options: Options = Options::new();
10    let config: Config = Config::new();
11    // Version de base
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/FAM000715_reconciliated_2genes.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.svg".to_string(),
29    );
30    println!("Please open output file 'read_recphyloxml.svg' with your browser");
31
32    // Version height
33    options.height = 3.0;
34    let mut sp_tree: ArenaTree<String> = ArenaTree::default();
35    let mut gene_trees: std::vec::Vec<ArenaTree<String>> = Vec::new();
36    let mut global_roots: std::vec::Vec<usize> = Vec::new();
37    read_recphyloxml_multi(
38        "examples/FAM000715_reconciliated_2genes.recphylo".to_string(),
39        &mut sp_tree,
40        &mut gene_trees,
41        &mut global_roots,
42    );
43    recphyloxml_processing(
44        &mut sp_tree,
45        &mut gene_trees,
46        &mut options,
47        &config,
48        true,
49        &transfers,
50        "read_recphyloxml_height.svg".to_string(),
51    );
52    println!("Please open output file 'read_recphyloxml_height.svg' with your browser");
53
54    // Version width
55    options.height = 1.0;
56    options.width = 3.0;
57    let mut sp_tree: ArenaTree<String> = ArenaTree::default();
58    let mut gene_trees: std::vec::Vec<ArenaTree<String>> = Vec::new();
59    let mut global_roots: std::vec::Vec<usize> = Vec::new();
60    read_recphyloxml_multi(
61        "examples/FAM000715_reconciliated_2genes.recphylo".to_string(),
62        &mut sp_tree,
63        &mut gene_trees,
64        &mut global_roots,
65    );
66    recphyloxml_processing(
67        &mut sp_tree,
68        &mut gene_trees,
69        &mut options,
70        &config,
71        true,
72        &transfers,
73        "read_recphyloxml_width.svg".to_string(),
74    );
75    println!("Please open output file 'read_recphyloxml_width.svg' with your browser");
76
77    // Version width phyloxml
78    options.width = 1.0;
79    let mut sp_tree: ArenaTree<String> = ArenaTree::default();
80    let mut gene_trees: std::vec::Vec<ArenaTree<String>> = Vec::new();
81    let mut global_roots: std::vec::Vec<usize> = Vec::new();
82    read_recphyloxml_multi(
83        "examples/FAM000715_reconciliated_2genes.recphylo".to_string(),
84        &mut sp_tree,
85        &mut gene_trees,
86        &mut global_roots,
87    );
88    phyloxml_processing(
89        &mut gene_trees[0],
90        &mut options,
91        &config,
92        "read_phyloxml.svg".to_string(),
93    );
94    println!("Please open output file 'read_phyloxml.svg' with your browser");
95
96    // Version width phyloxml and height
97    options.height = 3.0;
98    let mut sp_tree: ArenaTree<String> = ArenaTree::default();
99    let mut gene_trees: std::vec::Vec<ArenaTree<String>> = Vec::new();
100    let mut global_roots: std::vec::Vec<usize> = Vec::new();
101    read_recphyloxml_multi(
102        "examples/FAM000715_reconciliated_2genes.recphylo".to_string(),
103        &mut sp_tree,
104        &mut gene_trees,
105        &mut global_roots,
106    );
107    phyloxml_processing(
108        &mut gene_trees[0],
109        &mut options,
110        &config,
111        "read_phyloxml_height.svg".to_string(),
112    );
113    println!("Please open output file 'read_phyloxml_height.svg' with your browser");
114
115    // Version width phyloxml and with
116    options.height = 1.0;
117    options.width = 3.0;
118    let mut sp_tree: ArenaTree<String> = ArenaTree::default();
119    let mut gene_trees: std::vec::Vec<ArenaTree<String>> = Vec::new();
120    let mut global_roots: std::vec::Vec<usize> = Vec::new();
121    read_recphyloxml_multi(
122        "examples/FAM000715_reconciliated_2genes.recphylo".to_string(),
123        &mut sp_tree,
124        &mut gene_trees,
125        &mut global_roots,
126    );
127    phyloxml_processing(
128        &mut gene_trees[0],
129        &mut options,
130        &config,
131        "read_phyloxml_width.svg".to_string(),
132    );
133    println!("Please open output file 'read_phyloxml_width.svg' with your browser");
134}