All Projects → lczech → genesis

lczech / genesis

Licence: GPL-3.0 license
A library for working with phylogenetic and population genetic data.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to genesis

get phylomarkers
A pipeline to select optimal markers for microbial phylogenomics and species tree estimation using coalescent and concatenation approaches
Stars: ✭ 34 (-20.93%)
Mutual labels:  phylogenetic-trees, phylogenetics, population-genetics
archaeopteryx-js
Archaeopteryx.js is a software tool for the visualization and analysis of highly annotated phylogenetic trees.
Stars: ✭ 27 (-37.21%)
Mutual labels:  phylogenetic-trees, phylogenetics
PhyloTrees.jl
Phylogenetic trees in Julia
Stars: ✭ 15 (-65.12%)
Mutual labels:  phylogenetic-trees, phylogenetics
booster
booster.c3bi.pasteur.fr
Stars: ✭ 22 (-48.84%)
Mutual labels:  phylogenetics
angsd-wrapper
Utilities for analyzing next generation sequencing data.
Stars: ✭ 13 (-69.77%)
Mutual labels:  population-genetics
graphlan
High-quality circular representations of taxonomic and phylogenetic trees
Stars: ✭ 45 (+4.65%)
Mutual labels:  phylogenetic-trees
phylogenetics-class
A course in the theory and practice of phylogenetic inference from DNA sequence data
Stars: ✭ 16 (-62.79%)
Mutual labels:  phylogenetics
BuddySuite
Bioinformatics toolkits for manipulating sequence, alignment, and phylogenetic tree files
Stars: ✭ 106 (+146.51%)
Mutual labels:  phylogenetics
poppr
🌶 An R package for genetic analysis of populations with mixed (clonal/sexual) reproduction
Stars: ✭ 57 (+32.56%)
Mutual labels:  population-genetics
VCF2Dis
VCF2Dis: A new simple and efficient software to calculate p-distance matrix based Variant Call Format
Stars: ✭ 54 (+25.58%)
Mutual labels:  population-genetics
phyml
PhyML -- Phylogenetic estimation using (Maximum) Likelihood
Stars: ✭ 125 (+190.7%)
Mutual labels:  phylogenetics
baltic
baltic - backronymed adaptable lightweight tree import code for molecular phylogeny manipulation, analysis and visualisation. Development is back on the evogytis/baltic branch (i.e. here).
Stars: ✭ 60 (+39.53%)
Mutual labels:  phylogenetics
treeio
🌱 Base Classes and Functions for Phylogenetic Tree Input and Output
Stars: ✭ 70 (+62.79%)
Mutual labels:  phylogenetic-trees
pastml
Ancestor character reconstruction and visualisation for rooted phylogenetic trees
Stars: ✭ 15 (-65.12%)
Mutual labels:  phylogenetics
SubstitutionModels.jl
Biological Sequence Substitution Models for Julia
Stars: ✭ 13 (-69.77%)
Mutual labels:  phylogenetics
PyPHLAWD
Python version of PHLAWD
Stars: ✭ 16 (-62.79%)
Mutual labels:  phylogenetics
next
(Work in progress) The rewritten version of the original PizzaQL 🍕
Stars: ✭ 45 (+4.65%)
Mutual labels:  placement
RNeXML
Implementing semantically rich NeXML I/O in R
Stars: ✭ 12 (-72.09%)
Mutual labels:  phylogenetics
admixr
An R package for reproducible and automated ADMIXTOOLS analyses
Stars: ✭ 20 (-53.49%)
Mutual labels:  population-genetics
CPP-DSA
C++ Data Structures and Algorithms | College Placement Course taught by renowned faculties of Apni Kaksha (Aman Dhattarwal).
Stars: ✭ 53 (+23.26%)
Mutual labels:  placement

genesis

A library for working with phylogenetic and population genetic data.

Build Status License Softwipe Score Language Platforms

Features

Genesis is a C++ library for working with phylogenetic and population genetic data:

  • Trees
    • Read, annotate and write trees in various formats.
    • Versatile tree data structure that can store any data on the edges and nodes.
    • Easily iterate trees with different policies (e.g., postorder, preorder).
    • Directly draw trees with colored branches to SVG files.
  • Placements
    • Read, manipulate and write jplace files from phylogenetic placement analyses.
    • Manipulate placement data: extract, filter, merge, and much more.
    • Calculate distance measures (e.g., KR distance, EDPL).
    • Run analyses like k-means Clustering, Squash Clustering, Edge PCA.
    • Visualize aspects like read abundances or correlation with meta-data on the branches of the tree.
  • Populations
    • Read and work with genome mapping and variant formats such as pileup and vcf.
    • Iterate positions in a genome, individually or in windows.
    • Compute statistics such as Tajima's D and F_ST for pool sequencing data.
  • Sequences and Taxonomies
    • Read, filter, manipulate and write sequences in fasta, fastq, and phylip format.
    • Calculate consensus sequences with different methods.
    • Work with taxonomic paths and build a taxonomic hierarchy.
  • Utilities
    • Math tools (matrices, histograms, statistics functions etc)
    • Color support (color lists, gradients etc, for making colored trees)
    • Various supportive file formats (bmp, csv, json, xml and more)

This is just an overview of the more prominent features. See the API reference for more.

Genesis is a library that is intended for researchers and developers who want to build their own tools and methods, or run their own custom analyses. If you are simply interested in analyzing your data with our methods, have a look at our command line tool Gappa for many common phylogenetic placement analyses.

Setup and Getting Started

For download and build instructions, see Setup.

You furthermore find all the information for getting started with genesis in the documentation. It contains a user manual with setup instructions and tutorials, as well as the full API reference.

For bug reports and feature requests of genesis, please open an issue on our GitHub page.

For user support of the phylogenetic placement parts of the library, please see our Phylogenetic Placement Google Group. It is intended for discussions about phylogenetic placement, and for user support for our software tools, such as EPA-ng and Gappa.

Showcases

A focus point of the library is to work with phylogenetic placements. The following figure summarized the placement position of 7.5 mio short reads on a reference tree with 190 taxa. The color code indicates the number of reads placed on each branch.

Phylogenetic tree with coloured branches.

This and other methods are presented in our manuscripts

Methods for Inference of Automatic Reference Phylogenies and Multilevel Phylogenetic Placement.
Lucas Czech, Pierre Barbera, and Alexandros Stamatakis.
Bioinformatics, 2018. https://doi.org/10.1093/bioinformatics/bty767

and

Scalable Methods for Analyzing and Visualizing Phylogenetic Placement of Metagenomic Samples.
Lucas Czech and Alexandros Stamatakis.
PLOS One, 2019. https://doi.org/10.1371/journal.pone.0217050

See there for more on what Genesis can do.

Citation

When using Genesis, please cite

Genesis and Gappa: processing, analyzing and visualizing phylogenetic (placement) data.
Lucas Czech, Pierre Barbera, and Alexandros Stamatakis.
Bioinformatics, 2020. https://doi.org/10.1093/bioinformatics/btaa070

Also, see Gappa for our command line tool to run your own analyses.

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].