just convert from bulk file (ask me for it)

This commit is contained in:
ntr 2019-03-27 14:28:23 +11:00
parent 81f25a3f38
commit a6926e9c7a
4 changed files with 57 additions and 23 deletions

1
ops/.gitignore vendored
View File

@ -1,3 +1,4 @@
node_modules/
package-lock.json
molecules/
bulk.sdf

View File

@ -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);
// }
// }
// }

View File

@ -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"

View File

@ -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