Quartet
R package to calculate the similarity of two trees based on the number of shared four-taxon subtrees (or splits)
Science Score: 59.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
Found 12 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
2 of 6 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.6%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
R package to calculate the similarity of two trees based on the number of shared four-taxon subtrees (or splits)
Basic Info
- Host: GitHub
- Owner: ms609
- Language: C++
- Default Branch: master
- Homepage: https://ms609.github.io/Quartet/
- Size: 14.8 MB
Statistics
- Stars: 16
- Watchers: 4
- Forks: 5
- Open Issues: 10
- Releases: 0
Topics
Metadata Files
README.md
Quartet
'Quartet' is an R package that calculates the quartet distance between two trees (Estabrook et al. 1985), a measure of their similarity based on the number of shared four-taxon subtrees.
The quartet distance outperforms a number of widely used tree distances (e.g. the Robinson–Foulds, path, and rearrangement distances) against a number theoretical and practical measures (Steel & Penny 1993; Smith 2020), and is particularly valuable in the construction of tree spaces (Smith 2021).
'Quartet' uses the 'tqDist' algorithm (Brodal et al. 2004; Sand et al. 2014).
Unlike many other implementations, it distinguishes between quartets that are
contradicted by one tree,
and quartets that are simply absent due to a lack of resolution (i.e.
the presence of polytomies; see Smith 2019).
'Quartet' makes this distinction in both the quartet metric (function
QuartetStatus()) and the partition metric (i.e. Robinson-Foulds distance;
function SplitStatus()).
Using the package
Install and load the library from CRAN as follows:
install.packages('Quartet')
library('Quartet')
For the latest features, install the development version:
r
if(!require("curl")) install.packages("curl")
if(!require("remotes")) install.packages("remotes")
remotes::install_github("ms609/Quartet")
You will need Rtools installed in order to build the development version from source.
View the function reference and basic usage instructions.
Known limitations
Quartet supports trees with up to 477 leaves. Larger trees contain more
quartets than can be represented by R's signed 32-bit integers.
The underlying 'tqDist' library may handle trees with up to 568 leaves,
and 64-bit integer representations could increase this number further.
Making either of these improvements within the R package
would require substantial additional work, but could be implemented -- do
file an issue if this would be
useful to you.
References
Brodal G.S., Fagerberg R., Pedersen C.N.S. 2004. Computing the quartet distance between evolutionary trees in time O(n log n). Algorithmica 38:377–395.
Estabrook G.F., McMorris F.R., Meacham C.A. 1985. Comparison of undirected phylogenetic trees based on subtrees of four evolutionary units. Syst. Zool. 34:193–200.
Sand A., Holt M.K., Johansen J., Brodal G.S., Mailund T., Pedersen C.N.S. 2014. tqDist: a library for computing the quartet and triplet distances between binary or general trees. Bioinformatics 30:2079–2080. https://doi.org/10.1093/bioinformatics/btu157
Smith, M.R. 2019. Bayesian and parsimony approaches reconstruct informative trees from simulated morphological datasets. Biol. Lett. 15:20180632. https://doi.org/10.1098/rsbl.2018.0632
Smith, M.R. 2020. Information theoretic generalized Robinson–Foulds metrics for comparing phylogenetic trees. Bioinformatics, 36:5007–5013. https://dx.doi.org/10.1093/bioinformatics/btaa614
Smith, M.R. 2022. Robust analysis of phylogenetic tree space. Systematic Biology, syab100. https://dx.doi.org/10.1093/sysbio/syab100
Steel, M. and Penny, D. 1993. Distributions of tree comparison metrics: some new results. Syst. Biol. 42: 126-141. https://doi.org/10.1093/sysbio/42.2.126
Please note that the 'Quartet' project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Owner
- Name: Martin R. Smith
- Login: ms609
- Kind: user
- Location: Durham, UK
- Company: Department of Earth Sciences, Durham University
- Website: https://orcid.org/0000-0001-5660-1727
- Twitter: PalaeoSmith
- Repositories: 21
- Profile: https://github.com/ms609
Palaeontology & phylogenetics
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"identifier": "Quartet",
"description": "Calculates the number of four-taxon subtrees consistent with a pair of cladograms, calculating the symmetric quartet distance of Bandelt & Dress (1986), Reconstructing the shape of a tree from observed dissimilarity data, Advances in Applied Mathematics, 7, 309-343 <doi:10.1016/0196-8858(86)90038-2>, and using the tqDist algorithm of Sand et al. (2014), tqDist: a library for computing the quartet and triplet distances between binary or general trees, Bioinformatics, 30, 20792080 <doi:10.1093/bioinformatics/btu157> for pairs of binary trees.",
"name": "Quartet: Comparison of Phylogenetic Trees Using Quartet and Split Measures",
"relatedLink": "https://ms609.github.io/Quartet/",
"codeRepository": "https://github.com/ms609/Quartet/",
"issueTracker": "https://github.com/ms609/Quartet/issues/",
"license": "https://spdx.org/licenses/GPL-2.0",
"version": "1.2.7",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
"url": "https://r-project.org"
},
"runtimePlatform": "R version 4.4.1 (2024-06-14)",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"author": [
{
"@type": "Person",
"givenName": "Martin R.",
"familyName": "Smith",
"email": "martin.smith@durham.ac.uk",
"@id": "https://orcid.org/0000-0001-5660-1727"
}
],
"copyrightHolder": [
{
"@type": "Person",
"givenName": "Martin R.",
"familyName": "Smith",
"email": "martin.smith@durham.ac.uk",
"@id": "https://orcid.org/0000-0001-5660-1727"
}
],
"maintainer": [
{
"@type": "Person",
"givenName": "Martin R.",
"familyName": "Smith",
"email": "martin.smith@durham.ac.uk",
"@id": "https://orcid.org/0000-0001-5660-1727"
}
],
"softwareSuggestions": [
{
"@type": "SoftwareApplication",
"identifier": "bookdown",
"name": "bookdown",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=bookdown"
},
{
"@type": "SoftwareApplication",
"identifier": "knitr",
"name": "knitr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=knitr"
},
{
"@type": "SoftwareApplication",
"identifier": "phangorn",
"name": "phangorn",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=phangorn"
},
{
"@type": "SoftwareApplication",
"identifier": "Rcpp",
"name": "Rcpp",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=Rcpp"
},
{
"@type": "SoftwareApplication",
"identifier": "rmarkdown",
"name": "rmarkdown",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rmarkdown"
},
{
"@type": "SoftwareApplication",
"identifier": "testthat",
"name": "testthat",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=testthat"
},
{
"@type": "SoftwareApplication",
"identifier": "usethis",
"name": "usethis",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=usethis"
},
{
"@type": "SoftwareApplication",
"identifier": "vdiffr",
"name": "vdiffr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=vdiffr"
}
],
"softwareRequirements": {
"1": {
"@type": "SoftwareApplication",
"identifier": "R",
"name": "R",
"version": ">= 3.5.0"
},
"2": {
"@type": "SoftwareApplication",
"identifier": "TreeTools",
"name": "TreeTools",
"version": ">= 1.4.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=TreeTools"
},
"3": {
"@type": "SoftwareApplication",
"identifier": "ape",
"name": "ape",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=ape"
},
"4": {
"@type": "SoftwareApplication",
"identifier": "PlotTools",
"name": "PlotTools",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=PlotTools"
},
"5": {
"@type": "SoftwareApplication",
"identifier": "Rdpack",
"name": "Rdpack",
"version": ">= 0.7",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=Rdpack"
},
"6": {
"@type": "SoftwareApplication",
"identifier": "Ternary",
"name": "Ternary",
"version": ">= 1.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=Ternary"
},
"7": {
"@type": "SoftwareApplication",
"identifier": "viridisLite",
"name": "viridisLite",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=viridisLite"
},
"SystemRequirements": null
},
"fileSize": "754.606KB",
"citation": [
{
"@type": "SoftwareSourceCode",
"datePublished": "2019",
"author": [
{
"@type": "Person",
"givenName": [
"Martin",
"R."
],
"familyName": "Smith",
"email": "martin.smith@durham.ac.uk"
}
],
"name": "Quartet: comparison of phylogenetic trees using quartet and split measures",
"identifier": "10.5281/zenodo.2536318",
"description": "R package version 1.2.7",
"@id": "https://doi.org/10.5281/zenodo.2536318",
"sameAs": "https://doi.org/10.5281/zenodo.2536318"
},
{
"@type": "ScholarlyArticle",
"datePublished": "2014",
"author": [
{
"@type": "Person",
"givenName": "Andreas",
"familyName": "Sand"
},
{
"@type": "Person",
"givenName": [
"Morten",
"K."
],
"familyName": "Holt"
},
{
"@type": "Person",
"givenName": "Jens",
"familyName": "Johansen"
},
{
"@type": "Person",
"givenName": [
"Gerth",
"S."
],
"familyName": "Brodal"
},
{
"@type": "Person",
"givenName": "Thomas",
"familyName": "Mailund"
},
{
"@type": "Person",
"givenName": [
"Christian",
"N.",
"S."
],
"familyName": "Pedersen"
}
],
"name": "tqDist: a library for computing the quartet and triplet distances between binary or general trees",
"identifier": "10.1093/bioinformatics/btu157",
"pagination": "2079--2080",
"@id": "https://doi.org/10.1093/bioinformatics/btu157",
"sameAs": "https://doi.org/10.1093/bioinformatics/btu157",
"isPartOf": {
"@type": "PublicationIssue",
"issueNumber": "14",
"datePublished": "2014",
"isPartOf": {
"@type": [
"PublicationVolume",
"Periodical"
],
"volumeNumber": "30",
"name": "Bioinformatics"
}
}
},
{
"@type": "ScholarlyArticle",
"datePublished": "2019",
"author": [
{
"@type": "Person",
"givenName": [
"Martin",
"R."
],
"familyName": "Smith",
"email": "martin.smith@durham.ac.uk"
}
],
"name": "Bayesian and parsimony approaches reconstruct informative trees from simulated morphological datasets",
"identifier": "10.1098/rsbl.2018.0632",
"pagination": "20180632",
"@id": "https://doi.org/10.1098/rsbl.2018.0632",
"sameAs": "https://doi.org/10.1098/rsbl.2018.0632",
"isPartOf": {
"@type": "PublicationIssue",
"issueNumber": "2",
"datePublished": "2019",
"isPartOf": {
"@type": [
"PublicationVolume",
"Periodical"
],
"volumeNumber": "15",
"name": "Biology Letters"
}
}
}
]
}
GitHub Events
Total
- Release event: 1
- Watch event: 4
- Issue comment event: 1
- Push event: 35
- Create event: 2
Last Year
- Release event: 1
- Watch event: 4
- Issue comment event: 1
- Push event: 35
- Create event: 2
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Martin R. Smith | m****s@g****m | 685 |
| Martin R. Smith | 1****9 | 38 |
| Martin R. Smith | m****h@d****k | 23 |
| Martin R. Smith | p****8@d****k | 8 |
| GitHub Actions | a****s@g****m | 3 |
| Fabrizio Sandri | 1****i | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 33
- Total pull requests: 36
- Average time to close issues: 3 months
- Average time to close pull requests: 10 days
- Total issue authors: 5
- Total pull request authors: 2
- Average comments per issue: 0.3
- Average comments per pull request: 0.94
- Merged pull requests: 34
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 1.0
- Average comments per pull request: 1.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ms609 (29)
- RaSieb (1)
- simone-says (1)
- MurrelSaldanha (1)
- mmore500 (1)
Pull Request Authors
- ms609 (36)
- FabrizioSandri (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 811 last-month
- Total dependent packages: 3
- Total dependent repositories: 5
- Total versions: 11
- Total maintainers: 1
cran.r-project.org: Quartet
Comparison of Phylogenetic Trees Using Quartet and Split Measures
- Homepage: https://ms609.github.io/Quartet/
- Documentation: http://cran.r-project.org/web/packages/Quartet/Quartet.pdf
- License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
-
Latest release: 1.2.7
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- R >= 3.4.0 depends
- TreeTools >= 1.4.0 depends
- Rdpack >= 0.7 imports
- Ternary >= 1.0 imports
- ape * imports
- viridisLite * imports
- Rcpp * suggests
- bookdown * suggests
- knitr * suggests
- phangorn * suggests
- rmarkdown * suggests
- testthat * suggests
- usethis * suggests
- vdiffr * suggests