agatta

Three-item analysis python package

https://github.com/vrineau/agatta

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Three-item analysis python package

Basic Info
  • Host: GitHub
  • Owner: vrineau
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 10.6 MB
Statistics
  • Stars: 3
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 6
Created over 5 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Authors Codemeta

README.md

agatta_logotype

Agatta

Build

Presentation

Agatta is a python package for three-item analysis (Nelson and Platnick, 1991) and other rooted tree applications. Three-item analysis can be considered as a supertree method (Kitching et al., 1998). The input trees are decomposed into triplets, then coded using triplet matrix representation. Finally, a tree is estimated on the matrix using a congruence maximisation criterion. Agatta implements several triplet weighting schemes, and is technically close to the Weighted Minimum Triplet Inconsistency problem (Byrka et al. 2010), a triplet equivalent of the Weighted Minimum Quartet Inconsistency problem (Lafond and Scornavacca, 2019).

Three-item analysis was originally conceived under the cladistic theory, and can be used for reconstructing the evolutionary history of various entities. The characters (input trees) can be morphological characters coded hierarchicaly (Cao et al., 2008), rooted gene trees (with or without duplication events) or any type of evolutionary hypotheses that can be represented as rooted trees. Three-item analysis is also used in vicariance biogeography (Morrone, 2008), where phylogenies are used as input trees to build areagrams representing relationships between biogeographical areas.

Agatta is user-friendly and offers many specific features to help pre or postprocessing rooted trees. Such features include decomposing trees with duplicated tips into duplication-free subtrees, consensus methods, several triplet-based support metrics, precise tree description, character state test and mapping, and file reformating.

Installation

Agatta works on Windows, Unix/Linux and macOS.

This package requires Python version 3.9 to 3.11. It has been tested for 3.9 to 3.11 using ubuntu 24.04, macos 14, and windows 11.

Agatta and all its dependencies can be installed using pip install Agatta. Detailed explanations are available in the tutorial.

