Skip to main content

Vectorized cheminformatics library leveraging EPAM Indigo Toolkit

Project description

Chemivec

Vectorized Cheminformatics Python library, based on EPAM Indigo toolkit C-API and using NumPy for input/output.

Supported operations:

rxn_subsearch(input, query) - reaction substructure match
    input : reaction SMILES array (numpy, pandas and python list supported)
    query : reaction query SMARTS, ex "C=C>>C-C"

Example usage:

import numpy as np
import chemivec

arr = np.array(['[C:1]=O>>[C:1]O', 'C=O>>CO'])
query = "[C:1]=O>>[C:1]O"
res = chemivec.rxn_subsearch(arr, query=query)
print(res)

# Output: array([ True, False]) 

Multithreading

Multithreading realized by OpenMP library. By default, tries to use maximum available number of cores. Number of cores can be specified as a global option or passed as a parameter.

import chemivec

chemivec.rxn_subsearch(arr, query=query)   # default max available cores
chemivec.set_option("n_jobs", 12)                 # change defaults
chemivec.rxn_subsearch(arr, query=query, n_jobs=8)

Atom-to-atom matching (AAM)

If atom mapping is present in the query, ex [C:1]>>[C:1] chemivec follows the standard DAYLIGHT SMARTS rules declared here https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html (Section 4.6 Reaction Queries)

Install

Download from pip

pip install chemivec

Build from sources

