All Projects → partridgejiang → Kekule.js

partridgejiang / Kekule.js

Licence: mit
A Javascript cheminformatics toolkit.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Kekule.js

MolecularGraph.jl
Graph-based molecule modeling toolkit for cheminformatics
Stars: ✭ 144 (-7.69%)
Mutual labels:  chemistry, cheminformatics, molecule
Version3-1
Version 2020 (3.1) of Chem4Word - A Chemistry Add-In for Microsoft Word
Stars: ✭ 14 (-91.03%)
Mutual labels:  chemistry, cheminformatics, molecule
Thermo
Thermodynamics and Phase Equilibrium component of Chemical Engineering Design Library (ChEDL)
Stars: ✭ 279 (+78.85%)
Mutual labels:  chemistry, cheminformatics, molecule
Version3
Version 3 of Chem4Word - A Chemistry Add-In for Microsoft Word
Stars: ✭ 53 (-66.03%)
Mutual labels:  chemistry, cheminformatics, molecule
AMPL
The ATOM Modeling PipeLine (AMPL) is an open-source, modular, extensible software pipeline for building and sharing models to advance in silico drug discovery.
Stars: ✭ 85 (-45.51%)
Mutual labels:  chemistry, cheminformatics
molml
A library to interface molecules and machine learning.
Stars: ✭ 57 (-63.46%)
Mutual labels:  chemistry, cheminformatics
Chemozart
Web-based 3D molecule editor and visualizer with molecular mechanics calculators.
Stars: ✭ 142 (-8.97%)
Mutual labels:  chemistry, molecule
xyz2graph
Convert an xyz file into a molecular graph and create a 3D visualisation of the graph.
Stars: ✭ 36 (-76.92%)
Mutual labels:  chemistry, molecule
molecules
chemical graph theory library for JavaScript
Stars: ✭ 83 (-46.79%)
Mutual labels:  chemistry, cheminformatics
Indigo
Universal cheminformatics libraries, utilities and database search tools
Stars: ✭ 146 (-6.41%)
Mutual labels:  chemistry, cheminformatics
Openbabel
Open Babel is a chemical toolbox designed to speak the many languages of chemical data.
Stars: ✭ 492 (+215.38%)
Mutual labels:  chemistry, cheminformatics
Stk
A Python library which allows construction and manipulation of complex molecules, as well as automatic molecular design and the creation of molecular databases.
Stars: ✭ 99 (-36.54%)
Mutual labels:  chemistry, cheminformatics
Tdc
Therapeutics Data Commons: Machine Learning Datasets and Tasks for Therapeutics
Stars: ✭ 291 (+86.54%)
Mutual labels:  chemistry, cheminformatics
Cirpy
Python wrapper for the NCI Chemical Identifier Resolver (CIR)
Stars: ✭ 55 (-64.74%)
Mutual labels:  chemistry, cheminformatics
Chemfiles
Library for reading and writing chemistry files
Stars: ✭ 95 (-39.1%)
Mutual labels:  chemistry, cheminformatics
GLaDOS
Web Interface for ChEMBL @ EMBL-EBI
Stars: ✭ 28 (-82.05%)
Mutual labels:  chemistry, cheminformatics
Smiles Transformer
Original implementation of the paper "SMILES Transformer: Pre-trained Molecular Fingerprint for Low Data Drug Discovery" by Shion Honda et al.
Stars: ✭ 86 (-44.87%)
Mutual labels:  chemistry, cheminformatics
py4chemoinformatics
Python for chemoinformatics
Stars: ✭ 78 (-50%)
Mutual labels:  chemistry, cheminformatics
mongodb-chemistry
Ideas for chemical similarity searches in MongoDB.
Stars: ✭ 23 (-85.26%)
Mutual labels:  chemistry, cheminformatics
Cdk
The Chemistry Development Kit
Stars: ✭ 283 (+81.41%)
Mutual labels:  chemistry, cheminformatics

Kekule.js

Kekule.js is an open source JavaScript toolkit for chemoinformatics released under MIT license. It can be used in both web applications and node applications to read, write, display and edit chemical objects (e.g. molecules) and to perform some chemical algorithms (e.g. molecule structure comparing, searching, aromatic detection).

More details about this project can be found in Kekule.js website.

Installation

For web applications, Kekule.js can be used in a traditional way by simply including it in the HTML page with <script> tag:

<script src="kekule.js?module=io,chemWidget,algorithm"></script>

Note the module param after "?". In the example above, module io, chemWidget and algorithm, as well as other prerequisite modules will be loaded.

If widget or chem widget modules are used, additional style sheet file also need to be linked in HTML page:

<link rel="stylesheet" type="text/css" href="themes/default/kekule.css" />

The whole package can also be installed by npm in both web and node applications:

$ npm install kekule

In Node or Webpack environment, the Kekule namespace should be imported into the application:

var Kekule = require('kekule').Kekule;

After installation (in web or in node.js environment), you can run a small test to ensure that the toolkit works properly:

// Create a simple CO2 molecule
var mol = new Kekule.Molecule();
var atomC = mol.appendAtom('C');
var atomO1 = mol.appendAtom('O');
var atomO2 = mol.appendAtom('O');
mol.appendBond([atomC, atomO1], 2);
mol.appendBond([atomC, atomO2], 2);

// Get formula
var formula = mol.calcFormula();
console.log('Formula: ', formula.getText());

// Output SMILES (IO module should be loaded in web application)
var smiles = Kekule.IO.saveFormatData(mol, 'smi');
console.log('SMILES: ', smiles);

// Output MOL2k (IO module should be loaded in web application)
var mol2k = Kekule.IO.saveFormatData(mol, 'mol');
console.log('MOL 2000: \n', mol2k);

Dynamic Module Loading

The Kekule.js package is divided into several independent modules. Instead of loading all of them at the beginning, a dynamic loading approach can be used for better performance in both web and Node environment. For example:

Kekule.modules(['algorithm', 'calculation'], function(error) {
    if (!error)
    {
        // algorithm and calculation modules loaded successfully, functions can be used now.
    }
});

Documentations and Demos

A set of tutorials and demos are built to explain the basic operations in Kekule.js (e.g. creating molecule, loading and saving chemical objects, getting molecule information and usage of chem widgets).

The full API documents can be found here.

License

The toolkit is released under MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].