npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

aromaticity-core

v1.6.5

Published

The core of aromaticity. All the functions for existing and future applications.

Downloads

19

Readme

aromaticity-core

npm version

The core of aromaticity.

Use that library to compute Molecule Properties and query PubChem.

For more information visit: https://aromaticity.io/core.

Docs

  • Compute Molecule Properties
    • Constructor
    • Molecule Properties
    • Molfile
  • Query PubChem
    • Query
    • Fetched Properties
  • Examples

Compute Molecule Properties

Constructor

new Molecule(SMILES: string)

Molecule Properties

|Properties|Description| |---|---| |acceptor: number|Returns the Acceptor Number.| |averageBondLength(nonHydrogenBondsOnly: boolean = false): number|Returns the Average Bond Length.| |bonds: number|Returns the Bonds Number.| |donor: number|Returns the Donor Number.| |formula(isHTML: boolean = false): string|Returns the Molecular Formula.| |IUPACName(cb: Function): void|Get the IUPAC Name and pass it to a callback function.| |logP: number|Returns the LogP.| |logS: number|Returns the LogS.| |polarSurfaceArea: number|Returns the Polar Surface Area.| |rotatableBonds: number|Return the Rotatable Bonds Number.| |stereoCenters: number|Returns the Stereo Centers Number.| |SVG(width: number = 400, height: number = 400): string|Returns the SVG.| |weight: number|Returns the Molecular Weight.| |toMolfile(isV2000: boolean = false): string|Return the MolFile.| |toSMILES(): string|Returns the SMILES.|

Molfile

|Function|Description| |---|---| |molFileToMol(Molfile: string): Molecule|Returns Molecule from Molfile.| |molFileToSmiles(Molfile: string): string|Returns SMILES from Molfile.|

Query PubChem

Query

PubChem(smiles: string, PropertiesToFetch: Property[]|Property, cb: Function)

Fetched Properties

From PubChem you can fetch the following properties:

|Property|Description| |---|---| |MolecularFormula|Molecular formula.| |MolecularWeight|The molecular weight is the sum of all atomic weights of the constituent atoms in a compound, measured in g/mol. In the absence of explicit isotope labelling, averaged natural abundance is assumed. If an atom bears an explicit isotope label, 100% isotopic purity is assumed at this location.| |CanonicalSMILES|Canonical SMILES (Simplified Molecular Input Line Entry System) string. It is a unique SMILES string of a compound, generated by a “canonicalization” algorithm.| |IsomericSMILES|Isomeric SMILES string. It is a SMILES string with stereochemical and isotopic specifications.| |InChl|Standard IUPAC International Chemical Identifier (InChI). It does not allow for user selectable options in dealing with the stereochemistry and tautomer layers of the InChI string.| |InChIKey|Hashed version of the full standard InChI, consisting of 27 characters.| |IUPACName|Chemical name systematically determined according to the IUPAC nomenclatures.| |XLogP|Computationally generated octanol-water partition coefficient or distribution coefficient. XLogP is used as a measure of hydrophilicity or hydrophobicity of a molecule.| |ExactMass|The mass of the most likely isotopic composition for a single molecule, corresponding to the most intense ion/molecule peak in a mass spectrum.| |MonoisotopicMass|The mass of a molecule, calculated using the mass of the most abundant isotope of each element.| |TPSA|Topological polar surface area, computed by the algorithm described in the paper by Ertl et al.| |Complexity|The molecular complexity rating of a compound, computed using the Bertz/Hendrickson/Ihlenfeldt formula.| |Charge|The total (or net) charge of a molecule.| |HBondDonorCount|Number of hydrogen-bond donors in the structure.| |HBondAcceptorCount|Number of hydrogen-bond acceptors in the structure.| |rotatableBondCount|Number of rotatable bonds.| |HeavyAtomCount|Number of non-hydrogen atoms.| |IsotopeAtomCount|Number of atoms with enriched isotope(s)| |AtomStereoCount|Total number of atoms with tetrahedral (sp3) stereo [e.g., (R)- or (S)-configuration]| |DefinedAtomStereoCount|Number of atoms with defined tetrahedral (sp3) stereo.| |UndefinedAtomStereoCount|Number of atoms with undefined tetrahedral (sp3) stereo.| |BondStereoCount|Total number of bonds with planar (sp2) stereo [e.g., (E)- or (Z)-configuration].| |DefinedBondStereoCount|Number of atoms with defined planar (sp2) stereo.| |UndefinedBondStereoCount|Number of atoms with undefined planar (sp2) stereo.| |CovalentUnitCount|Number of covalently bound units.| |Volume3D|Analytic volume of the first diverse conformer (default conformer) for a compound.| |XStericQuadrupole3D|The x component of the quadrupole moment (Qx) of the first diverse conformer (default conformer) for a compound.| |YStericQuadrupole3D|The y component of the quadrupole moment (Qy) of the first diverse conformer (default conformer) for a compound.| |ZStericQuadrupole3D|The z component of the quadrupole moment (Qz) of the first diverse conformer (default conformer) for a compound.| |FeatureCount3D|Total number of 3D features (the sum of FeatureAcceptorCount3D, FeatureDonorCount3D, FeatureAnionCount3D, FeatureCationCount3D, FeatureRingCount3D and FeatureHydrophobeCount3D)| |FeatureAcceptorCount3D|Number of hydrogen-bond acceptors of a conformer.| |FeatureDonorCount3D|Number of hydrogen-bond donors of a conformer.| |FeatureAnionCount3D|Number of anionic centers (at pH 7) of a conformer.| |FeatureCationCount3D|Number of cationic centers (at pH 7) of a conformer. | |FeatureRingCount3D|Number of rings of a conformer.| |FeatureHydrophobeCount3D|Number of hydrophobes of a conformer.| |ConformerModelRMSD3D|Conformer sampling RMSD in Å.| |EffectiveRotorCount3D|Total number of 3D features (the sum of FeatureAcceptorCount3D, FeatureDonorCount3D, FeatureAnionCount3D, FeatureCationCount3D, FeatureRingCount3D and FeatureHydrophobeCount3D)| |ConformerCount3D|The number of conformers in the conformer model for a compound.| |Fingerprint2D|Base64-encoded PubChem Substructure Fingerprint of a molecule.|

Examples

import { Molecule } from 'aromaticity-core';

let mol = new Molecule('CCCO');

mol.IUPACName((name) => {
    console.log(name);  // propan-1-ol
})

console.log(mol.weight);    // 60

console.log(mol.formula())  // C3H8O
import { PubChem, Property } from 'aromaticity-core';

PubChem('CCC', [Property.MolecularFormula, Property.Complexity], (res) => {
    console.log(res);   // { CID: 6334, MolecularFormula: 'C3H8', Complexity: 0 }
})

PubChem('[Ca++]', Property.Charge, (res) => {
    console.log(res);   // 2
})