🚀 DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more
Socket
Book a DemoInstallSign in
Socket

@i-vresse/pdbtbx-ts

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@i-vresse/pdbtbx-ts

Wrapper around [pdbtbx rust library](https://crates.io/crates/pdbtbx) for reading (crystallographic) Protein Data Bank (PDB) and mmCIF files in JavaScript.

latest
Source
npmnpm
Version
0.1.7
Version published
Maintainers
1
Created
Source

NPM Package for pdbtbx

Wrapper around pdbtbx rust library for reading (crystallographic) Protein Data Bank (PDB) and mmCIF files in JavaScript.

npmjs.com Build DOI fair-software.eu

This NPM package only includes a subset of what the rust library can do. For now it is meanly focused on getting chain names and residue sequence numbers from PDB files.

This package uses wasm-pack and tsup to compile the pdbtbx rust library and its bindings to a NPM package using WebAssembly.

🚴 Usage

Add to your app with

npm install @i-vresse/pdbtbx-ts

In NodeJS use

const pdbtbx = await import('@i-vresse/pdbtbx-ts')
await pdbtbx.init()
const { readFile } = await import('fs/promises')
// A PDB file downloaded from https://github.com/haddocking/haddock3/tree/main/examples/docking-protein-protein/data
const content = await readFile('./e2aP_1F3G.pdb', encoding='ascii')
const info = pdbtbx.open_pdb(content)
{
  identifier: undefined,
  chains: [ 'A' ],
  residue_sequence_numbers: [
     19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,
    ...
  ],
  residues_per_chain: Map(1) {
    'A' => [
      { number: 19, insertion_code: '-' },
      { number: 20, insertion_code: '-' },
      ...
    ]
  },
  warnings: []
}

In an application using Vite, vitest and TypeScript use

import { init, open_pdb } from 'pdbtbx-ts'

async function parse(content: string) {
  await init()
  const info = open_pdb(content)
  return info
}

Development

Below are instructions how to develop this repository.

Requirements:

  • Rust
  • wasm-pack
  • NodeJS version 18 or greater

🛠️ Build

To build a NPM package in dist/ directory use

npm install
npm run build

🔬 Test

Tests can be found in tests/ directory.

Run JS tests that consume wasm.

npm run test

🎁 Publish to npmjs.com

npm publish --access public .

Keywords

pdb

FAQs

Package last updated on 16 Jun 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts