Function Repository Resource:

TaxonomyCommonAncestor (1.0.0) current version: 1.1.0 »

Source Notebook

Find a common ancestor across taxa

Contributed by: Keiko Hirayama

ResourceFunction["TaxonomyCommonAncestor"][{species,species}]

gives the common ancestor for specified species entities.

ResourceFunction["TaxonomyCommonAncestor"][{species,species},"Graph"]

visualizes the taxonomy graph highlighting the common ancestor for specified species entities.

Details and Options

ResourceFunction["TaxonomyCommonAncestor"] finds the common ancestor on the evolutionary tree of organisms.
Vertices of the graph represent hierarchically organized taxa arranged based on taxonomic ranks.
Any entities of "TaxonomicSpecies" can be used.
The number of species listed should be in the range between 2 and 5.
ResourceFunction["TaxonomyCommonAncestor"][{species,species},"Graph"] has the same options as Graph.

Examples

Basic Examples (2) 

Find a common ancestor for two specified species:

In[1]:=
ResourceFunction["TaxonomyCommonAncestor", ResourceVersion->"1.0.0"][{Entity["TaxonomicSpecies", "Anisoptera::32b96"], Entity["TaxonomicSpecies", "Coleoptera::2k86r"]}]
Out[1]=

Locate a common ancestor on the taxonomy graph:

In[2]:=
ResourceFunction["TaxonomyCommonAncestor", ResourceVersion->"1.0.0"][{Entity["TaxonomicSpecies", "Mammuthus::j5m56"], Entity["TaxonomicSpecies", "LoxodontaAfricana::qtsb3"]}, "Graph"]
Out[2]=

Scope (1) 

Find a common ancestors for multiple organisms:

In[3]:=
ResourceFunction["TaxonomyCommonAncestor", ResourceVersion->"1.0.0"][{Entity["TaxonomicSpecies", "HomoSapiens::4pydj"], Entity["TaxonomicSpecies", "FelisCatus::ddvt3"], Entity["TaxonomicSpecies", "Folivora::45r48"], Entity["TaxonomicSpecies", "Chiroptera::8zx62"], Entity["TaxonomicSpecies", "OrcinusOrca::t9226"]}]
Out[3]=

Options (1) 

Specify the layout of a graph:

In[4]:=
ResourceFunction["TaxonomyCommonAncestor", ResourceVersion->"1.0.0"][{Entity["TaxonomicSpecies", "AcinonyxJubatus::22ksf"], Entity["TaxonomicSpecies", "GiraffaCamelopardalis::y5488"]}, "Graph", GraphLayout -> "RadialEmbedding"]
Out[4]=

Possible Issues (1) 

Trying to find a common ancestor for the non-species entities returns a Missing value:

In[5]:=
ResourceFunction["TaxonomyCommonAncestor", ResourceVersion->"1.0.0"][{Entity["HorseBreed", "Barb"], Entity["HorseBreed", "Arabian"]}]
Out[5]=

Requirements

Wolfram Language 13.0 (December 2021) or above

Version History

  • 1.1.0 – 19 January 2024
  • 1.0.0 – 10 January 2024

Related Resources

License Information