# PARLE: Path Analysis, Reconciliation, and Label Evaluation
This tool computes the path-label reconciliation (PLR) dissimilarity measure. ([see abstract](https://gitlab.com/jarr.tecn/recondist)).
**Reference:** López Sánchez A., Ramírez-Rafael J. A., Flores Lamas A., Hernandez-Rosales M., Lafond M. (2024) **The Path-Label Reconciliation (PLR) Dissimilarity
Measure for Gene Trees** (currently under review at the [WABI 2024 conference](https://algo-conference.org/2024/wabi/)).
# Installation
```bash
pip install parle
```
# Synopsis of the tool
This code is a command-line tool designed to generate and compare reconciled gene trees with a given species tree, accounting for evolutionary events. It uses a proposed semi-metric *PLR* to quantify differences between reconciled gene trees, considering discrepancies in tree topology, gene-species mapping, and speciation/duplication events.
This tool supports benchmarking and validation by simulating reconciliations and comparing results with metrics like *LRF* and *ELRF*. The tool aims to enhance phylogenetic reconciliation by providing a refined and efficient method for comparing reconciled gene trees.
The tool can be used with the following syntax:
```bash
# Compute disimilarity
python -m parle gene_trees species_tree <optional arguments>
# Compute distance
python -m parle.simulate_reconciliations species_tree n_genes n_recons <optional arguments>
```
For detailed usage information, you can access the help documentation of the modules:
```bash
python -m parle -h
python -m parle.simulate -h
```
# Tutorial
We will see how to generate and analyze datasets for 10 species, maximum 2 gene per species, and 20 gene trees/pairs of gene trees. These numbers can be modified.
The species tree can be simulated by PARLE or can be inputed as a .nhx file.
## To Generate Data
Generate a list of reconciliations with the same species tree and set of genes for all the reconciliations:
```bash
python -m parle.simulate 10 2 20
```
Output files: `plr.species_tree.list.nhx`, `plr.random_reconciliations.list.tsv`
---
Generate pairs of reconciliations with the same species tree for all the reconciliations and pair-specific sets of genes:
```bash
python -m parle.simulate 10 2 20 -m pairs
```
Output files: `plr.species_tree.pairs.nhx`, `plr.random_reconciliations.pairs.tsv`.
---
To use an external species tree use the name of the file instead of `5`, an example, if you have a file `species_tree.nhx` with the content `((((((16,17)15,14)7,6)5,((10,11)9,8)4)3,((18,19)13,12)2)1)0;`, then you can use the commands:
```bash
python -m parle.simulate species_tree.nhx 1 10
python -m parle.simulate species_tree.nhx 1 10 -m pairs
```
## To Compute Distances
Compute distances of pairs of trees sorted by rows:
```bash
python -m parle plr.random_reconciliations.list.tsv plr.species_tree.list.nhx
```
Compute distances for all possible pairs of gene trees in a list:
```bash
python -m parle plr.random_reconciliations.list.tsv plr.species_tree.list.nhx -m all_vs_all
```
## Visualization
- For gene tree visualization we recomend [itol](itol.embl.de/).
- For trees reconciliation we recommend [REvolutionH-tl](pypi.org/project/revolutionhtl/).
# Additional Information
- The tool uses the PLR metric, which is designed to compare reconciled gene trees by taking into account all three components of reconciliations (tree topology, gene-species map, and event labeling) as well as duplication clusters.
- The metric is linear-time computable, making it suitable for large datasets.
- For more detailed documentation and examples, please refer to the project documentation within the repository.
Raw data
{
"_id": null,
"home_page": null,
"name": "parle",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "tree reconciliation, gene trees, species trees, evolutionary scenarios",
"author": null,
"author_email": "Jos\u00e9 Antonio Ram\u00edrez-Rafael <jose.ramirezra@cinvestav.mx>, Alitzel L\u00f3pez S\u00e1nchez <alitzel.lopez.sanchez@usherbrooke.ca>, Alejandro Flores-Lamas <alejandrofloreslamas@cinvestav.mx>, Maribel Hern\u00e1ndez-Rosales <maribel.hr@cinvestav.mx>, Manuel Lafond <manuel.lafond@usherbrooke.ca>",
"download_url": "https://files.pythonhosted.org/packages/a0/a8/8af42375da22aa43fa2ec4eeb83e5ff09eec7b88565d2959b9a8b3ee4afa/parle-0.0.2.tar.gz",
"platform": null,
"description": "# PARLE: Path Analysis, Reconciliation, and Label Evaluation\n\nThis tool computes the path-label reconciliation (PLR) dissimilarity measure. ([see abstract](https://gitlab.com/jarr.tecn/recondist)).\n\n**Reference:** L\u00f3pez S\u00e1nchez A., Ram\u00edrez-Rafael J. A., Flores Lamas A., Hernandez-Rosales M., Lafond M. (2024) **The Path-Label Reconciliation (PLR) Dissimilarity\nMeasure for Gene Trees** (currently under review at the [WABI 2024 conference](https://algo-conference.org/2024/wabi/)).\n\n# Installation\n\n```bash\npip install parle\n```\n\n# Synopsis of the tool\n\nThis code is a command-line tool designed to generate and compare reconciled gene trees with a given species tree, accounting for evolutionary events. It uses a proposed semi-metric *PLR* to quantify differences between reconciled gene trees, considering discrepancies in tree topology, gene-species mapping, and speciation/duplication events.\n\nThis tool supports benchmarking and validation by simulating reconciliations and comparing results with metrics like *LRF* and *ELRF*. The tool aims to enhance phylogenetic reconciliation by providing a refined and efficient method for comparing reconciled gene trees.\n\nThe tool can be used with the following syntax:\n\n```bash\n# Compute disimilarity\npython -m parle gene_trees species_tree <optional arguments>\n\n# Compute distance\npython -m parle.simulate_reconciliations species_tree n_genes n_recons <optional arguments>\n\n\n```\n\nFor detailed usage information, you can access the help documentation of the modules:\n\n```bash\npython -m parle -h\npython -m parle.simulate -h\n```\n\n# Tutorial\n\nWe will see how to generate and analyze datasets for 10 species, maximum 2 gene per species, and 20 gene trees/pairs of gene trees. These numbers can be modified.\n\nThe species tree can be simulated by PARLE or can be inputed as a .nhx file.\n\n## To Generate Data\n\nGenerate a list of reconciliations with the same species tree and set of genes for all the reconciliations:\n\n```bash\npython -m parle.simulate 10 2 20\n```\n\nOutput files: `plr.species_tree.list.nhx`, `plr.random_reconciliations.list.tsv`\n\n---\n\nGenerate pairs of reconciliations with the same species tree for all the reconciliations and pair-specific sets of genes:\n\n```bash\npython -m parle.simulate 10 2 20 -m pairs\n```\n\nOutput files: `plr.species_tree.pairs.nhx`, `plr.random_reconciliations.pairs.tsv`.\n\n---\n\nTo use an external species tree use the name of the file instead of `5`, an example, if you have a file `species_tree.nhx` with the content `((((((16,17)15,14)7,6)5,((10,11)9,8)4)3,((18,19)13,12)2)1)0;`, then you can use the commands:\n\n```bash\npython -m parle.simulate species_tree.nhx 1 10\npython -m parle.simulate species_tree.nhx 1 10 -m pairs\n```\n\n## To Compute Distances\n\nCompute distances of pairs of trees sorted by rows:\n\n```bash\npython -m parle plr.random_reconciliations.list.tsv plr.species_tree.list.nhx\n```\n\nCompute distances for all possible pairs of gene trees in a list:\n\n```bash\npython -m parle plr.random_reconciliations.list.tsv plr.species_tree.list.nhx -m all_vs_all\n```\n\n## Visualization\n\n- For gene tree visualization we recomend [itol](itol.embl.de/).\n- For trees reconciliation we recommend [REvolutionH-tl](pypi.org/project/revolutionhtl/).\n\n# Additional Information\n\n- The tool uses the PLR metric, which is designed to compare reconciled gene trees by taking into account all three components of reconciliations (tree topology, gene-species map, and event labeling) as well as duplication clusters.\n\n- The metric is linear-time computable, making it suitable for large datasets.\n- For more detailed documentation and examples, please refer to the project documentation within the repository.\n",
"bugtrack_url": null,
"license": null,
"summary": "PARLE: Path Analysis, Reconciliation, and Label Evaluation",
"version": "0.0.2",
"project_urls": {
"Bug Tracker": "https://gitlab.com/jarr.tecn/recondist/-/issues",
"Homepage": "https://gitlab.com/jarr.tecn/recondist"
},
"split_keywords": [
"tree reconciliation",
" gene trees",
" species trees",
" evolutionary scenarios"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "dbc50f143791421645c5d7a6f7188076d0fa4f871992df097acf9dfa211880ef",
"md5": "ed41434576d909ac76bc437a2adb8aa3",
"sha256": "9dec4ee4a0a5c61f717dfc5e77cfeb6e57af884a84e42b15666ec8d15aa9969c"
},
"downloads": -1,
"filename": "parle-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ed41434576d909ac76bc437a2adb8aa3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 11276,
"upload_time": "2024-05-30T13:56:48",
"upload_time_iso_8601": "2024-05-30T13:56:48.305781Z",
"url": "https://files.pythonhosted.org/packages/db/c5/0f143791421645c5d7a6f7188076d0fa4f871992df097acf9dfa211880ef/parle-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a0a88af42375da22aa43fa2ec4eeb83e5ff09eec7b88565d2959b9a8b3ee4afa",
"md5": "779af0aae76b9c9b00bf212dcb5195e5",
"sha256": "01b4a2ea616a20285b7fd65c67f3727c02f524038158be5992665d6da48f0bb2"
},
"downloads": -1,
"filename": "parle-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "779af0aae76b9c9b00bf212dcb5195e5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 11279,
"upload_time": "2024-05-30T13:56:49",
"upload_time_iso_8601": "2024-05-30T13:56:49.977853Z",
"url": "https://files.pythonhosted.org/packages/a0/a8/8af42375da22aa43fa2ec4eeb83e5ff09eec7b88565d2959b9a8b3ee4afa/parle-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-30 13:56:49",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "jarr.tecn",
"gitlab_project": "recondist",
"lcname": "parle"
}