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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7c07281ea487015d5eb775a82dab33f6f443563594e9f4b680b445fd36086df
|
|
| MD5 |
ce2dfae1c0903f2683607925fc8f6793
|
|
| BLAKE2b-256 |
ba58467925f32288adaef2bce840d96f74ba3ce4a82db2c2d85bb6afd36205be
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b6a2350438102b195a5157c960338ab2ec72881b8f54bef50fdc1d53ed3ff93
|
|
| MD5 |
fe9f58c2e6c43b9c73db4235eeee32a3
|
|
| BLAKE2b-256 |
b141f33328497f26e4364609bab6fce79b8a6f409c5eaeaaf660b1ce488a7c4a
|
File details
Details for the file chemivec-0.0.1a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: chemivec-0.0.1a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fb04a40f28202616e840e8a972c9beb47f9b2ed48f205201864c0eb3ca5213f
|
|
| MD5 |
540867e28d9d7c4802aec1af0e57ab30
|
|
| BLAKE2b-256 |
06f4b3b4594916081251d6144b7cb879fedde88138a36d68ff24fe4757895168
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
168aa50ba22157053684e7d81b92bc433f3b68024c43d7bb35dda1ffeb4212f6
|
|
| MD5 |
d1f07315de386db1e2cdf99f01e6b645
|
|
| BLAKE2b-256 |
e59896e4d36b617c0d4ee7e1812308e358051398ad389ab09dda72154afc3217
|
File details
Details for the file chemivec-0.0.1a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: chemivec-0.0.1a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
086dbb2fccc48260e1732c299fce87b52d4b1c731039ab1c2f93f8b0c0bf1cf8
|
|
| MD5 |
0128c4db75ba54567f70139ccf9ecc4d
|
|
| BLAKE2b-256 |
449bca7cb94fd9f9033587f8e0f60d33b7d6fe6cc5cf93a11585927520df8271
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c87a370bf590be7c2fc822cb104aab1ec4ce1bcfe5b20de9ec050ebbd319dbbd
|
|
| MD5 |
d5c96b226f0a39b03aa216215b259173
|
|
| BLAKE2b-256 |
b5cd4469a7bc66d074a613f4c568abe843749f82a26f4056d9babd46759cce88
|
File details
Details for the file chemivec-0.0.1a0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: chemivec-0.0.1a0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13ec8c25c4c344cb7a605e770edadaaf837103201c0cbc01bdc0e8806326be30
|
|
| MD5 |
fa88158926f30d698ead75f1bf965cf1
|
|
| BLAKE2b-256 |
5336c099c17bb433492960bb31b7d0fb958c92ae564132cbae92c8ff6efcbe22
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4188210fb0a942dd5d69659d416218a45f53642570932c2b92f6e4a740b0ffbb
|
|
| MD5 |
2f4382ed505e7b907df73c94d367db5b
|
|
| BLAKE2b-256 |
3296a31314e776b8217b0cab2be389ce5c49eb9a06b4999b8031ec0cd66067c7
|
File details
Details for the file chemivec-0.0.1a0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: chemivec-0.0.1a0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acd308668f8588bfe27ce1cba8446090919fe45d388eaa8b905d280abd4a19fe
|
|
| MD5 |
52f0a47cae6b05b4e3ceb3a51fd7672f
|
|
| BLAKE2b-256 |
ddb7a5a4e29b1bc109d9d2c860de9529ecb8e0fbd7e17f71551a3aa9d9fcd6b7
|