7.0.4 • Published 3 months ago
sdf-parser v7.0.4
sdf-parser
Allow to parse a SDF file and convert it to an array of objects.
Use of the package
npm install sdf-parser
In node script:
// allows to parse a file test.sdf that would be present in the same directory
var { parse } = require('sdf-parser');
var fs = require('fs');
var sdf = fs.readFileSync('./test.sdf', 'utf-8');
var result = parse(sdf);
console.log(result);
require('sdf-parser') (sdf, options)
options:
- exclude : array of string containing the fields to discard
- include : array of string containing the fields to keep
- modifiers : object of functions that need to be converted during the parsing
- filter : function that allows to filter the result
- mixedEOL : if set to true will try to deal with mixed End Of Line separator
- dynamicTyping : convert fields containing only number to numbers (default: true)
Advanced example with filtering and modifiers
var result = parse(sdf, {
exclude: ['Number of H-Donors'],
include: ['Number of H-Donors', 'CLogP', 'Code'],
modifiers: {
CLogP: function (field) {
return {
low: field * 1 - 0.2,
high: field * 1 + 0.2,
};
},
},
filter: (entry) => {
return entry.CLogP && entry.CLogP.low > 4;
},
});
Iterator
const { iterator } = require('sdf-parser');
const file = await openAsBlob(join(__dirname, 'test.sdf.gz'));
const decompressionStream = new DecompressionStream('gzip');
const textDecoder = new TextDecoderStream();
const stream = file
.stream()
.pipeThrough(decompressionStream)
.pipeThrough(textDecoder);
const results = [];
for await (const entry of iterator(stream)) {
results.push(entry);
}
License
7.0.4
3 months ago
7.0.3
4 months ago
7.0.2
4 months ago
6.0.1
3 years ago
6.0.0
3 years ago
5.0.2
3 years ago
5.0.1
3 years ago
5.0.0
4 years ago
4.0.2
5 years ago
4.0.1
6 years ago
4.0.0
6 years ago
3.1.0
7 years ago
3.0.1
7 years ago
3.0.0
7 years ago
2.3.1
8 years ago
2.2.0
9 years ago
2.0.1
9 years ago
2.0.0
9 years ago
1.0.0
10 years ago