Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 8 additions & 21 deletions .github/workflows/docs_compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,37 +30,24 @@ jobs:
large-packages: true
docker-images: true
swap-storage: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
- name: Setup micromamba
uses: mamba-org/setup-micromamba@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
use-mamba: true

- name: Initialize conda
shell: bash -l {0}
run: conda init bash
environment-file: QCflow.yml
environment-name: QCflow
cache-environment: true

- name: Activate conda environment, install dependencies
- name: Install dependencies
shell: bash -l {0}
run: |
source ~/.bashrc
conda env create -f QCflow.yml
conda activate QCflow
conda install sphinx=8.2.3
micromamba install sphinx=8.2.3
pip install sphinx_rtd_theme>=2.0.0
pip install standard-imghdr
pip install .

- name: Run build
shell: bash -l {0}
run: |
source ~/.bashrc
conda activate QCflow
cd docs/
make html

Expand All @@ -69,4 +56,4 @@ jobs:
with:
publish_branch: docs
github_token: ${{ secrets.qcflow2}}
publish_dir: ./docs/_build/html
publish_dir: ./docs/_build/html
26 changes: 10 additions & 16 deletions .github/workflows/run_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,23 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Conda
uses: conda-incubator/setup-miniconda@v2
- name: Setup micromamba
uses: mamba-org/setup-micromamba@v1
with:
auto-activate-base: false
- name: Create and activate environment
environment-file: QCflow.yml
environment-name: QCflow
cache-environment: true
- name: Install dependencies
shell: bash -l {0}
run: |
conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels anaconda
conda env create -f QCflow.yml
conda init bash
source ~/.bashrc
conda activate QCflow
python -m pip install --upgrade pip
python -m pip install pytest # Ensure pytest is installed
python -m pip install pytest
- name: Debug Environment
shell: bash -l {0}
run: |
source ~/.bashrc
conda activate QCflow
python --version
python -m pip show pytest
- name: Run Tests
shell: bash -l {0}
run: |
source ~/.bashrc
conda activate QCflow
python -m pytest -v ./tests/test.py
111 changes: 111 additions & 0 deletions Examples/FilteredSmilesFragments_props.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
smiles,valid,mw,n_rot,n_arom,psuedo_groups,fingerprint,subset
O=C(O)C=CC1=CC=C(O)C=C1,True,164.16,1,1,COC(=O)C=Cc1ccc(O)cc1,[0. 0. 0. ... 0. 0. 0.],mono
CC1=C(Cl)C=CC=C1NC1=NC=CC=C1C(=O)O,True,262.69599999999997,3,2,COC(=O)c1cccnc1Nc1cccc(C)c1C,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)C1=CC(I)=CC(I)=C1O,True,389.914,1,1,COC(=O)c1cc(C)cc(C)c1O,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)C=CC1=CC=CC=C1O,True,164.16,1,1,COC(=O)C=Cc1ccccc1O,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)C1=CNC2=CC=CC=C12,True,161.16,1,2,COC(=O)c1cn(C)c2ccccc12,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)CC1=CNC2=CC=CC=C12,True,175.187,2,2,COC(=O)Cc1cn(C)c2ccccc12,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)C=CC1=CC=CC(O)=C1,True,164.16,1,1,COC(=O)C=Cc1cccc(O)c1,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)[C@H]1O[C@@H](OC2=CC=C(C3=COC4=CC(O)=CC=C4C3=O)C=C2)[C@H](O)[C@@H](O)[C@@H]1O,True,430.3650000000001,3,3,COC(=O)[C@H]1O[C@@H](Oc2ccc(-c3coc4cc(O)ccc4c3=O)cc2)[C@H](O)[C@@H](O)[C@@H]1O,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)[C@H]1O[C@@H](OC2=CC=C3C(=O)C(C4=CC=C(O)C=C4)=COC3=C2)[C@H](O)[C@@H](O)[C@@H]1O,True,430.36500000000007,3,3,COC(=O)[C@H]1O[C@@H](Oc2ccc3c(=O)c(-c4ccc(O)cc4)coc3c2)[C@H](O)[C@@H](O)[C@@H]1O,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)C1=C(C2=CNC3=CC=CC=C23)C(C2=CNC3=CC=CC=C23)=C(C(=O)O)N1,True,385.37900000000013,4,5,COC(=O)c1c(-c2cn(C)c3ccccc23)c(-c2cn(C)c3ccccc23)c(C(=O)OC)n1C,[0. 0. 0. ... 0. 0. 0.],mono
O=C1NC(=O)C(C2=CNC3=CC=CC=C23)=C1C1=CNC2=CC=CC=C12,True,327.3430000000001,2,4,Cn1cc(C2=C(c3cn(C)c4ccccc34)C(=O)NC2=O)c2ccccc21,[0. 0. 0. ... 0. 0. 0.],mono
O=C1NCC2=C1C1=C(NC3=CC=CC=C31)C1=C2C2=CC=CC=C2N1,True,311.344,0,5,Cn1c2ccccc2c2c3c(c4c5ccccc5n(C)c4c21)C(=O)NC3,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)CC1=CNC2=CC=C(O)C=C12,True,191.186,2,2,COC(=O)Cc1cn(C)c2ccc(O)cc12,[0. 0. 0. ... 0. 0. 0.],mono
COC1=CC=C2C(=C1)C(CC(=O)O)=C(C)N2C(=O)C1=CC=C(Cl)C=C1,True,357.793,5,3,COC(=O)Cc1c(C)n(C(=O)c2ccc(C)cc2)c2ccc(OC)cc12,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)CCC1=NC=CC2=C1NC1=CC=CC=C12,True,240.26200000000003,3,3,COC(=O)CCc1nccc2c3ccccc3n(C)c12,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)C1=CC2=CC=CC=C2N1,True,161.16,1,2,COC(=O)c1cc2ccccc2n1C,[0. 0. 0. ... 0. 0. 0.],mono
COC1=CC=C2C(=C1)NC1=C(CCC(=O)O)N=CC=C12,True,270.28799999999995,4,3,COC(=O)CCc1nccc2c3ccc(OC)cc3n(C)c12,[0. 0. 0. ... 0. 0. 0.],mono
CC#CC1=CC=C(C2=CC=C(C(=O)O)S2)S1,True,248.32799999999997,2,2,COC(=O)c1ccc(-c2ccc(C3C=CC(C)CC3C)s2)s1,[0. 0. 0. ... 0. 0. 0.],mono
O=C1NCCC2=C1NC1=CC=CC=C21,True,186.21400000000003,0,2,Cn1c2c(c3ccccc31)CCNC2=O,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)C=CC1=CC=C(O)C2=C1C=C(C1=CC=C(O)C(O)=C1)O2,True,312.27700000000004,2,3,COC(=O)C=Cc1ccc(O)c2oc(-c3ccc(O)c(O)c3)cc12,[0. 0. 0. ... 0. 0. 0.],mono
CC#CC1=CC=C(C2=CC=C(C(=O)CCl)S2)S1,True,280.80099999999993,3,2,CCC(=O)c1ccc(-c2ccc(C3CC(C)C=CC3C)s2)s1,[0. 0. 0. ... 0. 0. 0.],mono
CC#CC1=CC=C(C2=CC=C(Cl)S2)S1,True,238.76399999999998,1,2,Cc1ccc(-c2ccc(C3CC(C)C=CC3C)s2)s1,[0. 0. 0. ... 0. 0. 0.],mono
O=C(O)[C@H]1O[C@@H](OC2=CC(O)=C3C(=O)C=C(C4=CC=CC=C4)OC3=C2)[C@H](O)[C@@H](O)[C@H]1O,True,430.36500000000007,3,3,COC(=O)[C@H]1O[C@@H](Oc2cc(O)c3c(=O)cc(-c4ccccc4)oc3c2)[C@H](O)[C@@H](O)[C@H]1O,[0. 0. 0. ... 0. 0. 0.],mono
N[C@@H](CC(=O)C1=CC=CC2=C1N=C1C(=CC(=O)C3=NC(C(=O)O)=CC(O)=C13)O2)C(=O)O,True,423.33700000000016,3,2,COC(=O)c1cc(O)c2c3nc4c(C(=O)C[C@H](N)C(=O)OC)cccc4oc-3cc(=O)c2n1,[0. 1. 0. ... 0. 0. 0.],mono
COC1=CC=C(C2=CC(=O)C3=C(O)C=C(O)C=C3O2)C=C1,True,284.267,2,3,COc1ccc(-c2cc(=O)c3c(O)cc(O)cc3o2)cc1,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC2=CC=C3C=C(O)C=CC3=C2C(OC)=C1O,True,270.28399999999993,2,3,COc1cc2ccc3cc(O)ccc3c2c(OC)c1O,[0. 0. 0. ... 0. 0. 0.],di
O=C1C=C(C2=CC=CC=C2)OC2=CC(O)=CC(O)=C12,True,254.24099999999999,1,3,O=c1cc(-c2ccccc2)oc2cc(O)cc(O)c12,[0. 0. 0. ... 0. 0. 0.],di
CC1=CC(O)=CC(O)=C1,True,124.13899999999997,0,1,Cc1cc(O)cc(O)c1,[0. 0. 0. ... 0. 0. 0.],di
O=C1C=CC2=CC(O)=C(O)C=C2O1,True,178.143,0,2,O=c1ccc2cc(O)c(O)cc2o1,[0. 0. 0. ... 0. 0. 0.],di
O=C1OC2=CC(O)=CC=C2C2=C1C1=CC=C(O)C=C1O2,True,268.224,0,4,O=c1oc2cc(O)ccc2c2oc3cc(O)ccc3c12,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C(C2=COC3=CC(O)=CC(O)=C3C2=O)C=C1,True,284.267,2,3,COc1ccc(-c2coc3cc(O)cc(O)c3c2=O)cc1,[0. 0. 0. ... 0. 0. 0.],di
NC1=NC=NC2=C1N=CN2,True,135.13,0,2,Nc1ncnc2[nH]cnc12,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC(O)=C2C(=O)OC3=CC(O)=CC(C)=C3C2=C1,True,272.256,1,3,COc1cc(O)c2c(=O)oc3cc(O)cc(C)c3c2c1,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC(O)=C2C(O)=C3C(=O)C=C(C)OC3=CC2=C1,True,272.256,1,3,COc1cc(O)c2c(O)c3c(=O)cc(C)oc3cc2c1,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC(O)=CC2=CC=C3C=C(O)C=CC3=C12,True,240.25799999999998,1,3,COc1cc(O)cc2ccc3cc(O)ccc3c12,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC=CC(O)=C1,True,110.11199999999998,0,1,Oc1cccc(O)c1,[0. 0. 0. ... 0. 0. 0.],di
O=C1C2=CC=C(O)C=C2OC2=CC=CC(O)=C12,True,228.20299999999997,0,3,O=c1c2ccc(O)cc2oc2cccc(O)c12,[0. 0. 0. ... 0. 0. 0.],di
COC1=C(O)C=CC2=C1OC1=CC=CC(O)=C1C2=O,True,258.229,1,3,COc1c(O)ccc2c(=O)c3c(O)cccc3oc12,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC2=C(C=C1O)OC1=CC=CC(O)=C1C2=O,True,258.229,1,3,COc1cc2c(=O)c3c(O)cccc3oc2cc1O,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C(O)C2=C1OC1=CC=C(O)C=C1C2=O,True,258.229,1,3,COc1ccc(O)c2c(=O)c3cc(O)ccc3oc12,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC=CC=C1O,True,110.11199999999998,0,1,Oc1ccccc1O,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC(O)=CC(C=CC2=CC=CC=C2)=C1,True,212.248,2,2,Oc1cc(O)cc(C=Cc2ccccc2)c1,[0. 0. 0. ... 0. 0. 0.],di
O=C1OC2=CC(O)=CC=C2C2=CC=C(O)C=C12,True,228.20299999999997,0,3,O=c1oc2cc(O)ccc2c2ccc(O)cc12,[0. 0. 0. ... 0. 0. 0.],di
COC1=C(O)C=C(O)C2=C1OC(C1=CC=CC=C1)=CC2=O,True,284.267,2,3,COc1c(O)cc(O)c2c(=O)cc(-c3ccccc3)oc12,[0. 0. 0. ... 0. 0. 0.],di
COC1=C(O)C=C2OC(C3=CC=CC=C3)=CC(=O)C2=C1O,True,284.267,2,3,COc1c(O)cc2oc(-c3ccccc3)cc(=O)c2c1O,[0. 0. 0. ... 0. 0. 0.],di
O=C1N=CNC2=C1NC=N2,True,136.11399999999998,0,2,O=c1nc[nH]c2nc[nH]c12,[0. 0. 0. ... 0. 0. 0.],di
CC1=CC2=NC3=C(N=C2C=C1C)C(=O)NC(=O)N3,True,242.23800000000003,0,3,Cc1cc2nc3[nH]c(=O)[nH]c(=O)c3nc2cc1C,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC2=C(C(O)=C1O)C(=O)C=C(C1=CC=CC=C1)O2,True,284.267,2,3,COc1cc2oc(-c3ccccc3)cc(=O)c2c(O)c1O,[0. 0. 0. ... 0. 0. 0.],di
O=C1C(C2=CC=C3OCOC3=C2)=COC2=CC(O)=CC(O)=C12,True,298.25,1,3,O=c1c(-c2ccc3c(c2)OCO3)coc2cc(O)cc(O)c12,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C2OC3=CC(O)=CC(O)=C3C(=O)C2=C1,True,258.229,1,3,COc1ccc2oc3cc(O)cc(O)c3c(=O)c2c1,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC(O)=C2C(=O)C(O)=C(C3=CC=CC=C3)OC2=C1,True,284.26700000000005,2,3,COc1cc(O)c2c(=O)c(O)c(-c3ccccc3)oc2c1,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC(O)=C2C(=O)C3=C(C)C=C(O)C=C3OC2=C1,True,272.256,1,3,COc1cc(O)c2c(=O)c3c(C)cc(O)cc3oc2c1,[0. 0. 0. ... 0. 0. 0.],di
NC1=CC(Cl)=CC(Cl)=N1,True,163.007,0,1,Cc1cc(C)nc(N)c1,[0. 0. 0. ... 0. 0. 0.],di
O=C1C=CC2=C(O)C=C(O)C=C2O1,True,178.143,0,2,O=c1ccc2c(O)cc(O)cc2o1,[0. 0. 0. ... 0. 0. 0.],di
CC1=C(O)C=C(CCC2=CC=CC=C2)C=C1O,True,228.29100000000003,3,2,Cc1c(O)cc(CCc2ccccc2)cc1O,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C2C=CC(=O)OC2=C1OC1=C(O)C=C(O)C2=C1OC(=O)C=C2,True,368.2970000000001,3,4,COc1ccc2ccc(=O)oc2c1Oc1c(O)cc(O)c2ccc(=O)oc12,[0. 0. 0. ... 0. 0. 0.],di
O=C1C=C(C2=CC=CC=C2)C2=CC(O)=C(O)C=C2O1,True,254.24099999999999,1,3,O=c1cc(-c2ccccc2)c2cc(O)c(O)cc2o1,[0. 0. 0. ... 0. 0. 0.],di
O=C1C=CC2=CC=C(O)C(O)=C2O1,True,178.14299999999997,0,2,O=c1ccc2ccc(O)c(O)c2o1,[0. 0. 0. ... 0. 0. 0.],di
ClC1=CC=C(Cl)C=C1,True,147.00400000000002,0,1,Cc1ccc(C)cc1,[0. 0. 0. ... 0. 0. 0.],di
ClC1=CC=CC=C1Cl,True,147.00399999999996,0,1,Cc1ccccc1C,[0. 0. 0. ... 0. 0. 0.],di
CC1=CNN=C1,True,82.106,0,1,Cc1cn[nH]c1,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC(O)=CC(C2=CC3=CC4=C(C=C3O2)OC=C4)=C1,True,266.25199999999995,1,4,Oc1cc(O)cc(-c2cc3cc4ccoc4cc3o2)c1,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC(O)=C2C(=O)C3=CC=CC(O)=C3OC2=C1,True,258.229,1,3,COc1cc(O)c2c(=O)c3cccc(O)c3oc2c1,[0. 0. 0. ... 0. 0. 0.],di
C=CC1=CC(O)=CC2=CC=C3C(C)=C(O)C=CC3=C12,True,250.29699999999997,1,3,C=Cc1cc(O)cc2ccc3c(C)c(O)ccc3c12,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC(O)=C2C=CC=CC2=C1,True,160.17199999999997,0,2,Oc1cc(O)c2ccccc2c1,[0. 0. 0. ... 0. 0. 0.],di
O=C1C2=CC(O)=CC=C2OC2=CC3=C(OCO3)C(O)=C12,True,272.21199999999993,0,3,O=c1c2cc(O)ccc2oc2cc3c(c(O)c12)OCO3,[0. 0. 0. ... 0. 0. 0.],di
COC1=C(O)C=C2C=CC3=CC(O)=CC=C3C2=C1OC,True,270.284,2,3,COc1c(O)cc2ccc3cc(O)ccc3c2c1OC,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC(O)=CC2=CC=C3C=CC=C(O)C3=C12,True,240.25799999999998,1,3,COc1cc(O)cc2ccc3cccc(O)c3c12,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C(C2=COC3=CC(O)=C(O)C=C3C2=O)C=C1,True,284.267,2,3,COc1ccc(-c2coc3cc(O)c(O)cc3c2=O)cc1,[0. 0. 0. ... 0. 0. 0.],di
O=C1C=C(C2=CC=CC=C2)OC2=C(O)C=CC(O)=C12,True,254.24099999999999,1,3,O=c1cc(-c2ccccc2)oc2c(O)ccc(O)c12,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C(OC2=CC(=O)C3=C(O)C=C(O)C=C3O2)C=C1,True,300.266,3,3,COc1ccc(Oc2cc(=O)c3c(O)cc(O)cc3o2)cc1,[0. 0. 0. ... 0. 0. 0.],di
O=C1C2=CC=CC=C2C(=O)C2=C1C=C(O)C(CC1=CC=CC=C1)=C2O,True,330.339,2,3,O=C1c2ccccc2C(=O)c2c1cc(O)c(Cc1ccccc1)c2O,[0. 1. 0. ... 0. 0. 0.],di
OC1=CC=C(O)C=C1,True,110.11199999999998,0,1,Oc1ccc(O)cc1,[0. 0. 0. ... 0. 0. 0.],di
CC1=CC=C(O)C(O)=C1,True,124.13899999999998,0,1,Cc1ccc(O)c(O)c1,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=CC=C1C1=COC2=CC(O)=C(C)C(O)=C2C1=O,True,298.29400000000004,2,3,COc1ccccc1-c1coc2cc(O)c(C)c(O)c2c1=O,[0. 0. 0. ... 0. 0. 0.],di
C=CC1=C(C)C(O)=CC2=CC=C3C(C)=C(O)C=CC3=C12,True,264.324,1,3,C=Cc1c(C)c(O)cc2ccc3c(C)c(O)ccc3c12,[0. 0. 0. ... 0. 0. 0.],di
O=C1C=C(CCC2=CC=CC=C2)OC2=C(O)C=CC(O)=C12,True,282.295,3,3,O=c1cc(CCc2ccccc2)oc2c(O)ccc(O)c12,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC=C(O)C2=CC=CC=C12,True,160.172,0,2,Oc1ccc(O)c2ccccc12,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC(O)=CC(CCC2=CC=CC=C2)=C1,True,214.264,3,2,Oc1cc(O)cc(CCc2ccccc2)c1,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC(O)=C2OC3=CC=CC=C3CCC2=C1,True,228.24699999999996,0,2,Oc1cc(O)c2c(c1)CCc1ccccc1O2,[0. 0. 0. ... 0. 0. 0.],di
CC1=CC(O)=CC=C1O,True,124.13899999999997,0,1,Cc1cc(O)ccc1O,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC(O)=C2C(=C1)C=CC1=CC(O)=CC=C12,True,240.258,1,3,COc1cc(O)c2c(ccc3cc(O)ccc32)c1,[0. 0. 0. ... 0. 0. 0.],di
COC1=C(O)C=C2OC3=CC=CC=C3C(=O)C2=C1O,True,258.229,1,3,COc1c(O)cc2oc3ccccc3c(=O)c2c1O,[0. 0. 0. ... 0. 0. 0.],di
CC1=CC=CC(O)=C1O,True,124.13899999999998,0,1,Cc1cccc(O)c1O,[0. 0. 0. ... 0. 0. 0.],di
O=C1OC2=CC(O)=C(O)C=C2C2=C1C1=CC=CC=C1O2,True,268.224,0,4,O=c1oc2cc(O)c(O)cc2c2oc3ccccc3c12,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC2=CC=C3C=C(O)C=CC3=C2C(O)=C1OC,True,270.284,2,3,COc1cc2ccc3cc(O)ccc3c2c(O)c1OC,[0. 0. 0. ... 0. 0. 0.],di
NC1=NC=NC2=C1NC=N2,True,135.12999999999997,0,2,Nc1ncnc2nc[nH]c12,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C(C2=COC3=C(O)C(O)=CC=C3C2=O)C=C1,True,284.267,2,3,COc1ccc(-c2coc3c(O)c(O)ccc3c2=O)cc1,[0. 0. 0. ... 0. 0. 0.],di
CC1=CC(=O)OC2=CC(O)=C(O)C=C12,True,192.17,0,2,Cc1cc(=O)oc2cc(O)c(O)cc12,[0. 0. 0. ... 0. 0. 0.],di
CC1=C(O)C=C(C=CC2=CC=CC=C2)C=C1O,True,226.275,2,2,Cc1c(O)cc(C=Cc2ccccc2)cc1O,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC=C2C=CC=CC2=C1O,True,160.17199999999997,0,2,Oc1ccc2ccccc2c1O,[0. 0. 0. ... 0. 0. 0.],di
OC1=CN=C2C(O)=CC=CC2=C1,True,161.15999999999997,0,2,Oc1cnc2c(O)cccc2c1,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC2=C(C=C1O)NC=C2,True,149.149,0,2,Cn1ccc2cc(O)c(O)cc21,[0. 0. 0. ... 0. 0. 0.],di
O=C1C(C2=CC=CC=C2)=COC2=CC(O)=CC(O)=C12,True,254.24099999999996,1,3,O=c1c(-c2ccccc2)coc2cc(O)cc(O)c12,[0. 0. 0. ... 0. 0. 0.],di
O=C1C=C(C2=CC=CC=C2)C2=CC=C(O)C(O)=C2O1,True,254.24099999999999,1,3,O=c1cc(-c2ccccc2)c2ccc(O)c(O)c2o1,[0. 0. 0. ... 0. 0. 0.],di
CC1=C(O)C=CC2=C1C=CC1=CC(O)=CC(C=O)=C12,True,252.26899999999998,1,3,Cc1c(O)ccc2c1ccc1cc(O)cc(C=O)c12,[0. 0. 0. ... 0. 0. 0.],di
COC1=C(O)C=CC2=C1OC(=O)C1=C2OC2=CC(O)=CC=C21,True,298.24999999999994,1,4,COc1c(O)ccc2c1oc(=O)c1c3ccc(O)cc3oc21,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C2C(=C1)OCC1=C2OC2=CC(O)=C(O)C=C12,True,284.267,1,3,COc1ccc2c(c1)OCc1c-2oc2cc(O)c(O)cc12,[0. 0. 0. ... 0. 0. 0.],di
CC1=C(O)C=C(C2=CC3=CC=CC=C3O2)C=C1O,True,240.258,1,3,Cc1c(O)cc(-c2cc3ccccc3o2)cc1O,[0. 0. 0. ... 0. 0. 0.],di
CC1=C(O)C(C=O)=C2OC(C3=CC=CC=C3)=CC(=O)C2=C1O,True,296.278,2,3,Cc1c(O)c(C=O)c2oc(-c3ccccc3)cc(=O)c2c1O,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C(O)C2=C1OC1=CC(C)=CC(O)=C1C2=O,True,272.25600000000003,1,3,COc1ccc(O)c2c(=O)c3c(O)cc(C)cc3oc12,[0. 0. 0. ... 0. 0. 0.],di
COC1=C(C)C(O)=C2C(=O)C=C(C3=CC=CC=C3)OC2=C1O,True,298.29400000000004,2,3,COc1c(C)c(O)c2c(=O)cc(-c3ccccc3)oc2c1O,[0. 0. 0. ... 0. 0. 0.],di
COC1=C(O)C=C2C(=O)OC3=CC(O)=CC4=CC=C1C2=C43,True,282.25100000000003,1,4,COc1c(O)cc2c(=O)oc3cc(O)cc4ccc1c2c43,[0. 0. 0. ... 0. 0. 0.],di
CC1=CC2=C(C(=O)O1)C1=CC(O)=C(O)C=C1C(=O)O2,True,260.201,0,3,Cc1cc2oc(=O)c3cc(O)c(O)cc3c2c(=O)o1,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC=C2C(O)=CC=CC2=C1,True,160.172,0,2,Oc1ccc2c(O)cccc2c1,[0. 0. 0. ... 0. 0. 0.],di
O=C1C=C(CCC2=CC=CC=C2)OC2=C(O)C=C(O)C=C12,True,282.295,3,3,O=c1cc(CCc2ccccc2)oc2c(O)cc(O)cc12,[0. 0. 0. ... 0. 0. 0.],di
COC1=CC=C2C(=C1)OC1=C2C(=O)OC2=CC(O)=C(O)C=C21,True,298.25,1,4,COc1ccc2c(c1)oc1c3cc(O)c(O)cc3oc(=O)c21,[0. 0. 0. ... 0. 0. 0.],di
NC1=NC=C2N=C(O)C=NC2=N1,True,163.14,0,2,Nc1ncc2nc(O)cnc2n1,[0. 0. 0. ... 0. 0. 0.],di
COC1=C(O)C=CC2=C1C(=O)C1=CC(O)=CC=C1O2,True,258.229,1,3,COc1c(O)ccc2oc3ccc(O)cc3c(=O)c12,[0. 0. 0. ... 0. 0. 0.],di
OC1=CC=C2C=C(O)C=CC2=C1,True,160.172,0,2,Oc1ccc2cc(O)ccc2c1,[0. 0. 0. ... 0. 0. 0.],di
21 changes: 21 additions & 0 deletions Examples/example_psi4_opt_submission.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import rdkit
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem import AllChem
import numpy as np
import pandas as pd
import QCflow
from QCflow.load_gaussian import *
from QCflow.torsion_parser import *
from QCflow.find_torsion import *
from QCflow.write_psi4 import *
from QCflow.run_psi4 import *
from QCflow.energy_calculations import *
import os