python3 -m twine check wheelhouse/*

Ubuntu

sudo apt install build-essential ninja-build mc wget git libcairo2-dev zlib1g-dev -y git clone https://github.com/alkorolyov/chemivec

wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh;chmod +x Mambaforge-Linux-x86_64.sh;bash Mambaforge-Linux-x86_64.sh;export MAMBA_NO_BANNER=1

if conda still not seen then ~/.bashrc is not sourced when you log in using SSH.

You need to source it in your ~/.bash_profile like this:

echo "if [ -f ~/.bashrc ]; then . ~/.bashrc fi" >> ~/.bash_profile

restart shell

conda config --set auto_activate_base false mamba create -n dev mamba activate dev mamba install pip pytest -y pip install .

(optional) to build in cibuildwheel

pip install cibuildwheel sudo apt-get install docker.io -y; sudo groupadd docker; sudo usermod -aG docker $USER sudo reboot now cd chemivec cibuildwheel --platform linux

Windows

mingw64 on windows download stable mingw64 release, extract and add to %Path% https://github.com/brechtsanders/winlibs_mingw/releases/download/11.2.0-10.0.0-msvcrt-r1/winlibs-x86_64-posix-seh-gcc-11.2.0-mingw-w64msvcrt-10.0.0-r1.zip download ninja and also add to %Path% https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip cmake -B build -G "Ninja" -D CMAKE_C_COMPILER=gcc.exe -D CMAKE_CXX_COMPILER=g++.exe . cmake --build build --target _chemivec

MacOS

https://github.com/DrDonk/unlocker https://www.wikigain.com/how-to-install-macos-monterey-on-vmware-on-windows-pc/ https://intoguide.com/install-vmware-tools-on-macos-monterey/ https://href.li/?https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/11.1.0/13668589/packages/com.vmware.fusion.tools.darwin.zip.tar

Misc

To check dependencies of your *.pyd library dumpbin should be run from developer command prompt of VS 2022

dumpbin mylib_c_ext.pyd /DEPENDENTS

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

chemivec-0.0.1a0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

chemivec-0.0.1a0-cp311-cp311-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.11Windows x86-64

chemivec-0.0.1a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

chemivec-0.0.1a0-cp310-cp310-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.10Windows x86-64

chemivec-0.0.1a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

chemivec-0.0.1a0-cp39-cp39-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.9Windows x86-64

chemivec-0.0.1a0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

chemivec-0.0.1a0-cp38-cp38-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.8Windows x86-64

chemivec-0.0.1a0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file chemivec-0.0.1a0.tar.gz.

File metadata

  • Download URL: chemivec-0.0.1a0.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for chemivec-0.0.1a0.tar.gz
Algorithm Hash digest
SHA256 b7c07281ea487015d5eb775a82dab33f6f443563594e9f4b680b445fd36086df
MD5 ce2dfae1c0903f2683607925fc8f6793
BLAKE2b-256 ba58467925f32288adaef2bce840d96f74ba3ce4a82db2c2d85bb6afd36205be

See more details on using hashes here.

File details

Details for the file chemivec-0.0.1a0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: chemivec-0.0.1a0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for chemivec-0.0.1a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3b6a2350438102b195a5157c960338ab2ec72881b8f54bef50fdc1d53ed3ff93
MD5 fe9f58c2e6c43b9c73db4235eeee32a3
BLAKE2b-256 b141f33328497f26e4364609bab6fce79b8a6f409c5eaeaaf660b1ce488a7c4a

See more details on using hashes here.

File details

Details for the file chemivec-0.0.1a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for chemivec-0.0.1a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4fb04a40f28202616e840e8a972c9beb47f9b2ed48f205201864c0eb3ca5213f
MD5 540867e28d9d7c4802aec1af0e57ab30
BLAKE2b-256 06f4b3b4594916081251d6144b7cb879fedde88138a36d68ff24fe4757895168

See more details on using hashes here.

File details

Details for the file chemivec-0.0.1a0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: chemivec-0.0.1a0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for chemivec-0.0.1a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 168aa50ba22157053684e7d81b92bc433f3b68024c43d7bb35dda1ffeb4212f6
MD5 d1f07315de386db1e2cdf99f01e6b645
BLAKE2b-256 e59896e4d36b617c0d4ee7e1812308e358051398ad389ab09dda72154afc3217

See more details on using hashes here.

File details

Details for the file chemivec-0.0.1a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for chemivec-0.0.1a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 086dbb2fccc48260e1732c299fce87b52d4b1c731039ab1c2f93f8b0c0bf1cf8
MD5 0128c4db75ba54567f70139ccf9ecc4d
BLAKE2b-256 449bca7cb94fd9f9033587f8e0f60d33b7d6fe6cc5cf93a11585927520df8271

See more details on using hashes here.

File details

Details for the file chemivec-0.0.1a0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: chemivec-0.0.1a0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for chemivec-0.0.1a0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c87a370bf590be7c2fc822cb104aab1ec4ce1bcfe5b20de9ec050ebbd319dbbd
MD5 d5c96b226f0a39b03aa216215b259173
BLAKE2b-256 b5cd4469a7bc66d074a613f4c568abe843749f82a26f4056d9babd46759cce88

See more details on using hashes here.

File details

Details for the file chemivec-0.0.1a0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for chemivec-0.0.1a0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13ec8c25c4c344cb7a605e770edadaaf837103201c0cbc01bdc0e8806326be30
MD5 fa88158926f30d698ead75f1bf965cf1
BLAKE2b-256 5336c099c17bb433492960bb31b7d0fb958c92ae564132cbae92c8ff6efcbe22

See more details on using hashes here.

File details

Details for the file chemivec-0.0.1a0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: chemivec-0.0.1a0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for chemivec-0.0.1a0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4188210fb0a942dd5d69659d416218a45f53642570932c2b92f6e4a740b0ffbb
MD5 2f4382ed505e7b907df73c94d367db5b
BLAKE2b-256 3296a31314e776b8217b0cab2be389ce5c49eb9a06b4999b8031ec0cd66067c7

See more details on using hashes here.

File details

Details for the file chemivec-0.0.1a0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for chemivec-0.0.1a0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 acd308668f8588bfe27ce1cba8446090919fe45d388eaa8b905d280abd4a19fe
MD5 52f0a47cae6b05b4e3ceb3a51fd7672f
BLAKE2b-256 ddb7a5a4e29b1bc109d9d2c860de9529ecb8e0fbd7e17f71551a3aa9d9fcd6b7

See more details on using hashes here.

Supported by

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