Giter Site home page Giter Site logo

rcbiczok / genesis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lczech/genesis

0.0 2.0 0.0 6.23 MB

A library for working with phylogenetic data.

Home Page: http://genesis-lib.org/

License: GNU General Public License v3.0

CMake 1.44% Makefile 0.06% C++ 95.49% Shell 1.17% Python 1.85%

genesis's Introduction

genesis

A library for working with phylogenetic data.

Build Status License Language

Features

Genesis is a C++ library for working with phylogenetic data. A main focus are evolutionary placements of short environmental sequences on a reference phylogenetic tree. Such data is typically produced by tools like EPA-ng, RAxML-EPA or pplacer and usually stored in jplace files.

Some of the features of genesis:

  • Placements
    • Read, manipulate and write jplace files.
    • 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.
  • 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.
  • Sequences and Taxonomies
    • Read, filter, manipulate and write sequences in fasta 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.

Setup and Getting Started

For download and build instructions, see Setup.

You futhermore 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 user support, please see our Phylogenetic Placement Google Group. It is intended for discussions about phylogenetic placement, and for user support for our software tools. You can also find support for EPA-ng and Gappa there.

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

Showcase

A focus point of the toolkit 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 colour code indicates the number of reads placed on each branch.

Phylogenetic tree with coloured branches.

genesis's People

Contributors

lczech avatar pierrebarbera avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.