The package implements a pipeline for efficient heuristic searches that requires the installation of WQFM (https://github.com/Mahim1997/wQFM-2020), TNT (http://www.lillo.org.ar/phylogeny/tnt/), or a PAUP* command-line binary (http://phylosolutions.com/paup-test).

Documentation and Support

The official repository is on GitHub

The documentation is available here with the installation procedure and tutorials.

An help for all commands is available directly using agatta help.

If you have questions, feel free to pull requests on GitHub Issues.

Usage examples

Quick analysis

Agatta allows several input trees formats like newick, nexus, nexml, or character matrix format. A generic analysis to do a three-item analysis on a collection of rooted trees stored in a file with default parameters (PAUP* heuristic search, 1000 replicates, triplets weighted using Fractional Weighting; Rineau et al. 2021) would be: agatta analysis <file> --software=paup --softpath=/path/to/paup-executable The --softpath and --software=paup flags are required.

Cladistic biogeography analysis

To run a three-area analysis on a collection of rooted phylogenies stored in newick format in a file with default parameters (PAUP* heuristic search, 1000 replicates, triplets weighted according to Rineau et al. (2021), Multiple-Area Single Taxa automatically removed, repetitions managed using Triplet Maximisation Subtrees algorithm): agatta analysis <file> --software=paup --softpath=/path/to/paup-executable --rosetta=<mapfile> This line is identical as for quick analysis plus a mapping file () in csv with two columns to give the correspondance between taxa (left column) and areas (right column).

License

The code is currently licensed under the GNU General Public License version 3.

Citation

When using Agatta, please cite us (temporarily) as

Rineau, V., Zaharias, P. (2025) Agatta (Version 0.9.6) [Software]. Github. https://github.com/vrineau/Agatta.

References

  • Byrka, J., Guillemot, S., & Jansson, J. (2010). New results on optimizing rooted triplets consistency. Discrete Applied Mathematics, 158(11), 1136-1147.
  • Cao, N., Zaragüeta i Bagils, R., & Vignes-Lebbe, R. (2007). Hierarchical representation of hypotheses of homology. Geodiversitas, 29(1), 5-15.
  • Kitching, I. J., Forey, P., Humphries, C., & Williams, D. (1998). Cladistics: the theory and practice of parsimony analysis. Oxford University Press.
  • Lafond, M., & Scornavacca, C. (2019). On the weighted quartet consensus problem. Theoretical Computer Science, 769, 1-17.
  • Morrone, J. J. (2008). Evolutionary biogeography: an integrative approach with case studies. Columbia University Press.
  • Nelson, G., & Platnick, N. I. (1991). Three‐taxon statements: a more precise use of parsimony? Cladistics, 7(4), 351-366.
  • Rineau, V., Zaragüeta i Bagils, R., & Bardin, J. (2021). Information content of trees: three-taxon statements, inference rules and dependency. Biological Journal of the Linnean Society, 133(4), 1152-1170.

Graphic chart by Malcolm T Sanders

Owner

  • Name: Valentin Rineau
  • Login: vrineau
  • Kind: user
  • Location: Paris
  • Company: Sorbonne Université

CodeMeta (codemeta.json)

{
  "@context": "https://w3id.org/codemeta/3.0",
  "type": "SoftwareSourceCode",
  "applicationCategory": "Cladistics",
  "author": [
    {
      "id": "https://orcid.org/0000-0001-8929-5201",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "Centre de recherche en Palontologie - Paris, Sorbonne Universit"
      },
      "email": "valentin.rineau@sorbonne-universite.fr",
      "familyName": "Rineau",
      "givenName": "Valentin"
    },
    {
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "L'Institut de Systmatique, volution, Biodiversit, CNRS"
      },
      "email": "paul.zaharias@hotmail.fr",
      "familyName": "Zaharias",
      "givenName": "Paul"
    }
  ],
  "codeRepository": "git+https://github.com/vrineau/Agatta.git/",
  "dateCreated": "2024-04-30",
  "dateModified": "2024-03-08",
  "datePublished": "2024-01-10",
  "description": "Agatta is a python package for three-item analysis (Nelson and Platnick, 1991) and other rooted tree applications.",
  "downloadUrl": "https://github.com/vrineau/Agatta/archive/refs/tags/v0.8.1.tar.gz",
  "keywords": [
    "systematics",
    "biogeography",
    "cladistics",
    "phylogenetics",
    "supertree"
  ],
  "license": "https://spdx.org/licenses/GPL-3.0",
  "name": "Agatta",
  "operatingSystem": [
    "Linux",
    "Windows",
    "macOS"
  ],
  "programmingLanguage": "Python 3",
  "relatedLink": "https://pypi.org/project/Agatta/",
  "softwareRequirements": [
    "Python >=3.7.0",
    "https://github.com/vrineau/Agatta/blob/main/requirements.txt"
  ],
  "version": "0.8.1",
  "codemeta:contIntegration": {
    "id": "https://github.com/vrineau/Agatta/actions/workflows/python-package.yml"
  },
  "continuousIntegration": "https://github.com/vrineau/Agatta/actions/workflows/python-package.yml",
  "developmentStatus": "active",
  "issueTracker": "https://github.com/vrineau/Agatta/issues"
}

GitHub Events

Total
  • Create event: 5
  • Release event: 4
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 1
  • Push event: 20
  • Gollum event: 3
Last Year
  • Create event: 5
  • Release event: 4
  • Issues event: 1
  • Watch event: 1
  • Issue comment event: 1
  • Push event: 20
  • Gollum event: 3

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 156 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 1
pypi.org: agatta

Three-item analysis python package

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 156 Last month
Rankings
Dependent packages count: 10.0%
Average: 38.1%
Dependent repos count: 66.2%
Maintainers (1)
Last synced: 11 months ago