#svg #recphyloxml #phylogeny #phylogenetic-tree #tree-reconciliation

deprecated app rectree3

OBSOLETE: Pease see 'thirdkind' instead! (Read 2 recPhyloXML files and build a svg representation of 3 level reconciliation as gene/parasite/host.)

12 releases

0.5.3 Feb 22, 2024
0.5.2 Feb 22, 2024
0.5.1 Jun 24, 2021
0.4.0 Jun 18, 2021
0.1.0 Apr 20, 2021

#235 in #svg

CECILL-2.1

105KB
305 lines

rectree3

rectree3 at crates.io rectree3 at crates.io

OBSOLETE: Pease see 'thirdkind' instead!

https://github.com/simonpenel/thirdkind

Build a svg representation of a 3 level reconciliation, as gene/parasite/host

Still in development

Keywords: phylogeny, reconciled trees, phylogenetic trees

Format and input files:

Input format is recPhyloXML

The program needs 2 input files: one for the gene/parasite reconciliation, one for the parasite/host reconciliation.

Output examples

The program creates 7 output files, including 2 files displaying the 3 levels all together:

mapped_1.svg display the recnociled genes trees inside the "pipe" parasite tree. The "pipe" trees shows the duplications, losses and transfers reletive to the host in a similar way the transfers are displayed in simple phyloXML format.

https://raw.githubusercontent.com/simonpenel/rectree3/df6be6460cdacff21d06d72934828d0d1b422fe5/mapped_1.example.svg

mapped_2.svg display the reconciled parasite trees inside the "pipe" host tree. The transfers between genes are mapped to the parasite tree and displayed

https://raw.githubusercontent.com/simonpenel/rectree3/f609d9abc0819e0655b7b978dfc7eae2a23ea772/mapped_2.example.svg

Install:

rectree3 is written in Rust. The code is managed using Cargo and published on crates.io.

Install cargo:

curl https://sh.rustup.rs -sSf | sh

or for Windows see https://doc.rust-lang.org/cargo/getting-started/installation.html

Once Cargo is installed just open a terminal and type:

cargo install rectree3

You may as well install from the sources. Clone or download the sources here https://github.com/simonpenel/rectree2svg and type:

cargo build --release
target/release/rectree3 -h

Run the binary:

Usage:

rectree3 -f parasite host input file -g  gene parasite input file [-b][-c config file][-h][-i][-I][-L][-o output file][-r ratio][-v]
-b : open svg in browser
-c configfile: use a configuration file
-h : help
-i : display internal gene nodes
-I : display internal species nodes
-L : display as landscape
-r ratio : set the ratio between width of species and gene tree.
           Default 1.0, you usualy do not need to change it.
-v : verbose

Example:

rectree3  -f recphyl_examples/test1_mult_parasite/rechp_dtl.recphyloxml -g  recphyl_examples/test1_mult_parasite/recgs_mult_host_dtl.recphyloxml -i -b

You will find several input file examples in recphylo_examples directory.

Configuration file:

You may configure some of the features of the svg with the -c option.

The default values are the values of the "config_default.txt" file.

Modify the default values and save it into "my_config.txt" then type:

Using the API:

rectree3 use the light_phylogeny crate:

https://crates.io/crates/light_phylogeny

recPhyloXML documentation

See http://phylariane.univ-lyon1.fr/recphyloxml/

recPhyloXML paper: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6198865/

phyloXML documentation

See: http://www.phyloxml.org/

phyloXML paper: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2774328/

Under development:

  • Multiple parasites

Licence

CECILL: https://choosealicense.com/licenses/cecill-2.1/

Dependencies

~7–18MB
~210K SLoC