All Projects → cmzmasek → archaeopteryx-js

cmzmasek / archaeopteryx-js

Licence: LGPL-2.1 License
Archaeopteryx.js is a software tool for the visualization and analysis of highly annotated phylogenetic trees.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to archaeopteryx-js

phyml
PhyML -- Phylogenetic estimation using (Maximum) Likelihood
Stars: ✭ 125 (+362.96%)
Mutual labels:  evolution, phylogenetics
FAVITES
FAVITES (FrAmework for VIral Transmission and Evolution Simulation)
Stars: ✭ 33 (+22.22%)
Mutual labels:  evolution, phylogenetics
genesis
A library for working with phylogenetic and population genetic data.
Stars: ✭ 43 (+59.26%)
Mutual labels:  phylogenetic-trees, phylogenetics
get phylomarkers
A pipeline to select optimal markers for microbial phylogenomics and species tree estimation using coalescent and concatenation approaches
Stars: ✭ 34 (+25.93%)
Mutual labels:  phylogenetic-trees, phylogenetics
PhyloTrees.jl
Phylogenetic trees in Julia
Stars: ✭ 15 (-44.44%)
Mutual labels:  phylogenetic-trees, phylogenetics
pioreactor
Hardware and software for accessible, extensible, and scalable bioreactors. Built on Raspberry Pi.
Stars: ✭ 28 (+3.7%)
Mutual labels:  evolution
ips-bph-framework
BLACKPHENIX is an open source malware analysis automation framework composed of services, scripts, plug-ins, and tools and is based on a Command-and-Control (C&C) architecture
Stars: ✭ 21 (-22.22%)
Mutual labels:  analysis
hawk
Collection of the tools for the efficient network analysis and modelling.
Stars: ✭ 15 (-44.44%)
Mutual labels:  analysis
static file analysis
Analysis of file (doc, pdf, exe, ...) in deep (emmbedded file(s)) with clamscan and yara rules
Stars: ✭ 34 (+25.93%)
Mutual labels:  analysis
page-counter
基于Serverless开发的的极简网页计数器,支持基于Hexo、Jekyll、Octopress、ReactJS、VueJS等框架开发的博客、网站、中后台等任何应用。
Stars: ✭ 29 (+7.41%)
Mutual labels:  analysis
dishtiny
DISHTINY: A Platform for Studying Open-Ended Evolutionary Transitions in Individuality
Stars: ✭ 25 (-7.41%)
Mutual labels:  evolution
keen-sdk-net
A .NET SDK for the Keen IO API
Stars: ✭ 35 (+29.63%)
Mutual labels:  analysis
tweetsOLAPing
implementing an end-to-end tweets ETL/Analysis pipeline.
Stars: ✭ 24 (-11.11%)
Mutual labels:  analysis
xbpch
xarray interface for bpch files
Stars: ✭ 17 (-37.04%)
Mutual labels:  analysis
tiny gp
Tiny Genetic Programming in Python
Stars: ✭ 58 (+114.81%)
Mutual labels:  evolution
RNAseq titration results
Cross-platform normalization enables machine learning model training on microarray and RNA-seq data simultaneously
Stars: ✭ 22 (-18.52%)
Mutual labels:  analysis
aut
The Archives Unleashed Toolkit is an open-source toolkit for analyzing web archives.
Stars: ✭ 111 (+311.11%)
Mutual labels:  analysis
MalScan
A Simple PE File Heuristics Scanners
Stars: ✭ 41 (+51.85%)
Mutual labels:  analysis
mysql-xplain-xplain
🐭 Explain Explainer for MySQL Queries.
Stars: ✭ 51 (+88.89%)
Mutual labels:  analysis
RDPlot
Tool for plotting rd curves from output of video coding test model software
Stars: ✭ 22 (-18.52%)
Mutual labels:  analysis

Archaeopteryx.js

Archaeopteryx.js is a software tool for the visualization and analysis of highly annotated phylogenetic trees.

Website

https://sites.google.com/view/archaeopteryxjs

npm

https://www.npmjs.com/package/archaeopteryx

GitHub

