Skip to main content

A package for creating 3D phylogenetic trees with two axes of variation.

Project description

3DPhyloTrees

Welcome!

Overview

The purpose of this Python package is to create 3D phylogenetic trees with two axes of variation given suitable data in the common AnnData format. The differentiating factor between this package and functions like scipy.cluster.hierarchy.dendrogram() and sklearn.cluster.AgglomerativeClustering is that the dendrogram produced tracks the splitting/merging patterns of groups of taxa and individual taxa. Specifically, as used in the BioRxiv paper Cerebellar nuclei evolved by repeatedly duplicating a conserved cell type set, the phylogenetic tree created by this package tracks the merging of different subnuclei of the cerebellar nuclei while also tracking the merging of individual cell types within those nuclei.

An example of such a dendrogram is Image

A flattened version can be found in Fig. S22C and Fig. S23H of the linked paper above.

This package is composed of three main parts:

  • agglomerate
  • data
  • metrics

The agglomerate package exposes methods to perform the agglomeration of a single phylogenetic tree given suitable data and hyperparameters, and a method to perform batch agglomeration over a range of hyperparameters and select the best tree according to any of the following metrics:

  • Balanced Minimum Evolution (preferred)
  • Minimum Evolution
  • Maximum Parsimony

The data package exposes a data_loader that the user can define to import their data accordingly (possibly from multiple folders or online repositories) and into an AnnData object. The data_types are used internally by the agglomeration algorithm.

Finally, the metrics currently only provides the Spearman correlation coefficient to measure the distance between two data points, however any distance metric in the same form as the example provided may be added and used in the agglomeration program.

Installation

This package requires Python version 3.7 or greater, and the requirements provided in Pipfile and Pipfile.lock. Using pip, installation is as easy as running:

pip install 3dtrees-nbingo

Questions

If you have any questions for how to use this code or for how it was used in Cerebellar nuclei evolved by repeatedly duplicating a conserved cell type set, then please feel free to email me at nomir@stanford.edu. Examples usage of this package can be found in the cn_evolution repository, which is the analysis code used to produce the figures in the linked paper.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

3dtrees-nbingo-0.1.5.tar.gz (51.7 kB view details)

Uploaded Source

Built Distribution

3dtrees_nbingo-0.1.5-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file 3dtrees-nbingo-0.1.5.tar.gz.

File metadata

  • Download URL: 3dtrees-nbingo-0.1.5.tar.gz
  • Upload date:
  • Size: 51.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for 3dtrees-nbingo-0.1.5.tar.gz
Algorithm Hash digest
SHA256 82b970066c46a1b910312ef70799bdc97f949ed2e7b77e339a72599beda2e1c9
MD5 a13fdf85a9c67f281e0018959ba610ce
BLAKE2b-256 7c87126f4de95e8ff0fbde599fdfdce2ef8df946c5be526e2831420cd8dc37cb

See more details on using hashes here.

File details

Details for the file 3dtrees_nbingo-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: 3dtrees_nbingo-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for 3dtrees_nbingo-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 db08e46be4d0f72d77894d54ecdc838b06552a7593bc41ff7301c585913f2f21
MD5 3fd425b9b35534191266ee47c7e8d2df
BLAKE2b-256 97396228c4a3c422062f6de411f941b46cd4c96e0f508aeb32c9dd25f146501d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page