df = pd.read_csv('FilteredSmilesFragments_props.csv')

smiles_dict = {str(i): row['smiles'] for i, row in df.iterrows()}

for k, v in smiles_dict.items():
run_psi4('opt', k, v, 12, 10, 'b3lyp', '3-21G')
43 changes: 43 additions & 0 deletions Examples/example_torsional_scan_script.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import rdkit
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem import AllChem
import numpy as np
import pandas as pd
from QCflow.load_gaussian import *
from QCflow.torsion_parser import *
from QCflow.find_torsion import *
from QCflow.write_psi4 import *
from QCflow.run_psi4 import *
from QCflow.energy_calculations import *
import os

# This is an example for one molecule
# This can easily be converted into a loop for multiple molecules
# The getTorsion assumes single bonded but can be altered if required
# If you have more than 1 torsion or tiple, double etc bond link
# Refer to this --> https://github.com/matta-research-group/QCflow/blob/qcflow-0.5/QCflow/torsion_parser.py
# torsion_parser.py also has the scripts to extract the data you may want
# The docs --> https://matta-research-group.github.io/QCflow/

smiles_example = 'CC(=O)Oc1c(OC(C)=O)c(-c2c(OC(C)=O)c(OC(C)=O)cc3cc[nH]c23)c2cc[nH]c2c1'

