UNPKG

tandem-parser

Version:

A parser for X! tandem xml output files

37 lines (32 loc) 1.92 kB
var fs = require('fs'); var test = require('tape'); var tandem = require('../index'); var filename = "output.xml"; test('Basic parsing', function(t) { fs.readFile(filename, 'utf8', function(err, data) { if (err) throw err; let psmList = tandem.parse(data, 'decoy'); let spectrumID = psmList[0]; t.equal(spectrumID['search_engine'], 'tandem', 'Search engine is correct'); t.equal(spectrumID['sequence'], 'SIVPSGASTGVHEALEMR', 'Sequence is correct'); t.equal(spectrumID['sequence_pre'], 'R', 'Sequence pre is correct'); t.equal(spectrumID['sequence_post'], 'D', 'Sequence post is correct'); t.equal(spectrumID['missed_cleavages'], 0, 'Missed cleavages is correct'); t.equal(spectrumID['protein'], 'YGR254W_decoy', 'Protein is correct'); t.equal(spectrumID['charge'], 1, 'Charge is correct'); t.equal(spectrumID['retention_time'], 10.2, 'Retention time is correct'); t.equal(spectrumID['precursor_mass'], 1839.9187235331879, 'Precursor mass is correct'); t.equal(spectrumID['mass_err'], 0.0038, 'Mass err is correct'); t.equal(spectrumID['theoretical_mass'], 1839.914923533188, 'Theoretical mass is correct'); t.equal(spectrumID['modifications'].length, 0, 'Modifications are correct (there are none)'); t.equal(spectrumID['filename'], 'test_spectra.mgf', 'Spectra filename is correct'); t.equal(spectrumID['scan_title'], 'Label: W933, Spot_Id: 159969, Peak_List_Id: 184764, MSMS Job_Run_Id: 14047, Comment:', 'Scan title is correct'); t.equal(spectrumID['scan_id'], '581', 'Scan ID is correct'); t.equal(spectrumID['hyperscore'], 66.8, 'Hyperscore is correct'); t.equal(spectrumID['nextscore'], 14.1, 'Nextscore is correct'); t.equal(spectrumID['expect'], 3.3e-12, 'Expect value is correct'); t.equal(spectrumID['is_decoy'], true, 'Is a decoy'); t.equal(spectrumID['rank'], 1, 'Rank is correct'); t.end(); }); });