diff --git a/ops/.gitignore b/ops/.gitignore index ee38e5d5..2a51843a 100755 --- a/ops/.gitignore +++ b/ops/.gitignore @@ -1,3 +1,4 @@ node_modules/ package-lock.json molecules/ +bulk.sdf diff --git a/ops/fetch.molecules.js b/ops/fetch.molecules.js index bb0f7bed..5b9b7ba2 100644 --- a/ops/fetch.molecules.js +++ b/ops/fetch.molecules.js @@ -1,4 +1,3 @@ -const request = require('request'); const fs = require('fs'); const renderer = require('sdftosvg'); @@ -6,40 +5,78 @@ const SVG_OPTS = { backgroundColor: 'none', } -function fetch(i) { +function convert(i) { + const output = `./../client/assets/molecules/${i}.svg`; + return new Promise((resolve, reject) => { - const url = `https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/CID/${i}/record/SDF/?record_type=2d&response_type=save&response_basename=Structure2D_CID_2519`; - const output = `./../client/assets/molecules/${i}.svg`; - - request(url, function cb(err, res, body) { - if (err) reject(err); - - // write file - fs.writeFile(`./molecules/Structure2D_CID_${i}.sdf`, body, function written(err) { - if (err) reject(err); - }); - + fs.readFile(`./molecules/mol${i}`, 'utf8', function rfCb(err, sdf) { + if (err) return reject(err); // write svg - renderer.renderSdfToSvg(body, SVG_OPTS, function(err, svg) { - if (err) reject(err); + renderer.renderSdfToSvg(sdf, SVG_OPTS, function(err, svg) { + if (err) return reject(err); fs.writeFile(output, svg, function written(err) { if (err) reject(err); resolve(); }); }); - }); + }) }); } async function loop() { for (var i = 10000; i >= 0; i--) { try { - await fetch(i); + await convert(i); console.log('finished record', i); } catch (e) { - console.error(e); + console.error('record error', i, e); } } } loop(); + +// const request = require('request'); +// const fs = require('fs'); +// const renderer = require('sdftosvg'); + +// const SVG_OPTS = { +// backgroundColor: 'none', +// } + +// function fetch(i) { +// return new Promise((resolve, reject) => { +// const url = `https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/CID/${i}/record/SDF/?record_type=2d&response_type=save&response_basename=Structure2D_CID_2519`; +// const output = `./../client/assets/molecules/${i}.svg`; + +// request(url, function cb(err, res, body) { +// if (err) reject(err); + +// // write file +// fs.writeFile(`./molecules/Structure2D_CID_${i}.sdf`, body, function written(err) { +// if (err) reject(err); +// }); + +// // write svg +// renderer.renderSdfToSvg(body, SVG_OPTS, function(err, svg) { +// if (err) reject(err); +// fs.writeFile(output, svg, function written(err) { +// if (err) reject(err); +// resolve(); +// }); +// }); +// }); +// }); +// } + +// async function loop() { +// for (var i = 10000; i >= 0; i--) { +// try { +// await fetch(i); +// console.log('finished record', i); +// } catch (e) { +// console.error(e); +// } +// } +// } + diff --git a/ops/package.json b/ops/package.json index 9ab56e0a..c0955c0a 100755 --- a/ops/package.json +++ b/ops/package.json @@ -4,6 +4,7 @@ "description": "", "main": "index.js", "scripts": { + "split:molecules": "cd molecules; csplit -f mol bulk.sdf /\$\$\$\$/ {*} --suppress-matched -z", "migrate": "knex migrate:latest", "migrate:make": "knex migrate:make --", "test": "echo \"Error: no test specified\" && exit 1" diff --git a/server/WORKLOG.md b/server/WORKLOG.md index c533abaa..d0b44c22 100644 --- a/server/WORKLOG.md +++ b/server/WORKLOG.md @@ -38,11 +38,6 @@ make strike *really* hit first / resolve at same time? * vbox drops chances * 50% spec, 25% colour etc -* rework damage and resolutions - deal_damage(colour) - resolutions.push(skill()).flatten() - overkill in logs - * confirm cryp without skill ready * iconography * aoe skills