All Projects → jangevaare → PhyloTrees.jl

jangevaare / PhyloTrees.jl

Licence: other
Phylogenetic trees in Julia

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to PhyloTrees.jl

get phylomarkers
A pipeline to select optimal markers for microbial phylogenomics and species tree estimation using coalescent and concatenation approaches
Stars: ✭ 34 (+126.67%)
Mutual labels:  phylogenetic-trees, phylogenetics
PCG
𝙋𝙝𝙮𝙡𝙤𝙜𝙚𝙣𝙚𝙩𝙞𝙘 𝘾𝙤𝙢𝙥𝙤𝙣𝙚𝙣𝙩 𝙂𝙧𝙖𝙥𝙝 ⸺ Haskell program and libraries for general phylogenetic graph search
Stars: ✭ 20 (+33.33%)
Mutual labels:  bioinformatics, phylogenetics
archaeopteryx-js
Archaeopteryx.js is a software tool for the visualization and analysis of highly annotated phylogenetic trees.
Stars: ✭ 27 (+80%)
Mutual labels:  phylogenetic-trees, phylogenetics
genesis
A library for working with phylogenetic and population genetic data.
Stars: ✭ 43 (+186.67%)
Mutual labels:  phylogenetic-trees, phylogenetics
Biopython
Official git repository for Biopython (originally converted from CVS)
Stars: ✭ 2,936 (+19473.33%)
Mutual labels:  bioinformatics, phylogenetics
CAFE5
Version 5 of the CAFE phylogenetics software
Stars: ✭ 53 (+253.33%)
Mutual labels:  bioinformatics, phylogenetics
peppy
Project metadata manager for PEPs in Python
Stars: ✭ 29 (+93.33%)
Mutual labels:  bioinformatics
awesome-bioinformatics-formats
Curated list of bioinformatics formats and publications
Stars: ✭ 50 (+233.33%)
Mutual labels:  bioinformatics
CellO
CellO: Gene expression-based hierarchical cell type classification using the Cell Ontology
Stars: ✭ 34 (+126.67%)
Mutual labels:  bioinformatics
bacnet
BACNET is a Java based platform to develop website for multi-omics analysis
Stars: ✭ 12 (-20%)
Mutual labels:  bioinformatics
conda-env-builder
Build and maintain multiple custom conda environments all in once place.
Stars: ✭ 18 (+20%)
Mutual labels:  bioinformatics
Rcpi
Molecular informatics toolkit with a comprehensive integration of bioinformatics and cheminformatics tools for drug discovery.
Stars: ✭ 22 (+46.67%)
Mutual labels:  bioinformatics
gencore
Generate duplex/single consensus reads to reduce sequencing noises and remove duplications
Stars: ✭ 91 (+506.67%)
Mutual labels:  bioinformatics
genomedisco
Software for comparing contact maps from HiC, CaptureC and other 3D genome data.
Stars: ✭ 23 (+53.33%)
Mutual labels:  bioinformatics
tiptoft
Predict plasmids from uncorrected long read data
Stars: ✭ 27 (+80%)
Mutual labels:  bioinformatics
fermikit
De novo assembly based variant calling pipeline for Illumina short reads
Stars: ✭ 98 (+553.33%)
Mutual labels:  bioinformatics
clustergrammer2-notebooks
Examples using Clustergrammer2 to explore high-dimensional datasets.
Stars: ✭ 35 (+133.33%)
Mutual labels:  bioinformatics
EarlGrey
Earl Grey: A fully automated TE curation and annotation pipeline
Stars: ✭ 25 (+66.67%)
Mutual labels:  bioinformatics
RNAseq titration results
Cross-platform normalization enables machine learning model training on microarray and RNA-seq data simultaneously
Stars: ✭ 22 (+46.67%)
Mutual labels:  bioinformatics
SemiBin
No description or website provided.
Stars: ✭ 25 (+66.67%)
Mutual labels:  bioinformatics

PhyloTrees.jl

DOI Latest Release License

test-lts test-stable test-nightly codecov.io

Introduction

The objective of PhyloTrees.jl is to provide fast and simple tools for working with rooted phylogenetic trees in Julia.

Installation

The current release can be installed from the Julia REPL with:

pkg> add PhyloTrees

The development version (master branch) can be installed with:

pkg> add PhyloTrees#master

Usage

There are several ways to add nodes and branches to our Tree, see below for examples

> # Initialize the tree
> exampletree = Tree()

Phylogenetic tree with 0 nodes and 0 branches

> # Add a node to the tree
> addnode!(exampletree)

Phylogenetic tree with 1 nodes and 0 branches

Branches have Float64 lengths

> # Add a node, connect it to node 1 with a branch 5.0 units in length
> branch!(exampletree, 1, 5.0)

Phylogenetic tree with 2 nodes and 1 branches

> # Add 2 nodes
> addnodes!(exampletree, 2)

Phylogenetic tree with 4 nodes and 1 branches

> # Add a branch from node 2 to node 3 10.0 units in length
> addbranch!(exampletree, 2, 3, 10.0)

Phylogenetic tree with 4 nodes and 2 branches

We can quickly look at the nodes present in our Tree:

> collect(exampletree.nodes)

[unattached node]
[branch 1]-->[internal node]-->[branch 2]
[branch 2]-->[leaf node]
[root node]-->[branch 1]

Other capabilities

Distance between nodes can be calculated using the distance function. A node visit ordering for postorder traversal of a tree can be found with postorder.

A plot recipe is provided for Trees. The following Tree has been generated and plotted using code in READMETREE.jl.

Tree Plot

There are many other functions available that are helpful when dealing with trees including: changesource!, changetarget!, indegree, outdegree, isroot, isleaf, isinternal, findroots, findleaves, findinternal, findnonroots, findnonleaves, findexternal, areconnected, nodepath, branchpath, parentnode, childnodes, descendantnodes, descendantcount, leafnodes, leafcount, ancestorcount, ancestornodes, and nodetype. These work nicely with Julia's elegant function vectorization. An example of this in action can be seen in the in our plot recipe code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].