UNPKG

fasta-parser

Version:

Buffer Stream parser from FASTA to JSON

33 lines (29 loc) 1.56 kB
var test = require('tape') var fasta = require('../') var jsonData = require('./data') var fastaData = new Buffer ('>contig1\n\ TCACCAACTACGAGATATGAGGTAAGCCAAAAAAGCACGTGGTGGCGCTCACCGACTGTTCCCAAACTGTAACTCATCGTT\n\ CCGTCAAGGCCTGACTTACTTCCCGGCCCTTTCCATGCGCGGACCATACCGTCCTAGTTCTTCGGTTATGTTTCCGATGTA\n\ GGAGTGAGCCTACCTCCGTTTGCGTCTTGTTACCAATGAAAAAGCTATGCACTTTGTACAGGGTGCCATCGGGTTTCTGAA\n\ CTCTCAGATAGTGGGGATCCCGGGAAAGGGCCTATATTTGCGGTCCAACTTAGGCGTAAACCTCGATGCTACCTACTCAGA\n\ CCCACCCCGCGCGGGGTAAATATGGCACTCATCCCAGCTGGTTCTTGGCGTTCTACGCAGCCACATGTTCATTAACAGTTG\n\ TCTGGTAGCACAAAAGTATTACCATGGTCCTAGAAGCCCGGCAGAGTTAGTTCGAACCTAATGCCACAAATGAGACAGGAC\n\ >contig2\n\ GCCAATGGGTACCGGACATTAGGTCGAGCTCAGTTCGGTAACGGAGAGACCCTGCGGCGTACTTAATTATGCATATGAAAC\n\ GCGCCCAAGTGACGCCAGGCAAGTCTCAGCAGGTTCCCGTGTTAGCTCGAGGGTAAACATACAAGCCGATTGAACATGGGT\n\ TGGGGGCTTCAAATCGTCGAGGACCCCACAGTACCTCGGAGACCAAGTAGGGCACCCTATAGTTCGAAGCAGAACTATTTC\n\ GAGGGGCGAGCCCTCATCGTCTCTTCTGCGGATGACTTAACACGCTAGGGACGTGGAGTCGATTCCATCGATGGTTATAAA\n\ > contig3 with | "strange" chars > in the header % 123\n\ TCAAAGATTCGGAATGCTGTCTGGAGGGTGAATCTAACGGTGCGTATCTCGATTGCTCAGTCGCTTTTCGTACTGCGCGAA\n\ AGTTCGTACCGCTCATTCACTTGGTTCCGAAGCCTGTCCTGATATATGAATCCAAACTAGAGCGGGGCTCTTGACATTTGG\n\ AGTTGTAAATATCTAATACTCCAATCGG\n') test('Should parse a FASTA Buffer to a JSON Buffer', function(t) { t.plan(1) var result = [] var parser = fasta() parser .on('data', function(data) { result.push(JSON.parse(data.toString())) }) .on('end', function() { t.deepEqual(result, jsonData) }) parser.write(fastaData) parser.end() })