MCUL

MCUL simplifies the logic behind organizing atoms into molecules.

npm downloads package size Patreon donate button

Installation

MCUL can be used in Node.js or with webpack, browserify, etc. Add using NPM or Yarn.

npm i mcul
yarn add mcul

MCUL can also be used over CDN. In this case, mcul loads as window.mcul.

<script src="https://cdn.jsdelivr.net/npm/mcul@0.1.0-alpha3/dist/mcul.js"></script>

Custom Installation

To make changes to the code, clone it and install the development dependencies.

git clone https://github.com/teamtofu/mcul.git
cd mcul
yarn install # or npm install

After the changes, run yarn build or npm run build to build the code. Use dist/mcul.js ONLY if you plan to load in the code as a script on a website. For Node.js and packagers like webpack or Rollup, use dist/mcul.node.js.

Example

const { Molecule, Atom } = require('mcul'); // Generate new Molecule instance let ethanol = new Molecule(); // Use Molecule.createAtoms to create an array of atoms let hydrogen = ethanol.createAtoms('H', 6); // You can also create individual atoms and link them to the mo let carbon = [new Atom('C').in(ethanol), ethanol.contains(new Atom('C'))]; let oxygen = ethanol.createAtom('O'); ethanol .bond(carbon[0], carbon[1]) .bond(carbon[0], hydrogen[0]) .bond(carbon[0], hydrogen[1]) .bond(carbon[0], hydrogen[2]) .bond(carbon[1], hydrogen[3]) .bond(carbon[1], hydrogen[4]) .bond(carbon[1], oxygen) .bond(oxygen, hydrogen[5]); // Get the mass of the ethanol console.log(ethanol.mass); // Get all possible connected paths to an atom console.log(ethanol.getBranchPaths(carbon[0])); // Get all bonded atoms console.log(ethanol.getBondedAtoms(carbon[1]).map((atom) => atom.name));

Data Sources

Data Source
Average Atomic Masses PubChem

License

Patreon donate button

Copyright © 2020 Russell Steadman. Licensed under an MIT License (see the LICENSE file for terms).