https://github.com/cmzmasek/archaeopteryx-js

Examples

Detailed developer documentation

https://docs.google.com/document/d/1COVe0iYbKtcBQxGTP4_zuimpk2FH9iusOVOgd5xCJ3A/edit

Dependencies

Archaeopteryx.js has the following dependencies:

For file (Newick/New Hampshire, phyloXML) and graphics (PNG, SVG) download/export, the following five libraries are required as well:

Additionally, Archaeopteryx.js also requires the following CSS:

Basic Example of HTML for launching Archaeopteryx.js

Example of HTML page to launch a basic Archaeopteryx.js instance:

<!DOCTYPE html>
<meta charset="utf-8">
<head>
   <title>Archaeopteryx.js Basic Demo</title>

   <!-- For MS IE/Edge compatibility:-->
   <meta http-equiv="X-UA-Compatible" content="IE=100">

   <!-- D3.js, jQuery, and jQuery UI:-->
   <script src="http://d3js.org/d3.v3.min.js"></script>
   <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
   <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>

   <!-- SAX XML parser:-->
   <script src="http://www.phyloxml.org/js/dependencies/sax.js"></script>

   <!-- Archaeopteryx.js requires forester.js and phyloxml.js:-->
   <script src="http://path/to/phyloxml.js"></script>
   <script src="http://path/to/forester.js"></script>
   <script src="http://path/to/archaeopteryx.js"></script>

   <!-- CSS for jQuery UI: -->
   <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css">

   <script>
       function load() {
           var options = {};
           options.backgroundColorDefault = '#f0f0f0';
           var settings = {};
           var loc = 'https://raw.githubusercontent.com/cmzmasek/archaeopteryx-js/master/test/data/phyloxml_trees/apaf.xml';

           jQuery.get(loc,
                   function (data) {
                       var tree = null;
                       try {
                           tree = archaeopteryx.parseTree(loc, data, true, false);
                       }
                       catch (e) {
                           alert("error while parsing tree: " + e);
                       }
                       if (tree) {
                           try {
                               archaeopteryx.launch('#phylogram1', tree, options, settings);
                           }
                           catch (e) {
                               alert("error while launching archaeopteryx: " + e);
                           }
                       }
                   },
                   "text")
                   .fail(function () {
                               alert("error: failed to read tree(s) from \"" + loc + "\"");
                           }
                   );
       }
   </script>
</head>

<body onload="load()">
<div>
   <h2>Archaeopteryx.js Basic Demo</h2>
   <div id='phylogram1'></div>
   <div id='controls0' class='ui-widget-content'></div>
</div>
</body>

forester.js

forester.js is a general suite for dealing with phylogenetic trees.

forester.js Example

This basic example shows how to parse a New Hampshire formatted String into to a object representing a phylogenetic tree. Followed by pre- and post-order traversal, and writing back to a New Hampshire formatted String.

Change './forester' to 'forester' if you use this code outside of this package

var forester = require('./forester').forester;

var newHampshireFormattedString = "(((a:1,b:1,c:1)N:2,(d:1,e:1)M:4)O:4,f:1)R:1;";
var phylogeneticTree = forester.parseNewHampshire(newHampshireFormattedString);

console.log('Pre-order traversal:');
forester.preOrderTraversalAll(forester.getTreeRoot(phylogeneticTree), function (n) {
    console.log(n.name + ':' + n.branch_length);
});

console.log('Post-order traversal:');
forester.postOrderTraversalAll(forester.getTreeRoot(phylogeneticTree), function (n) {
    console.log(n.name + ':' + n.branch_length);
});

console.log('In New Hampshire format:');
var nh = forester.toNewHampshire(phylogeneticTree);
console.log(nh);

Expected output:

Pre-order traversal:
R:1
f:1
O:4
M:4
e:1
d:1
N:2
c:1
b:1
a:1
Post-order traversal:
a:1
b:1
c:1
N:2
d:1
e:1
M:4
O:4
f:1
R:1
In New Hampshire format:
(((a:1,b:1,c:1)N:2,(d:1,e:1)M:4)O:4,f:1)R:1;
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].