mol = Chem.MolFromSmiles(smiles_example)

#adds H's and 3D coordinates
mol = embed_molecule(mol)

#finds the rotatable bond in the molecule
bond = getBond(mol)

#Gets the whole torsion
mol_torsions = getTorsion(mol, bond[0])

#writes the Gaussian input file for the torsion scan
write_gaussian('tor', 'example_mol', smiles_example, functional='B3LYP', basis_set='6-31G*', mol=mol,
torsion=mol_torsions)
#writes the SLURM script to run the Gaussian job
write_slurm('tor', 'example_mol', cpus=10)

#submits the SLURM job, with retries in case of failure
submit_slurm_job('tor', 'example_mol', max_retries=5, wait_seconds=30)
5 changes: 1 addition & 4 deletions QCflow.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
name: QCflow
channels:
- conda-forge
- lich
- defaults
- anaconda
# - lich causing issues in instal
dependencies:
- brotli
- brotli-bin
Expand Down Expand Up @@ -103,7 +101,6 @@ dependencies:
- seaborn-base
- six
- statsmodels
- syba
- tk
- tornado
- typing-extensions
Expand Down
2 changes: 2 additions & 0 deletions QCflow/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@
from . import write_psi4
from . import run_psi4
from . import sa_score
from . import write_xTB
from . import run_xTB
Binary file modified QCflow/__pycache__/__init__.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/energy_calculations.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/find_torsion.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/fragments.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/load_gaussian.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/run_gaussian.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/run_psi4.cpython-313.pyc
Binary file not shown.
Binary file added QCflow/__pycache__/run_xTB.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/sa_score.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/slurm.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/testing_data.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/torsion_parser.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/write_gaussian.cpython-313.pyc
Binary file not shown.
Binary file modified QCflow/__pycache__/write_psi4.cpython-313.pyc
Binary file not shown.
Binary file added QCflow/__pycache__/write_xTB.cpython-313.pyc
Binary file not shown.
Loading
Loading