molecules
This commit is contained in:
parent
d4c43ce50f
commit
81f25a3f38
1
client/.gitignore
vendored
1
client/.gitignore
vendored
@ -2,3 +2,4 @@ package-lock.json
|
|||||||
node_modules/
|
node_modules/
|
||||||
dist/
|
dist/
|
||||||
.cache/
|
.cache/
|
||||||
|
assets/molecules
|
||||||
|
|||||||
1
ops/.gitignore
vendored
1
ops/.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
package-lock.json
|
package-lock.json
|
||||||
|
molecules/
|
||||||
|
|||||||
45
ops/fetch.molecules.js
Normal file
45
ops/fetch.molecules.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
loop();
|
||||||
18
ops/molecules.js
Normal file
18
ops/molecules.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
const renderer = require('sdftosvg');
|
||||||
|
const uuidv4 = require('uuid/v4');
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
function convert(f) {
|
||||||
|
const uuid = uuidv4();
|
||||||
|
const input = `./molecules/${f}`;
|
||||||
|
const output = `./../client/assets/molecules/${uuid}.svg`;
|
||||||
|
fs.readFile(input, 'utf8', (err, sdf) => {
|
||||||
|
renderer.renderSdfToSvg(sdf, {}, function(err, svg) {
|
||||||
|
if (err) console.error(input, err);
|
||||||
|
fs.writeFile(output, svg, 'utf8', err => {
|
||||||
|
if (err) console.error(err);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@ -12,6 +12,9 @@
|
|||||||
"license": "UNLICENSED",
|
"license": "UNLICENSED",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"knex": "^0.15.2",
|
"knex": "^0.15.2",
|
||||||
"pg": "^7.4.3"
|
"pg": "^7.4.3",
|
||||||
|
"request": "^2.88.0",
|
||||||
|
"sdftosvg": "0.0.4",
|
||||||
|
"uuid": "^3.3.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user