
Product
Introducing Socket Fix for Safe, Automated Dependency Upgrades
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
@rdkit/rdkit
Advanced tools
JavaScript distribution of cheminformatics functionality from the RDKit - a C++ library for cheminformatics.
A powerful cheminformatics and molecule rendering toolbelt for JavaScript
Explore the docs »
Report Bug
·
Request Feature
·
Star Repository
Resources | URL | Contributor(s) |
---|---|---|
JavaScript Examples | rdkitjs.com | @greglandrum , @MichelML |
React.js Examples | react.rdkitjs.com | @MichelML |
Vue.js Examples | vue.rdkitjs.com | @adam-of-barrot, @MichelML |
Angular.js Examples | angular.rdkitjs.com | @Phil-DS |
Next.js Examples | source code | @bugzpodder |
Node.js Examples | source code | @adam-of-barrot |
API Docs | docs.rdkitjs.com | @adam-of-barrot, @MichelML |
WASM Module | source code | @ptosco |
![]() |
---|
Molecule Rendering Examples |
RDKit.js is a powerful cheminformatics and molecule rendering toolbelt for JavaScript.
It is the official JavaScript distribution of cheminformatics functionality from the RDKit - a C++ library for cheminformatics.
The project is leveraging web assembly to rollout a subset of the RDKit functionality that is relevant in any javascript context. The WASM module bundled with this package is compiled directly from the RDKit source code.
The functionality included in RDKit.js is decided by the RDKit core team and its community. Thus, if you use this package, your voice matters.
This repository is currently dedicated to:
The scope of the project may change over time.
Any changes to the core RDKit wasm module (also known as RDKit's MinimalLib) is out of scope of this project.
To contribute or keep track of the changes to the core RDKit wasm module, go here.
npm i @rdkit/rdkit
# or yarn add @rdkit/rdkit
Once you have the RDKit package installed in your node modules, copy the following distribution files anywhere in your deployed assets.
node_modules/@rdkit/rdkit/dist/RDKit_minimal.js
node_modules/@rdkit/rdkit/dist/RDKit_minimal.wasm
NOTE: By default, both files must be copied at the same location in your deployed assets for the library to work properly. If you need the RDKIT_minimal.wasm
file to be loaded from another location, use the locateFile
option when invoking initRDKitModule
.
// Load the RDKit WASM module from a specific path on your server.
window.initRDKitModule({ locateFile: () => '/path/to/RDKit_minimal.wasm' }).then(/* ... */);
https://unpkg.com/@rdkit/rdkit/dist/RDKit_minimal.js
https://unpkg.com/@rdkit/rdkit/dist/RDKit_minimal.wasm
To use RDKit.js, load the javascript file and instantiate the wasm module inside the head
tag of your index.html
, before you run your application code:
<head>
<!-- ...other files and HTML tags... -->
<!-- Load the RDKit JS file -->
<script src="https://unpkg.com/@rdkit/rdkit/dist/RDKit_minimal.js"></script>
<!-- Instantiate the WASM module. The inline script below could live elsewhere inside your application code. -->
<script>
window
.initRDKitModule()
.then(function (RDKit) {
console.log("RDKit version: " + RDKit.version());
window.RDKit = RDKit;
/**
* The RDKit module is now loaded.
* You can use it anywhere.
*/
})
.catch(() => {
// handle loading errors here...
});
</script>
<!-- ...your application code goes here... -->
</head>
It is recommended to go through all the JavaScript examples available on the official website rdkitjs.com.
If you are using React.js, several additional examples using React.js are available at react.rdkitjs.com.
If you are using Next.js, you can use a modified webpack config to build your app.
If you are using Vue.js, several additional examples using Vue.js are available at vue.rdkitjs.com.
If you are using Angular, several additional examples using Angular are available at angular.rdkitjs.com.
To see how to use RDKit.js with TypeScript, please go through the walkthrough here.
The full documentation related to type definitions is at docs.rdkitjs.com.
Note: This is still at an experimental stage.
You are welcome to contribute to any GitHub issue currently open.
You are also welcome to log any issue or start a discussion on any topic related to RDKit.js.
To contribute to the plain javascript examples, read this sub-repository README.
To contribute to the React.js examples, read this sub-repository README.
To contribute to the Vue.js examples, read this sub-repository README.
To contribute to the Angular.js examples, read this sub-repository README.
NPM releases are currently semi-automated with the following azure pipeline:
https://dev.azure.com/rdkit-js/rdkit-js/_build?definitionId=1
Here are the guidelines to respect when releasing a new version of the package:
Example commit message: "RDKit release 2022.3.3-1.0.0"
Example: 2022_03_3
Example: 1.0.0
The scope of this repository goes beyond the release of the RDKit wasm core module. Other utilities may eventually be included on top of the core module in the RDKit.js npm release.
Because of that, we need a versioning system that will keep track of
With this in mind, we will attempt the following versioning scheme of the package:
Example: when the 2022.03.3 version of RDKit is released, its first NPM release will be
2022.03.3-1.0.0
.
Example: when a bug fix is made in a React component built on top of RDKit for version 2022.03.3, a new npm release
2022.03.3-1.0.1
will be published. Example: when a new React component is built on top of RDKit for version 2022.03.3, a new npm release2022.03.3-1.1.0
will be published.
Website deployments for rdkitjs.com are automated via Vercel for each commit merged or pushed to the master branch.
Live demo URLs are also generated on each pull requests made to easily visualize changes before merging.
FAQs
JavaScript distribution of cheminformatics functionality from the RDKit - a C++ library for cheminformatics.
The npm package @rdkit/rdkit receives a total of 5,396 weekly downloads. As such, @rdkit/rdkit popularity was classified as popular.
We found that @rdkit/rdkit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
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.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
Security News
CISA denies CVE funding issues amid backlash over a new CVE foundation formed by board members, raising concerns about transparency and program governance.
Product
We’re excited to announce a powerful new capability in Socket: historical data and enhanced analytics.