Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
414 commits
Select commit Hold shift + click to select a range
98da0c6
Using a different scoring function
bieniekmateusz Feb 1, 2024
ee3206b
Expanding the chemical space using the sw.docking.org interface (the …
bieniekmateusz Feb 6, 2024
9f9a75b
Skipping the test. It's for manual checking for now.
bieniekmateusz Feb 6, 2024
a27f9b5
Allowing to hijack the entire evaluation function.
bieniekmateusz Feb 7, 2024
72fbdcc
The official AL code (not really plugged in, just history reference)
bieniekmateusz Feb 7, 2024
d422922
Implementing a simple gaussian process regressor.
bieniekmateusz Feb 7, 2024
bf50d98
minor
bieniekmateusz Feb 7, 2024
d9bc54a
minor
bieniekmateusz Feb 7, 2024
ca139a3
prepared 'chemical space 50k'. This one does not have IDs because now…
bieniekmateusz Feb 9, 2024
40d29f7
A first full run with AL. This includes the 50k testing dataset. Also…
bieniekmateusz Feb 9, 2024
c6c5308
The right path for the data
bieniekmateusz Feb 9, 2024
c7c218f
Add the caching option
bieniekmateusz Feb 9, 2024
5d9b76c
working file for the different models
bieniekmateusz Feb 9, 2024
dd1fc90
Missing dependancy
bieniekmateusz Feb 9, 2024
74bf43c
Adding model as a property of ChemSpace.
bieniekmateusz Feb 9, 2024
99e6c21
Setting a model via a property.
bieniekmateusz Feb 9, 2024
45aeed6
Allowing to specify query and learner.
bieniekmateusz Feb 9, 2024
b87f4a0
Future work
bieniekmateusz Feb 9, 2024
8266d50
First full interface with all the Query strategies.
bieniekmateusz Feb 12, 2024
ce75bc2
Using a label to pass more metadata
bieniekmateusz Feb 12, 2024
9762cd1
Future work
bieniekmateusz Feb 12, 2024
3353809
Straightforward selection.
bieniekmateusz Feb 12, 2024
5e23e05
Allowing to pas the model and query directly
bieniekmateusz Feb 12, 2024
3a5a7d6
Minor
bieniekmateusz Feb 12, 2024
aedf87a
Smaller simpler interface
bieniekmateusz Feb 12, 2024
3fed7aa
Moving info into the logger.
bieniekmateusz Feb 12, 2024
f71579f
clean up
bieniekmateusz Feb 12, 2024
4caef4a
Do not recompute values already computed.
bieniekmateusz Feb 14, 2024
d24b1d4
Ensure that the right number of instances is selected.
bieniekmateusz Feb 14, 2024
d5fb951
Turning the dataframe into a property df
bieniekmateusz Feb 15, 2024
13a9866
Ensure that the right default values are kept for the new data.
bieniekmateusz Feb 15, 2024
3c15244
Extracted the logic for inserting new data into the dataframe.
bieniekmateusz Feb 15, 2024
a891aac
- Support for jupyter
bieniekmateusz Feb 15, 2024
94148e3
Write the molecules with the dataframe into an SDF
bieniekmateusz Feb 15, 2024
8e3b4ed
Exporting and importing the dataframe as an SDF.
bieniekmateusz Feb 15, 2024
8216ade
first tutorial with CS leading it
bieniekmateusz Feb 16, 2024
a34c151
Upgrading to minimum openff-toolkit 0.13
bieniekmateusz Feb 16, 2024
2bde7b1
One linker with rgroups.
bieniekmateusz Feb 16, 2024
2840cdc
Allowing for the newer pint
bieniekmateusz Feb 16, 2024
e87ac17
Exclude pint 0.20
bieniekmateusz Feb 16, 2024
4fecf76
Clarify that all smiles.
bieniekmateusz Feb 16, 2024
e68b93a
Add more detail to failed processes (gnina)
bieniekmateusz Feb 16, 2024
35921f0
By default, gnina should not use gpu (for our purposes probably no di…
bieniekmateusz Feb 16, 2024
91c155a
Notation
bieniekmateusz Feb 16, 2024
dac8519
ani does not have to be tested here.
bieniekmateusz Feb 16, 2024
3c6c14e
Upgrading to 3.11
bieniekmateusz Feb 16, 2024
a1ebdb7
Spelling
bieniekmateusz Feb 16, 2024
5e5c409
Naming
bieniekmateusz Feb 16, 2024
5b82828
RGroups are not needed here
bieniekmateusz Feb 16, 2024
61ac72b
cut for faster testing
bieniekmateusz Feb 19, 2024
8012b8d
r_group can be a Smiles in which case we turn it into a molecules wit…
bieniekmateusz Feb 20, 2024
3b2913e
When using the simple function build_molecule we can now pass Smiles …
bieniekmateusz Feb 20, 2024
4c1251e
Using smiles as R-groups.
bieniekmateusz Feb 20, 2024
9ca31da
One extra case for the simple builder
bieniekmateusz Feb 20, 2024
1d6036c
Using the greedy approach
bieniekmateusz Feb 21, 2024
2f7b9f9
Preparing the STUB for umap.
bieniekmateusz Feb 21, 2024
da34f9c
single molecule tutorial - simple
bieniekmateusz Feb 21, 2024
07cf6e5
clairfy
bieniekmateusz Feb 21, 2024
413bd7c
appropriate message
bieniekmateusz Feb 21, 2024
85f1546
Clarify that the picked "atom" for merging has to be one that has onl…
bieniekmateusz Feb 21, 2024
18f24e2
add support for 3.11 later (requires ditching the -gpu packages which…
bieniekmateusz Feb 21, 2024
98bd592
adding rgroups separately works too
bieniekmateusz Feb 21, 2024
f6b214e
the most basic pipeline with one molecule
bieniekmateusz Feb 21, 2024
ce9bf93
basic rgroups pipeline
bieniekmateusz Feb 21, 2024
54354b1
fist notebook
bieniekmateusz Feb 21, 2024
903c13f
Update the definition of the linker and allow for some ambiguity - al…
bieniekmateusz Feb 21, 2024
92c1504
mini linker tutorial
bieniekmateusz Feb 21, 2024
9727cc6
But gnina gives very different results. A different superimposition?
bieniekmateusz Feb 21, 2024
7286a99
Moving to FEgrow 2.0
bieniekmateusz Feb 21, 2024
012a745
Trying only heavy atoms for matching. I recall issues with symmetry, …
bieniekmateusz Feb 22, 2024
053a563
Umap is not finished yet
bieniekmateusz Feb 22, 2024
16760d3
text
bieniekmateusz Feb 22, 2024
1dd1106
notebook text
bieniekmateusz Feb 22, 2024
2541a2c
more informative naming
bieniekmateusz Feb 22, 2024
34d456e
Allow presenting the molecule without hydrogens
bieniekmateusz Feb 22, 2024
2fce26f
It's ok to build molecules even without the coordinates
bieniekmateusz Feb 22, 2024
3d58474
notebook on how to add a linker
bieniekmateusz Feb 22, 2024
d28abda
small molecule for the linker mini tutorial
bieniekmateusz Feb 22, 2024
8973ae0
another mini tutorial: for modifying a a molecule
bieniekmateusz Feb 22, 2024
cfa951c
better naming
bieniekmateusz Feb 22, 2024
99df68e
naming
bieniekmateusz Feb 22, 2024
b492dd9
Simplifying the modification of molecules
bieniekmateusz Feb 22, 2024
3b9ad13
Removing a bug where "attachment_point" == 0.
bieniekmateusz Feb 22, 2024
f3041fe
Rather than preparing the Dask function first in a dictionary, we cre…
bieniekmateusz Feb 23, 2024
8957561
Show how to dictate which connecting point in the linker should be us…
bieniekmateusz Feb 23, 2024
dbb63f1
linker direction
bieniekmateusz Feb 23, 2024
aff42ae
Automating linkers+rgroups building
bieniekmateusz Feb 23, 2024
a23c571
Merging linker and rgorups in ChemSpace into one.
bieniekmateusz Feb 23, 2024
0b96193
introduced chemspace
bieniekmateusz Feb 23, 2024
eed8f54
neater
bieniekmateusz Feb 23, 2024
b8bba5f
Spelling
bieniekmateusz Feb 23, 2024
be55475
Retaining the right attachment point when building scaffold + linker …
bieniekmateusz Feb 23, 2024
ba0d9e7
Allowing to reload a chemical space that has a missing value due. E.g…
bieniekmateusz Feb 23, 2024
e34dcad
streamlined chemspace
bieniekmateusz Feb 26, 2024
b79da45
Committed data by mistake
bieniekmateusz Feb 26, 2024
1e5517e
early stab
bieniekmateusz Feb 26, 2024
02def3d
- Preparing for testing of Smiles
bieniekmateusz Feb 26, 2024
a625958
Allowing to set your own penalty
bieniekmateusz Feb 26, 2024
33b7e96
First chemspace+smiles tutorial
bieniekmateusz Feb 26, 2024
5fa9bd4
clearning old
bieniekmateusz Feb 26, 2024
db4071e
Active learning
bieniekmateusz Feb 26, 2024
52a98a9
outputting into files
bieniekmateusz Feb 26, 2024
58ca273
active learning - configuration
bieniekmateusz Feb 26, 2024
8fa1670
final active learning
bieniekmateusz Feb 26, 2024
c07e52f
Adding enamine search into the active_learning tutorial
bieniekmateusz Feb 26, 2024
764a6b0
Enamine bug removed (updating enamine_searched)
bieniekmateusz Feb 26, 2024
72d58f4
Missing files for the tutorial 6
bieniekmateusz Feb 27, 2024
17d0314
active learning
bieniekmateusz Feb 27, 2024
ff1adbd
wrong hydro
bieniekmateusz Feb 27, 2024
22c649b
Let's add cachey for caching
bieniekmateusz Feb 27, 2024
340a857
Allow for protonation with openbabel when adding new Smiles
bieniekmateusz Feb 27, 2024
1f45f2c
It might not be desirable to use the cases with penatlies for Training
bieniekmateusz Feb 27, 2024
87c127a
Text
bieniekmateusz Feb 27, 2024
3a80f00
Keeping track of which molecules were built successfully and which fa…
bieniekmateusz Feb 27, 2024
799f310
More control over saving the structures
bieniekmateusz Feb 27, 2024
1c29ddc
updated tut6
bieniekmateusz Feb 27, 2024
590824a
simplified 6
bieniekmateusz Feb 27, 2024
d5a22aa
Better warning
bieniekmateusz Feb 27, 2024
1addd7d
By default we assume that larger scores are better. This is for gnina…
bieniekmateusz Feb 28, 2024
40ca5a7
tutorial for the study with al
bieniekmateusz Feb 29, 2024
f4e2f0b
7 merged into one
bieniekmateusz Feb 29, 2024
ad98779
path to data in testing
bieniekmateusz Feb 29, 2024
a00860f
corrected path to the data
bieniekmateusz Feb 29, 2024
03098ac
updated reference to the right data path
bieniekmateusz Feb 29, 2024
47f2048
Dask examples with SSH and Archer
bieniekmateusz Mar 2, 2024
0113f45
a good start for Dask
bieniekmateusz Mar 2, 2024
c87f982
Update package.py
bieniekmateusz Mar 11, 2024
422fd62
The garbage collected / closed tempfile to avoid the memory leak.
bieniekmateusz Mar 12, 2024
cbbbbbb
Merge branch 'daskify_rlist' of github.com:cole-group/FEgrow into das…
bieniekmateusz Mar 12, 2024
fe23466
prody dep fix
bieniekmateusz Mar 12, 2024
06d38cb
Use all workers
bieniekmateusz Mar 12, 2024
bdcf202
passing use_ani
bieniekmateusz Mar 12, 2024
31a38ea
Simplify passing of the dask cluster and the kwargs,
bieniekmateusz Mar 24, 2024
21442e0
added the workaroudn info for ani=True
bieniekmateusz Mar 24, 2024
39d98b1
Dask-pickled molecule contain now RDKit molecule properties (#66)
bieniekmateusz May 7, 2024
cd54bfb
I replace the molecule because the returned molecule after serialisat…
bieniekmateusz May 9, 2024
2a369cf
Repairing the tests
bieniekmateusz May 26, 2024
43ab8bb
Enamine was searching for the wrong molecule (with low score, #68)
bieniekmateusz May 26, 2024
387fadc
Using multiplier -1 when UCB is used.
bieniekmateusz Jun 4, 2024
7835d91
Merge pull request #69 from cole-group/daskify_rlist
bieniekmateusz Jun 16, 2024
b6ad0e8
Official release of FEgrow 2.0
bieniekmateusz Jun 16, 2024
5b458f7
General release description. This will be expanded later with the pub…
bieniekmateusz Jun 16, 2024
19b7dce
dropping support for python 3.9, and checking the dependancies for 3.11
bieniekmateusz Jun 16, 2024
7609edc
forcing the latest torchani
bieniekmateusz Jun 16, 2024
d93b14e
only conda-forge, increased version
bieniekmateusz Jun 16, 2024
55e8132
Syntax error
bieniekmateusz Jun 16, 2024
368bba0
Restricting the testing for now to 3.10 and 3.11
bieniekmateusz Jun 16, 2024
78c681a
Merge pull request #70 from cole-group/py11_fegrow2
bieniekmateusz Jun 16, 2024
51ca566
Add files via upload
djcole56 Jun 20, 2024
e8c2a6d
Update README.md
djcole56 Jun 20, 2024
1b4ba87
README link to chemrxiv release
bieniekmateusz Jul 1, 2024
6435c9e
Allow for fast generation of datasets using all-to-all options (#71)
bieniekmateusz Jul 4, 2024
395c8e7
Merge pull request #73 from cole-group/FEATURE-ISSUE71-ALLTOALL_GROUPS
bieniekmateusz Aug 3, 2024
4cabdd9
When the scaffold has an R atom, it gets matched and breaks the embed…
bieniekmateusz Aug 4, 2024
dd7df32
Updated changelog
bieniekmateusz Aug 4, 2024
6a77e73
Version for the fix.
bieniekmateusz Aug 4, 2024
f23affc
Merge pull request #75 from cole-group/74-R-matched-broke-constrained…
bieniekmateusz Aug 4, 2024
d6575ce
Update CI.yml
bieniekmateusz Aug 4, 2024
7fe2e16
Update pylint.yml
bieniekmateusz Aug 4, 2024
fa2dcc4
Merge pull request #76 from cole-group/bieniekmateusz-patch-1
bieniekmateusz Aug 4, 2024
add3b29
Merge pull request #77 from cole-group/bieniekmateusz-patch-2
bieniekmateusz Aug 4, 2024
3fe0035
Create README.md
djcole56 Oct 18, 2024
e39d706
Merge pull request #79 from cole-group/djcole56-patch-1
djcole56 Oct 18, 2024
03388e2
Add files via upload
djcole56 Oct 18, 2024
28a2ff9
Merge pull request #80 from cole-group/djcole56-patch-2
djcole56 Oct 18, 2024
67cfcf6
Delete tutorials/basic_tutorial_full.ipynb
djcole56 Oct 18, 2024
b3a3398
Merge pull request #81 from cole-group/djcole56-patch-3
djcole56 Oct 18, 2024
35304a8
Delete tutorials/tutorial_active_learning.ipynb
djcole56 Oct 18, 2024
a333451
Merge pull request #82 from cole-group/djcole56-patch-4
djcole56 Oct 18, 2024
b997ec1
Delete tutorials/tutorial_introduce_chemspace.ipynb
djcole56 Oct 18, 2024
4cdda7f
Merge pull request #83 from cole-group/djcole56-patch-5
djcole56 Oct 18, 2024
8b19de6
Delete tutorials/2_tutorial_active_learning.ipynb
djcole56 Dec 16, 2024
64c9cee
Merge pull request #85 from cole-group/djcole56-patch-6
djcole56 Dec 16, 2024
0af8176
Add files via upload
djcole56 Dec 16, 2024
39b497a
Merge pull request #86 from cole-group/djcole56-patch-7
djcole56 Dec 16, 2024
2dbd224
Update README.md
djcole56 Dec 16, 2024
5e2447a
Merge pull request #87 from cole-group/djcole56-patch-8
djcole56 Dec 16, 2024
59fb5eb
Starting CI with a micromamba
bieniekmateusz Mar 4, 2025
1a96d6d
Setting a global bash
bieniekmateusz Mar 4, 2025
d720196
Fix: conda-forge uses small letters for modAL package
bieniekmateusz Mar 4, 2025
43809e0
Fix: lack of mamba command in bash shell. Trying micromamba shell.
bieniekmateusz Mar 4, 2025
6761752
Fix: try to initialise micromamba into bash shell
bieniekmateusz Mar 4, 2025
7494056
1. Removing pylint for now.
bieniekmateusz Mar 4, 2025
3d3f4f1
We're addressing mamba via an env variable. So no need for this.
bieniekmateusz Mar 4, 2025
91dc743
Merge pull request #89 from cole-group/ci-refresh: CI with a micromamba
bieniekmateusz Mar 4, 2025
533bb1c
Syncing notebook (7: Active learning) variable name
bieniekmateusz Mar 7, 2025
c070f34
Make the first switch from "use_ani" to "ani"
bieniekmateusz Mar 7, 2025
bde2b72
A temporary solution for the issue on the other side: cs.active_learn…
bieniekmateusz Mar 7, 2025
36a6fb8
Notebook: Using 3 samples to avoid a silly issue. Renamed variable. T…
bieniekmateusz Mar 7, 2025
b930fd8
First mkdocs sketch
bieniekmateusz Mar 7, 2025
ff25588
Allowing permissive bespoke scoring/evaluation functions that do not …
bieniekmateusz Mar 7, 2025
6307da7
Fix: RDKit is moving to fingerprint generator.
bieniekmateusz Mar 7, 2025
99cc26b
removing the old website
bieniekmateusz Mar 7, 2025
b3d34a9
one channel is now allowed
bieniekmateusz Mar 7, 2025
70f118c
Publish new docs on push to master or with tags
bieniekmateusz Mar 7, 2025
1c84d65
Tutorial update: notebook 9
bieniekmateusz Mar 7, 2025
92d1d52
Docs: title and minor in Notebook 8
bieniekmateusz Mar 7, 2025
40eef29
Notebook 6: title and variable name
bieniekmateusz Mar 7, 2025
22ed1ec
Notebook 5
bieniekmateusz Mar 7, 2025
eb594e1
Titles for the docs of notebooks
bieniekmateusz Mar 7, 2025
c8adaf5
Merge pull request #90 from cole-group/docs-mkdocs-github-actions
bieniekmateusz Mar 7, 2025
963e6d3
Most likely we do not need to worry about the specific python version
bieniekmateusz Mar 7, 2025
bd1e149
Merge pull request #91 from cole-group/docs-ci-fix-build
bieniekmateusz Mar 7, 2025
b2d5547
Addressing mamba via an env variable
bieniekmateusz Mar 7, 2025
0acf9cd
Merge pull request #92 from cole-group/docs-ci-fix-build
bieniekmateusz Mar 7, 2025
71225a5
Employing bash throughout
bieniekmateusz Mar 7, 2025
f4f2123
Merge pull request #93 from cole-group/docs-ci-fix-build
bieniekmateusz Mar 7, 2025
ad65d3c
Formatting - black
bieniekmateusz Mar 13, 2025
e483a7f
Adding formatting CI
bieniekmateusz Mar 13, 2025
1ce0b50
Just one formatting check
bieniekmateusz Mar 13, 2025
72298a8
other pythn files
bieniekmateusz Mar 13, 2025
4bd1443
Testing the black --check
bieniekmateusz Mar 13, 2025
2fb99c7
final black
bieniekmateusz Mar 13, 2025
2b39ef0
Merge pull request #94 from cole-group/format-black
bieniekmateusz Mar 13, 2025
49dcd46
skeleton
bieniekmateusz Mar 13, 2025
8b1dd44
black vs ruff
bieniekmateusz Mar 13, 2025
199e588
Using ruff's formatting
bieniekmateusz Mar 13, 2025
6d17974
Updating to latest RDKit interface - to reduce warnings.
bieniekmateusz Mar 14, 2025
4e6a2cc
Adding the previously created 2D molecule visualisation in Pandas df …
bieniekmateusz Mar 14, 2025
9855724
Abiding by ruff linter
bieniekmateusz Mar 14, 2025
0722ff9
Ruff formatting of notebooks
bieniekmateusz Mar 14, 2025
1ceb1e5
Ruff link + formatting
bieniekmateusz Mar 14, 2025
efde91f
Activate pandas scientific units globally (and exclude from ruff)
bieniekmateusz Mar 14, 2025
b9a0079
Fix: This variable name was just for testing.
bieniekmateusz Mar 14, 2025
1ba15b7
DF has to use explicitly "== True" because of the .na() and False val…
bieniekmateusz Mar 14, 2025
9dfb078
Fix: previuosly renamed variable name
bieniekmateusz Mar 14, 2025
05d726d
Openmmforcefields had issues with CMMotionRemover and custom forces.
bieniekmateusz Mar 14, 2025
137181b
Supporting HPC by default.
bieniekmateusz Mar 14, 2025
dc1096d
Ruff check is not bypassed because noqa is on the wrong line
bieniekmateusz Mar 14, 2025
895182a
mkdocs: Publishing tutorials
bieniekmateusz Mar 15, 2025
523f1e9
Merge pull request #95 from cole-group/linting-ruff
bieniekmateusz Mar 15, 2025
f38aaf9
Allow specificying external mapping when generating conformers in ord…
bieniekmateusz Jul 1, 2025
273788b
Merge pull request #96 from cole-group/feature-rmol-generate-conforme…
bieniekmateusz Jul 1, 2025
01476f2
Set default value of minimum_conf_rms to 0.5, not []
fjclark Aug 8, 2025
7944ad0
Merge pull request #105 from cole-group/bugfix-minimum-conf-rms
bieniekmateusz Aug 9, 2025
cdb3d27
Energy minimisation for any single conformer is now allowed to fail -…
bieniekmateusz Aug 18, 2025
23d06b4
Error if minimisation in the receptor blows up for every conformer.
bieniekmateusz Aug 20, 2025
c8128e2
Wording.
bieniekmateusz Aug 20, 2025
fde0458
Merge pull request #107 from cole-group/fix-allow-single-conformers-t…
bieniekmateusz Aug 20, 2025
1ccef03
Allow freezing ligand atoms during the energy minimisation.
bieniekmateusz Aug 28, 2025
cc61547
Explicit Optional
bieniekmateusz Aug 28, 2025
c7502f2
Testing atom freezing in MD minimisation
bieniekmateusz Aug 29, 2025
08510a8
Merge pull request #108 from cole-group/feature-fix-ligand-mcs-during…
bieniekmateusz Aug 29, 2025
484735f
nice-moved-badges-up
bieniekmateusz Nov 4, 2025
8f0e795
Merge pull request #110 from cole-group/nice-move-ci-badge-higher
bieniekmateusz Nov 4, 2025
83122ac
Update nice.yml
bieniekmateusz Nov 5, 2025
e423417
Merge pull request #111 from cole-group/bieniekmateusz-patch-1
bieniekmateusz Nov 5, 2025
266c36c
Trigger nice workflow for push and PRs
bieniekmateusz Nov 5, 2025
cd3ac6c
Merge pull request #112 from cole-group/nice-run-nice-both-push-pr
bieniekmateusz Nov 5, 2025
55fd15b
added chimera protonation to be merged with FEgrow workflow (#109)
AsmaFeriel000 Nov 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
48 changes: 27 additions & 21 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,48 @@
name: CI

on: [push, pull_request]
on: [pull_request]

jobs:
build-linux:
runs-on: ubuntu-latest
tests:
name: Test on ${{ matrix.os }}, 🐍=${{ matrix.python-version }}, Program=${{ matrix.conda-env }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ "ubuntu-latest" ]
python-version: ["3.10", "3.11"]
max-parallel: 5

defaults:
run:
shell: bash -l {0}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Create Environment
uses: conda-incubator/setup-miniconda@v2.1.1
uses: mamba-org/setup-micromamba@v2
with:
activate-environment: fegrow
environment-file: env.yml
python-version: 3.8
auto-update-conda: true
auto-activate-base: false
show-channel-urls: true
mamba-version: "*"
miniforge-version: latest
miniforge-variant: Mambaforge
use-mamba: true
environment-file: environment.yml
create-args: >-
python=${{ matrix.python-version }}

- name: env summary
shell: bash -l {0}
run: conda list

- name: dry install fegrow
run: pip install --dry-run .

- name: install fegrow
shell: bash -l {0}
run: pip install .

- name: install pytest
shell: bash -l {0}
run: mamba install pytest
run: $MAMBA_EXE install pytest

- name: pytest
shell: bash -l {0}
run: pytest fegrow/testing

- name: Run tutorial.py
shell: bash -l {0}
run: |
cd notebooks
obabel sarscov2/lig.pdb -O sarscov2/coreh.sdf -p 7
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Publish Docs to branch

on:
push:
branches:
- master
tags:
- '*'

jobs:
deploy-docs:
runs-on: ubuntu-latest

defaults:
run:
shell: bash -l {0}

steps:
- uses: actions/checkout@v4

- name: Create FEgrow Environment
uses: mamba-org/setup-micromamba@v2
with:
environment-file: environment.yml

- name: Install FEgrow
run: pip install --no-deps .

- name: Add docs-generating packages
run: $MAMBA_EXE env update --file docs/environment.yml

- name: Determine Version
run: |
if [ "$GITHUB_REF" = "refs/heads/master" ]; then
echo "VERSION=latest" >> $GITHUB_ENV
elif [ "${GITHUB_REF#refs/tags/}" != "$GITHUB_REF" ]; then
VERSION=$(echo $GITHUB_REF | sed 's/refs\/tags\///')
echo "VERSION=$VERSION stable" >> $GITHUB_ENV
else
echo "Invalid ref: $GITHUB_REF"
exit 1
fi
echo "Docs version: $VERSION"

- name: Build and Deploy Documentation
run: |
git config --global user.name 'GitHub Actions'
git config --global user.email 'actions@github.com'
git config --global --add safe.directory "$PWD"
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}

git fetch --all --prune

mike deploy --push --update-aliases $VERSION
25 changes: 25 additions & 0 deletions .github/workflows/nice.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Nice

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install dependencies
run: |
pip install ruff
- name: Check formatting with ruff
run: ruff format --check
- name: Run ruff
run: ruff check
23 changes: 0 additions & 23 deletions .github/workflows/pylint.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ignore_git
.idea
fegrow.egg-info/
36 changes: 35 additions & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,7 +1,41 @@

Authors: Mateusz K. Bieniek, Ben Cree, Rachael Pirie, Joshua T. Horton, Natalie J. Tatum, Daniel J. Cole

** [UNPUBLISHED] version 1.*.***
**version 2.0.1 **
- The scaffold's R atom breaks the constrained embedding. The R atom is now omitted. (#74)

**version 2.0.0 **
- The new FEgrow with ChemSpace (AL) and Dask support

**version 1.4.0 **
- rmol.to_file now writes all conformers into the PDB using the "MODEL / ENDMDL" flavour which can be ready by
MDAnalysis.
- ANI in some cases explodes. Remove the bad conformers with bonds that have lengths larger than 3A.
- The user now has to import the libraries (RGroupGrid) and instantiate first.
- Libraries (linkers, rgroups) are now single .sdf files to avoid problems on clusters with many small files
- A growing vector can now be any molecule-separating atom in the molecule.
- Lipinski now uses the initial definitions of HBD: "sum of Ns and Os" and HBA: "sum of OHs and NHs",
(thanks to @RPirie96)
- When growing a molecule C multiple time in the same session (e.g. +linker +R), the .template attribute will
always be the original C
- Lipinski now uses the initial definitions of HBD: "sum of Ns and Os" and HBA: "sum of OHs and NHs",
(thanks to @RPirie96)
- R-group without coordinates are now using by default Chem.rdDistGeom.EmbedMolecule
- Do not cache openff parameters into db.json which right now crashes when multiple threads are used (same filename)
- using a tempfile with the anipotential .pt model file for for thread safety
- gnina column is renamed from "CNNaffinity->IC50s" to "Kd" with nM unit. We added pint-pandas package for units.
- rgroups and linkers are now dataframe (simpler API access)

**version 1.3.0**

- Compatibility with openff-toolkit >=0.11 (thanks to @jeeberhardt for #29 #30)


**version 1.2.1**

- refined library coordinates (Ben)
- visualisations with pandas
- error handling


**version 1.2.0**
Expand Down
6 changes: 4 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
include fegrow/data/rgroups/library/*.mol
include fegrow/data/linkers/library/*.sdf
include fegrow/data/rgroups/library.sdf
include fegrow/data/linkers/library.sdf
include fegrow/data/fpscores.pkl.gz
include fegrow/version.txt
include LICENSE.txt
include fegrow/testing/data/*sdf
include fegrow/testing/data/cs50k_scored49578_unique47710.csv.zip
include fegrow/testing/data/5R83_rec.pdb
20 changes: 16 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
# FEgrow
An interactive workflow for building user-defined congeneric series of ligands in protein binding pockets for input to free energy calculations.
# FEgrow 2.0.0: Active Learning and acceleration

![CI](https://github.com/cole-group/FEgrow/actions/workflows/CI.yml/badge.svg)![Anaconda-Server Badge](https://anaconda.org/conda-forge/fegrow/badges/downloads.svg)

A new release of FEgrow that adds active learning together with acceleration powered by Dask (multi -cpu, -node, -cluster).

To get started with the new functionality, see the [tutorials](https://github.com/cole-group/FEgrow/tree/master/tutorials) folder, which contains examples of i) basic interactive molecular design, ii) an introduction to the chemspace functionality, and iii) an example of active learning for inhibitor design.

These notebooks are based on the functionality described in:

![CI](https://github.com/cole-group/FEgrow/actions/workflows/CI.yml/badge.svg)
Cree B, Bieniek M, Amin S, Kawamura A, Cole D. [Active learning driven prioritisation of compounds from on-demand libraries targeting the SARS-CoV-2 main protease.](https://doi.org/10.26434/chemrxiv-2024-xczfb) ChemRxiv (2024).

Scripts used to create Figures 2-6 in the above paper can be accessed [here.](https://github.com/cole-group/FEgrow_AL_data)


# FEgrow (1.*)
An interactive workflow for building user-defined congeneric series of ligands in protein binding pockets for input to free energy calculations.

Bieniek, Mateusz K., Ben Cree, Rachael Pirie, Joshua T. Horton, Natalie J. Tatum, and Daniel J. Cole. "An open-source molecular builder and free energy preparation workflow." Communications Chemistry 5, no. 1 (2022): 136.

Expand All @@ -11,4 +24,3 @@ Bieniek, Mateusz K., Ben Cree, Rachael Pirie, Joshua T. Horton, Natalie J. Tatum

Please see [cole-group.github.io/fegrow](https://cole-group.github.io/FEgrow) for full installation instructions, documentation and acknowledgements.

To get started see the [online tutorial](https://cole-group.github.io/FEgrow/tutorial/tutorial/) for which the IPython Notebook is available [here](https://github.com/cole-group/FEgrow/tree/master/notebooks).
4 changes: 0 additions & 4 deletions docs/.buildinfo

This file was deleted.

Binary file removed docs/.doctrees/acknowledgments.doctree
Binary file not shown.
Binary file removed docs/.doctrees/api.doctree
Binary file not shown.
Binary file removed docs/.doctrees/classes/RGroups.doctree
Binary file not shown.
Binary file removed docs/.doctrees/classes/RList.doctree
Binary file not shown.
Binary file removed docs/.doctrees/classes/RMol.doctree
Binary file not shown.
Binary file removed docs/.doctrees/classes/functions.doctree
Binary file not shown.
Binary file removed docs/.doctrees/environment.pickle
Binary file not shown.
Binary file removed docs/.doctrees/index.doctree
Binary file not shown.
Binary file removed docs/.doctrees/installation.doctree
Binary file not shown.
Binary file removed docs/.doctrees/license.doctree
Binary file not shown.
Binary file removed docs/.doctrees/main.doctree
Binary file not shown.
Binary file removed docs/.doctrees/tutorial.doctree
Binary file not shown.
Binary file removed docs/.doctrees/tutorial/tutorial.doctree
Binary file not shown.
Binary file removed docs/_images/output_15_1.png
Binary file not shown.
Binary file removed docs/_images/output_25_0.png
Binary file not shown.
Binary file removed docs/_images/output_9_0.png
Binary file not shown.
Loading