iham-parsers
Version:
orthoxml, phyloxml and newick parsers for the iHam widget
80 lines (76 loc) • 4.12 kB
JavaScript
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);
})
})
});