UNPKG

iham-parsers

Version:

orthoxml, phyloxml and newick parsers for the iHam widget

80 lines (76 loc) 4.12 kB
var hogvis = require("../index.js"); var chai = require('chai'), assert = chai.assert, expect = chai.expect; var fs = require('fs'); var parse_orthoxml = hogvis.parse_orthoxml, parse_newick = hogvis.parse_newick; var sptree = "(((BRAFL,((LEPOC,(ORYLA,DANRE)Clupeocephala)Neopterygii,((((((MOUSE,RAT)Murinae,(GORGO,HUMAN,PANTR)Homininae)Euarchontoglires,(CANLF,BOVIN)Laurasiatheria)Boreoeutheria,MONDO)Theria,CHICK)Amniota,XENTR)Tetrapoda)Euteleostomi,CIOIN)Chordata,((CAEEL,(IXOSC,(TRICA,(DROME,ANOGA)Diptera)Holometabola)Arthropoda)Ecdysozoa,HELRO)Protostomia)Bilateria,NEMVE)Eumetazoa;"; describe('Broken examples in iHAM found by Clement', function () { describe('xx', function () { it('per_species result', function () { var xml = '<orthoXML origin="OMA standalone (bottom-up)" originVersion="May 2018" version="0.3" xmlns="http://orthoXML.org/2011/">' + '<species name="IXOSC" NCBITaxId="-1"><database name="None" version="None">' + ' <genes><gene id="396005" protId="B7Q814"/></genes>' + '</database></species>' + '<species name="NEMVE" NCBITaxId="-1"><database name="None" version="None">' + ' <genes><gene id="542866" protId="A7RT19"/></genes>' + '</database></species>' + '<species name="CAEEL" NCBITaxId="-1"><database name="None" version="None">' + ' <genes><gene id="145205" protId="Q9U1N6"/></genes>' + '</database></species>' + '<species name="TRICA" NCBITaxId="-1"><database name="None" version="None">' + ' <genes><gene id="876634" protId="D6W716"/></genes>' + '</database></species>' + '<groups>' + ' <orthologGroup id="14595">' + ' <property name="TaxRange" value="Eumetazoa"/>' + //' <orthologGroup id="None">' + //' <property name="TaxRange" value="Bilateria"/>' + //' <orthologGroup id="None">' + //' <property name="TaxRange" value="Protostomia"/>' + ' <orthologGroup id="None">' + ' <property name="TaxRange" value="Ecdysozoa"/>' + ' <geneRef id="145205"/>' + ' <orthologGroup id="None">' + ' <property name="TaxRange" value="Arthropoda"/>' + ' <geneRef id="396005"/>' + //' <orthologGroup id="None">' + //' <property name="TaxRange" value="Holometabola"/>' + ' <geneRef id="876634"/>' + //' </orthologGroup>' + ' </orthologGroup>' + //' </orthologGroup>' + //' </orthologGroup>' + ' </orthologGroup>' + ' <geneRef id="542866"/>' + ' </orthologGroup>' + '</groups></orthoXML>'; var data = parse_orthoxml(sptree, xml); var ex_per_spec = { IXOSC: { IXOSC: [[396005]], Arthropoda: [[396005]], Ecdysozoa: [[396005]], //Protostomia: [[396005]], //Bilateria: [[396005]], Eumetazoa:[[396005]] }, CAEEL:{ CAEEL: [[145205]], Ecdysozoa: [[145205]], //Protostomia: [[145205]], //Bilateria: [[145205]], Eumetazoa: [[145205]]}, NEMVE:{ NEMVE: [[542866]], Eumetazoa: [[542866]]}, TRICA:{ TRICA: [[876634]], //Holometabola: [[876634]], Arthropoda: [[876634]], Ecdysozoa: [[876634]], //Protostomia: [[876634]], //Bilateria: [[876634]], Eumetazoa:[[876634]] } }; expect(ex_per_spec).to.eql(data.per_species); }) }) });