phylotree
Version:
A JavaScript library for developing applications and interactive visualizations involving [phylogenetic trees](https://en.wikipedia.org/wiki/Phylogenetic_tree), written as an extension of the [D3](http://d3js.org) [hierarchy layout](https://github.com/d3/
29 lines (20 loc) • 728 B
JavaScript
const fs = require("fs"),
phylotree = require("../dist/phylotree.js"),
commander = require("commander"),
_ = require("lodash");
commander
.arguments("<fasta>", "Input fasta file")
.usage("./test/data/CD2.fas")
.on("--help", function() {
console.log("\nConstructs neighbor-joining algorithm");
})
.parse(process.argv);
fs.readFile(commander.args[0], ( err, fastaData ) => {
let fasta = phylotree.parseFasta(fastaData);
let nodeList = _.keys(fasta);
let distanceMatrix = phylotree.getDistanceMatrix(fasta);
let distanceMatrixArr = _.values(distanceMatrix);
let nj = phylotree.neighborJoining(distanceMatrixArr, _.keys(fasta).length, nodeList)
console.log(nj.getNewick());
});