All Projects → sebotic → cdk_pywrapper

sebotic / cdk_pywrapper

Licence: AGPL-3.0 license
A Python wrapper for the Chemistry Development Kit (CDK)

Programming Languages

python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to cdk pywrapper

cellpy
extract and tweak data from electrochemical tests of cells
Stars: ✭ 46 (+84%)
Mutual labels:  chemistry
wolfssl-py
Python wrapper for wolfSSL embedded SSL/TLS library.
Stars: ✭ 30 (+20%)
Mutual labels:  python-wrapper
mddatasetbuilder
A script to build reference datasets for training neural network potentials from given LAMMPS trajectories.
Stars: ✭ 23 (-8%)
Mutual labels:  chemistry
PyBox
A box-model that automatically creates and solves equations used to describe the evolution in atmospheric composition using Python with Numba and, optionally, Fortran.
Stars: ✭ 30 (+20%)
Mutual labels:  chemistry
chanim
Animation engine for explanatory chemistry videos
Stars: ✭ 89 (+256%)
Mutual labels:  chemistry
aws-firewall-factory
Deploy, update, and stage your WAFs while managing them centrally via FMS.
Stars: ✭ 72 (+188%)
Mutual labels:  cdk
cdk-multi-profile-plugin
Adds multi profile/account, mfa and aws sso support to cdk apps
Stars: ✭ 41 (+64%)
Mutual labels:  cdk
xyz2graph
Convert an xyz file into a molecular graph and create a 3D visualisation of the graph.
Stars: ✭ 36 (+44%)
Mutual labels:  chemistry
cloudfront-image-proxy
Make CloudFront resize images "on the fly" via lambda@edge, cache it and persists it in S3.
Stars: ✭ 32 (+28%)
Mutual labels:  cdk
spectrochempy
SpectroChemPy is a framework for processing, analyzing and modeling spectroscopic data for chemistry with Python
Stars: ✭ 34 (+36%)
Mutual labels:  chemistry
django-cdk
A CDK library that provides high-level constructs for hosting Django applications on AWS
Stars: ✭ 31 (+24%)
Mutual labels:  cdk
py4chemoinformatics
Python for chemoinformatics
Stars: ✭ 78 (+212%)
Mutual labels:  chemistry
mongodb-chemistry
Ideas for chemical similarity searches in MongoDB.
Stars: ✭ 23 (-8%)
Mutual labels:  chemistry
cdk-github-actions-runner
Deploy self-hosted GitHub Actions runner to AWS Fargate using AWS Cloud Development Kit (CDK)
Stars: ✭ 89 (+256%)
Mutual labels:  cdk
AlgebraicPetri.jl
Build Petri net models compositionally
Stars: ✭ 49 (+96%)
Mutual labels:  chemistry
pem-dataset1
Proton Exchange Membrane (PEM) Fuel Cell Dataset
Stars: ✭ 48 (+92%)
Mutual labels:  chemistry
cdk-examples
AWS CDK Examples Repository
Stars: ✭ 49 (+96%)
Mutual labels:  cdk
CATmistry
Chemistry, Gamified
Stars: ✭ 15 (-40%)
Mutual labels:  chemistry
qcmaquis
Release-only repository for SCINE QCMaquis, the DMRG software from the Reiher group.
Stars: ✭ 18 (-28%)
Mutual labels:  chemistry
cli
Panacloud Command Line Interface (CLI) uses the design-first approach for developing APIs. It generates Modern Multi-Tenant Serverless Cloud API infrastructure, mocks, stubs, tests, and stages using CDK. GraphQL schemas and OpenAPI specifications are used to implement the design-first approach.
Stars: ✭ 23 (-8%)
Mutual labels:  cdk

Python Wrapper for the Chemistry Development kit

tl;dr

  • A Python wrapper for the CDK (which is written in Java)
  • Primary purpose:
    • Generate diverse chemical compound identifiers (SMILES, InChI)
    • Inter-convert between these identifiers
  • Fully compatible to Python 3.x

Motivation

The chemistry world only has a small number of open tools, e.g. OpenBabel and the Chemistry Development Kit (github).

I have been using OpenBabel for some time now, and it is a great tool offering many options, I found several issues which make it hard to use:

  • Generating InChI (keys) from SMILES often either does not work or struggles with stereochemistry.
  • InChI cannot be used as input format.

Installation

git clone https://github.com/sebotic/cdk_pywrapper.git
cd cdk_pywrapper

pip install .

This will install the package on your local system, it will download the CDK and it will build the cdk_bridge.java. So after that, cdk_pywrapper should be ready to use, like in the example below.

Don't forget to use e.g. sudo for global installation or pip3 for Python 3.

I will also host this on pypi soon, so no repo cloning will be required. I have tested it on Linux and MacOS, not sure if it would work on Windows.

Example

from cdk_pywrapper.cdk_pywrapper import Compound

smiles = 'CCN1C2=CC=CC=C2SC1=CC=CC=CC3=[N+](C4=CC=CC=C4S3)CC.[I-]'
cmpnd = Compound(compound_string=smiles, identifier_type='smiles')
ikey = cmpnd.get_inchi_key()
print(ikey)

Output: 'MNQDKWZEUULFPX-UHFFFAOYSA-M'

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].