В этом примере буду использовать 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 координаты атома.