Open Cheminformatics Libraries written in JavaScript and working both in browser and server side (NodeJS)
- @chemistry/common - common interfaces
- @chemistry/elements - chemical elements table information
- @chemistry/formula - utils for parsing chemical formula
- @chemistry/math - linear algebra support
- @chemistry/molecule - molecule basic class
- @chemistry/space-groups - space groups list
Example of @chemistry/elements usecase;
import { ChemElement, ChemElementData } from '@chemistry/elements';
const hydrogen = ChemElement.getById(1);
console.log(hydrogen);
// { id: 1, symbol: "H", RCow: 0.37, RVdW: 1.2, maxBonds: 1, mass: 1.00794, name: "Hydrogen", posX: 1, posY: 1, color: "#FFFFFF", color2: "#808080" }
const carbon = ChemElement.getBySymbol('C');
console.log(carbon);
// { id: 6, symbol: "C", RCow: 0.77, RVdW: 1.7, maxBonds: 4, mass: 12.0107, name: "Carbon", posX: 2, posY: 14, color: "#909090", color2: "#000000" }
- MonoRepo build with lerna
- Auto Release Script
- Typescript 3.7
- Isomorphic (for Node & browsers)
- Auto tests with JEST
- ~100% code coverage
npm install
npm run bootstrap
npm run build
- Run unit tests:
npm run test
- Start TDD flow:
npm run tdd
- Run linter verification:
npm run lint
- Run linter verification & fix:
npm run lintfix
- Build project:
npm run build
git tag v2.8.0
git push --tags
This project is licensed under the MIT license, Copyright (c) 2019 Volodymyr Vreshch. For more information see LICENSE.md.