6.0.1 • Published 2 years ago

sdf-parser v6.0.1

Weekly downloads
145
License
MIT
Repository
github
Last release
2 years ago

sdf-parser

NPM version build status npm download

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

This API is only available on Node.js.

const { iterator } = require('sdf-parser');
const readStream = createReadStream(join(__dirname, 'test.sdf.gz'));
const stream = readStream.pipe(createGunzip());
const results = [];
for await (const entry of iterator(stream)) {
  results.push(entry);
}

License

MIT

6.0.1

2 years ago

6.0.0

2 years ago

5.0.2

2 years ago

5.0.1

2 years ago

5.0.0

3 years ago

4.0.2

4 years ago

4.0.1

5 years ago

4.0.0

5 years ago

3.1.0

6 years ago

3.0.1

6 years ago

3.0.0

6 years ago

2.3.1

7 years ago

2.2.0

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.0

9 years ago