Sha256: 8c4cf328e62ba4c5f5cd575e333064c60068ba9baf4128cd8001db10609b3147
Contents?: true
Size: 582 Bytes
Versions: 396
Compression:
Stored size: 582 Bytes
Contents
'use strict'; module.exports = dna; function dna(strand) { var acids = (strand || ''); var index = histogram(acids); for (var acid in acids) { if (!index.hasOwnProperty(acids[acid])) throw new RangeError('Invalid DNA ' + strand); } return Object.create({ histogram: histogram.bind(null, acids), count: count.bind(null, acids) }); } function count(acids, acid) { return acids.split(acid).length - 1; } function histogram(acids) { return { A: count(acids, 'A'), C: count(acids, 'C'), G: count(acids, 'G'), T: count(acids, 'T') }; }
Version data entries
396 entries across 396 versions & 1 rubygems