В этом примере буду использовать parse-pdb https://www.npmjs.com/package/parse-pdb
Итак создаём папку pdbtest, потом спомощью командного интерпретатора cmd заходим в папку pdbtest, и выполняем команду npm i parse-pdb, после установке добавляете 2 файла в папку pdbtest 1)offline_pdb_parser.js, и 2)online_pdb_parser.js
Метод 1:
файл offline_pdb_parser.js
const parsePdb = require('parse-pdb'); const { readFileSync } = require('fs'); const pdbString = readFileSync('./1ODF.pdb', 'utf8'); // Читает PDB файл const parsed = parsePdb(pdbString); // Превращает в JSON for(var i=0; i<parsed.atoms.length; i++) { // Получаем цепочку, название атома, и его координаты x,y,z console.log(`${parsed.atoms[i].chainID} ${parsed.atoms[i].name} ${parsed.atoms[i].x} ${parsed.atoms[i].y} ${parsed.atoms[i].z}`); }
Метод 2:
файл online_pdb_parser.js
const parsePdb = require('parse-pdb'); const https = require('https'); const { readFileSync } = require('fs'); https.get('http://localhost/pdb/1ODF.pdb', res => { // Читает файл из URL var pdbString = ''; res.on('data', chunk => { pdbString += chunk; }); res.on('end', () => { const parsed = parsePdb(pdbString); // Превращает в JSON for(var i=0; i<parsed.atoms.length; i++) { // Получаем цепочку, название атома, и его координаты x,y,z console.log(`${parsed.atoms[i].chainID} ${parsed.atoms[i].name} ${parsed.atoms[i].x} ${parsed.atoms[i].y} ${parsed.atoms[i].z}`); } }) .on('error', (e) => { console.log(`Ошибка ${error}`); }); });
Чтобы запустить пишим в командной строке node offline_pdb_parser.js или node online_pdb_parser.js. В обоих примерах получаем названия атома, цепочку, и 3D координаты атома.