Skip to main content

Light adapter classes around Open Babel, RDKit, and ChemAxon for the functionality needed in eQulibrator.

Project description

Current PyPI Version Supported Python Versions Apache Software License Version 2.0 Code Style Black

Light adapter classes around Open Babel, RDKit, and ChemAxon for the functionality needed in eQulibrator.

Install

Please note that while equilibrator-cheminfo as a pure Python package is operating system independent, the same is not true for the cheminformatics backends Open Babel, RDkit, or ChemAxon. While both Open Babel and RDKit nowadays provide Python wheels, we do not test them on all platforms.

RDKit

pip install equilibrator-cheminfo[rdkit]

or

Open Babel

pip install equilibrator-cheminfo[openbabel]

ChemAxon

If you wish to use ChemAxon, you need to install the software, acquire a license, and set the environment variable CHEMAXON_HOME.

pip install equilibrator-cheminfo[chemaxon]

Usage

The main feature in this package is a uniform class interface to molecules from Open Babel, RDKit, or ChemAxon. The interface is defined by the equilibrator_cheminfo.AbstractMolecule abstract class that the three concrete classes adhere to.

from equilibrator_cheminfo.chemaxon import ChemAxonMolecule
from equilibrator_cheminfo.rdkit import RDKitMolecule
from equilibrator_cheminfo.openbabel import OpenBabelMolecule

Some of the supported methods are:

mol = OpenBabelMolecule.from_smiles("CC=O")
mol.get_charge()  # 0
mol.get_molecular_formula()  # 'C2H4O'
mol.get_molecular_mass()  # 44.05
mol.get_inchi_key()  # 'IKHGUXGNUITLKF-UHFFFAOYSA-N'

You can also always access the cheminformatics backend object directly and pass it as an argument to functions directly imported from there.

mol.native  # <openbabel.pybel.Molecule at 0x7f2a14b36c70>
mol.native.calcfp().bits  # [330, 624, 671]

If there are general methods that you think are missing from the abstract interface, please say so in an issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

equilibrator-cheminfo-0.15.0.tar.gz (41.4 kB view details)

Uploaded Source

Built Distribution

equilibrator_cheminfo-0.15.0-py3-none-any.whl (76.6 kB view details)

Uploaded Python 3

File details

Details for the file equilibrator-cheminfo-0.15.0.tar.gz.

File metadata

  • Download URL: equilibrator-cheminfo-0.15.0.tar.gz
  • Upload date:
  • Size: 41.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for equilibrator-cheminfo-0.15.0.tar.gz
Algorithm Hash digest
SHA256 f7014e7d73b3bedea40fec25453fbb9109bbf18f1a12f74d18e196512af10552
MD5 dff0cb6ac383f75dae9fb0b9bb19236e
BLAKE2b-256 d0066b62ba9e17fdbbe65f0efb839e2b226d1008ed62c9aeaf21be1ed23c8998

See more details on using hashes here.

File details

Details for the file equilibrator_cheminfo-0.15.0-py3-none-any.whl.

File metadata

  • Download URL: equilibrator_cheminfo-0.15.0-py3-none-any.whl
  • Upload date:
  • Size: 76.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for equilibrator_cheminfo-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 158bdc08d077e32f223497fd239f0714b202e54742a3e1c6be141e7303c9f734
MD5 99daf04fb03eb52e6474b50bf737c5fa
BLAKE2b-256 d8b30b0ec09c6954c66bdd90b867b456ed5a3573c41e9249e5d12f58ad2d7dc1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page