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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for chemivec-0.0.1a0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b6a2350438102b195a5157c960338ab2ec72881b8f54bef50fdc1d53ed3ff93 |
|
MD5 | fe9f58c2e6c43b9c73db4235eeee32a3 |
|
BLAKE2b-256 | b141f33328497f26e4364609bab6fce79b8a6f409c5eaeaaf660b1ce488a7c4a |
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 |
Hashes for chemivec-0.0.1a0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 168aa50ba22157053684e7d81b92bc433f3b68024c43d7bb35dda1ffeb4212f6 |
|
MD5 | d1f07315de386db1e2cdf99f01e6b645 |
|
BLAKE2b-256 | e59896e4d36b617c0d4ee7e1812308e358051398ad389ab09dda72154afc3217 |
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 |
Hashes for chemivec-0.0.1a0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c87a370bf590be7c2fc822cb104aab1ec4ce1bcfe5b20de9ec050ebbd319dbbd |
|
MD5 | d5c96b226f0a39b03aa216215b259173 |
|
BLAKE2b-256 | b5cd4469a7bc66d074a613f4c568abe843749f82a26f4056d9babd46759cce88 |
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 |
Hashes for chemivec-0.0.1a0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4188210fb0a942dd5d69659d416218a45f53642570932c2b92f6e4a740b0ffbb |
|
MD5 | 2f4382ed505e7b907df73c94d367db5b |
|
BLAKE2b-256 | 3296a31314e776b8217b0cab2be389ce5c49eb9a06b4999b8031ec0cd66067c7 |
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 |