Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add small molecule repex consistency tests #1065

Merged
merged 96 commits into from
Apr 28, 2023
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
f48a588
add neutral test
zhang-ivy Jun 24, 2022
4f82361
add small molecule tests
zhang-ivy Jun 24, 2022
6c035db
remove charge test
zhang-ivy Jun 30, 2022
74bcf38
add charge test
zhang-ivy Jul 2, 2022
6e8893b
add guest mol2s
zhang-ivy Jul 2, 2022
6a0ff93
Merge branch 'main' into add-small-molecule-test
zhang-ivy Jul 6, 2022
406fe70
fix charge changing test
zhang-ivy Jul 6, 2022
19a3796
Merge branch 'add-small-molecule-test' of ssh://github.com/choderalab…
zhang-ivy Jul 6, 2022
5590a3c
add cache
zhang-ivy Jul 6, 2022
f39c3af
make sure lrc is set correctly
zhang-ivy Jul 6, 2022
82f2960
Small code cleanup. Fix docstring. Remove unused imports.
ijpulidos Aug 15, 2022
9356b63
Using LangevinDynamicsMove instead of LangevinSplittingDynamicsMove. …
ijpulidos Aug 15, 2022
4c5ab63
Merge branch 'main' into add-small-molecule-test
ijpulidos Aug 15, 2022
105e71b
Only using LangevinDynamicsMove in tests. Others stay the same as bef…
ijpulidos Aug 16, 2022
4406b4a
Merge branch 'add-small-molecule-test' of github.com:choderalab/perse…
ijpulidos Aug 16, 2022
1e90291
Making sure the CPU platform is used in geometry engine.
ijpulidos Aug 19, 2022
2e8248c
Adjusting repex tests parameters for better performance.
ijpulidos Aug 19, 2022
181a639
Revert "Making sure the CPU platform is used in geometry engine."
ijpulidos Aug 22, 2022
12a9abd
Keep the convergence criteria to be 6*dDDG
ijpulidos Aug 24, 2022
8c6936b
Merge branch 'main' into add-small-molecule-test
ijpulidos Aug 24, 2022
0cf7dfe
Merge branch 'add-small-molecule-test' of github.com:choderalab/perse…
ijpulidos Aug 29, 2022
cd51c64
Merge branch 'main' into add-small-molecule-test
ijpulidos Sep 12, 2022
fad3d80
Increasing n steps for move apply. Decreasing number of iterations
ijpulidos Nov 22, 2022
e1bcb91
Merge branch 'main' into add-small-molecule-test
ijpulidos Jan 17, 2023
4827342
Trying running self-hosted GPU tests on PR.
ijpulidos Jan 17, 2023
71231e8
Merge branch 'main' into add-small-molecule-test
ijpulidos Jan 17, 2023
64ddf34
switch to using openmm rc
mikemhenry Jan 25, 2023
bf3c710
Merge branch 'feat/add_new_openmm_rc' into add-small-molecule-test
mikemhenry Jan 26, 2023
1c7b276
Merge branch 'main' into add-small-molecule-test
mikemhenry Jan 26, 2023
3531390
Testing phenol-paracetamol transformation. 250 steps, 1000 iterations…
ijpulidos Feb 7, 2023
8da5a9f
Quick testing new instance type for gpu tests.
ijpulidos Feb 10, 2023
dc7861a
Trying own fork with fix with unique instance name
ijpulidos Feb 13, 2023
3bb64f6
Going back to original runner repo.
ijpulidos Feb 13, 2023
1f979cd
add us-east-1a subnet
mikemhenry Feb 14, 2023
3a3f280
fix vim typo
mikemhenry Feb 14, 2023
ae6f222
try p2.xlarge first
mikemhenry Feb 14, 2023
cc967cc
Added us-east-1b subnet
mikemhenry Feb 14, 2023
4ed236a
Added us-east-1c subnet
mikemhenry Feb 14, 2023
c2cb3b6
Added us-east-1e subnet
mikemhenry Feb 14, 2023
57cbff9
Added us-east-1f subnet
mikemhenry Feb 14, 2023
aaea343
go to next step even if we can't provision an instance
mikemhenry Feb 14, 2023
7c6edf2
switch to g4dn.xlarge
mikemhenry Feb 14, 2023
a896560
switch to using once subnet for now while testing new ami
mikemhenry Feb 14, 2023
8f866c0
fix comment error
mikemhenry Feb 14, 2023
319a3e4
make sure we stop instances if they fail
mikemhenry Feb 14, 2023
8c6155c
bump ci
mikemhenry Feb 15, 2023
fbc40b4
bump ci
mikemhenry Feb 15, 2023
8c86bfb
bump ci
mikemhenry Feb 15, 2023
425c85f
switch to using new ami
mikemhenry Feb 15, 2023
7c4da57
try new subnet and sg
mikemhenry Feb 15, 2023
0cd0e85
bump ci
mikemhenry Feb 15, 2023
9bd284a
bump ci
mikemhenry Feb 15, 2023
59ac33f
switch to using micromamba
mikemhenry Feb 15, 2023
6d1f385
remove unused channels and clean up CI workflow a bit
mikemhenry Feb 15, 2023
e65ed05
debug provision-with-micromamba
mikemhenry Feb 15, 2023
c07cf0b
see if python 3.10 fixes it
mikemhenry Feb 15, 2023
79bfc18
try latest version
mikemhenry Feb 15, 2023
1dfc392
try older version
mikemhenry Feb 15, 2023
d70755c
Set default shell
mikemhenry Feb 15, 2023
44c7a5e
switch to newest version
mikemhenry Feb 15, 2023
74b5cb7
switch to a different action
mikemhenry Feb 15, 2023
2253fc9
See if this fixes the unbound home var
mikemhenry Feb 15, 2023
2bd94e9
see if this fixes the issue with home not being set
mikemhenry Feb 15, 2023
1e569ab
Testing GPU platforms specifically, debugging purposes
ijpulidos Feb 16, 2023
30e4598
timeout of 20 hrs instead of the 6 hrs default
ijpulidos Feb 16, 2023
97b1958
back to testing everything
ijpulidos Feb 16, 2023
902161d
Putting timeout of 20 hrs in correct place/job.
ijpulidos Feb 17, 2023
f5bf4be
Using specific tagged url for tyk2 tests
ijpulidos Feb 17, 2023
cbac788
Merge branch 'main' into add-small-molecule-test
ijpulidos Feb 17, 2023
e924ccb
fix cudatoolkit version
mikemhenry Feb 17, 2023
3c8e9e7
remove extra code we don't need anymore
mikemhenry Feb 18, 2023
349696f
skip test for now, need better system to test with
mikemhenry Feb 18, 2023
aa7ca14
let codecov fail, also update the action
mikemhenry Feb 20, 2023
a7ffaef
only run on commit, on demand, on weekly
mikemhenry Feb 20, 2023
0413021
Using bootstrapping from MBAR to compute errors
ijpulidos Feb 24, 2023
9753a5d
Merge branch 'main' into add-small-molecule-test
mikemhenry Mar 1, 2023
2be975f
Merge branch 'main' into add-small-molecule-test
mikemhenry Mar 16, 2023
9ca6560
Those damn signs! Making it less prone to sign errors.
ijpulidos Apr 12, 2023
8977167
Better naming for quantities
ijpulidos Apr 17, 2023
59dbcea
Making sure we test using decorrelated samples
ijpulidos Apr 17, 2023
3421d3a
Merge branch 'main' into add-small-molecule-test
ijpulidos Apr 17, 2023
d953e62
Swapping tests, now correct order.
ijpulidos Apr 18, 2023
280ebbb
use micromamba
mikemhenry Apr 19, 2023
af484f6
micromamba thowing a fit about oPtIonS iT dOeSn'T uNDerStAnd
mikemhenry Apr 19, 2023
b66dd53
Merge branch 'main' into add-small-molecule-test
mikemhenry Apr 20, 2023
c9bdae9
Changing back the transformation order to the correct one.
ijpulidos Apr 20, 2023
629b20e
Correct comparison charge mutation. Naming cleanup
ijpulidos Apr 20, 2023
1f7e414
Better naming. Minor indenting cleanup.
ijpulidos Apr 20, 2023
7e5be5b
Removing misplaced quotes, my bad!
ijpulidos Apr 21, 2023
15f24c0
Update .github/workflows/self-hosted-gpu-test.yml
mikemhenry Apr 21, 2023
2467f82
Merge branch 'add-small-molecule-test' of github.com:choderalab/perse…
ijpulidos Apr 26, 2023
2fd2a2a
Removing deprecated comment
ijpulidos Apr 26, 2023
693f41c
Lowering the number of steps per iteration to decrease run times.
ijpulidos Apr 26, 2023
ad8d805
Merge branch 'main' into add-small-molecule-test
ijpulidos Apr 26, 2023
aa6b2c6
removing commented/unused line
ijpulidos Apr 27, 2023
7b16afc
Update .github/workflows/self-hosted-gpu-test.yml
mikemhenry Apr 28, 2023
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
14 changes: 10 additions & 4 deletions perses/app/relative_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def __init__(self,

Parameters
----------
ligand_input : str
ligand_input : str or list of str
the name of the ligand file (any openeye supported format)
this can either be an .sdf or list of .sdf files, or a list of SMILES strings
forcefield_files : list of str
Expand Down Expand Up @@ -303,6 +303,12 @@ def __init__(self,
self._ligand_md_topology_new = md.Topology.from_openmm(self._ligand_topology_new)
_logger.info(f"Created mdtraj topologies for both ligands.")

# We must generate the complex topology and positions before the SystemGenerator is created because if the
# receptor is a mol2, it must be added to mol_list, which is use to create self._molecules, which is fed to the SystemGenerator
if 'complex' in phases:
_logger.info(f"setting up complex phase...")
self._setup_complex_phase(protein_pdb_filename,receptor_mol2_filename,mol_list)

# Select barostat
NONPERIODIC_NONBONDED_METHODS = [app.NoCutoff, app.CutoffNonPeriodic]
if pressure is not None:
Expand All @@ -318,7 +324,7 @@ def __init__(self,

# Create openforcefield Molecule objects for old and new molecules
from openff.toolkit.topology import Molecule
molecules = [ Molecule.from_openeye(oemol,allow_undefined_stereo=True) for oemol in [self._ligand_oemol_old, self._ligand_oemol_new] ]
self._molecules = [Molecule.from_openeye(oemol, allow_undefined_stereo=True) for oemol in mol_list]

# Handle spectator molecules
if self._spectator_filenames is not None:
Expand All @@ -335,7 +341,7 @@ def __init__(self,
spectator_mol = generate_unique_atom_names(spectator_mol)
self._spectator_molecules.append(spectator_mol)
# add this to a small molecule register
molecules.append(Molecule.from_openeye(spectator_mol,allow_undefined_stereo=True))
self._molecules.append(Molecule.from_openeye(spectator_mol,allow_undefined_stereo=True))
self._spectator_positions.append(extractPositionsFromOEMol(spectator_mol))
spectator_topology = forcefield_generators.generateTopologyFromOEMol(spectator_mol)
self._spectator_md_topologies.append(md.Topology.from_openmm(spectator_topology))
Expand All @@ -351,7 +357,7 @@ def __init__(self,
periodic_forcefield_kwargs = {'nonbondedMethod': self._nonbonded_method})
else:
self._system_generator = SystemGenerator(forcefields=forcefield_files, barostat=barostat, forcefield_kwargs=forcefield_kwargs,
small_molecule_forcefield=small_molecule_forcefield, molecules=molecules, cache=small_molecule_parameters_cache, periodic_forcefield_kwargs = {'nonbondedMethod': self._nonbonded_method})
small_molecule_forcefield=small_molecule_forcefield, molecules=self._molecules, cache=small_molecule_parameters_cache, periodic_forcefield_kwargs = {'nonbondedMethod': self._nonbonded_method})
_logger.info("successfully created SystemGenerator to create ligand systems")

_logger.info(f"executing SmallMoleculeSetProposalEngine...")
Expand Down
67 changes: 67 additions & 0 deletions perses/data/host-guest/a1.sybyl.mol2
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
@<TRIPOS>MOLECULE
A1
27 29 1 0 0
SMALL
No Charge or Current Charge


@<TRIPOS>ATOM
1 C1 7.0000 7.0750 17.8360 C.3 2 A1 -0.060033
2 C2 4.6200 7.7880 18.0300 C.3 2 A1 0.150800
3 C3 5.1260 5.4360 17.3950 C.3 2 A1 -0.060033
4 C4 5.5620 7.3250 15.7700 C.3 2 A1 -0.060033
5 C5 6.0290 7.9800 18.6280 C.3 2 A1 -0.086067
6 C6 6.5490 5.6030 17.9710 C.3 2 A1 -0.071733
7 C7 6.9870 7.4880 16.3460 C.3 2 A1 -0.071733
8 C8 4.1480 6.3330 18.1870 C.3 2 A1 -0.086067
9 C9 4.5950 8.2360 16.5550 C.3 2 A1 -0.086067
10 C10 5.1130 5.8540 15.9070 C.3 2 A1 -0.071733
11 O1 3.6560 8.5860 18.7650 O.3 2 A1 -0.593800
12 H1 8.0250 7.1980 18.2550 H 2 A1 0.050367
13 H2 4.8080 4.3730 17.4870 H 2 A1 0.050367
14 H3 5.5560 7.6180 14.6960 H 2 A1 0.050367
15 H4 6.3500 9.0340 18.5690 H 2 A1 0.049367
16 H5 6.0340 7.7120 19.6990 H 2 A1 0.049367
17 H6 7.2470 4.9290 17.4460 H 2 A1 0.041867
18 H7 6.5690 5.2950 19.0320 H 2 A1 0.041867
19 H8 7.6920 6.8740 15.7640 H 2 A1 0.041867
20 H9 7.3280 8.5330 16.2350 H 2 A1 0.041867
21 H10 3.1210 6.2050 17.8100 H 2 A1 0.049367
22 H11 4.1220 6.0500 19.2550 H 2 A1 0.049367
23 H12 3.5760 8.1740 16.1390 H 2 A1 0.049367
24 H13 4.8910 9.2950 16.4650 H 2 A1 0.049367
25 H14 4.1010 5.7240 15.4840 H 2 A1 0.041867
26 H15 5.7800 5.1970 15.3210 H 2 A1 0.041867
27 H16 4.0340 9.4700 18.9770 H 2 A1 0.397000
@<TRIPOS>BOND
1 1 5 1
2 1 6 1
3 1 7 1
4 1 12 1
5 2 5 1
6 2 8 1
7 2 9 1
8 2 11 1
9 3 6 1
10 3 8 1
11 3 10 1
12 3 13 1
13 4 7 1
14 4 9 1
15 4 10 1
16 4 14 1
17 5 15 1
18 5 16 1
19 6 17 1
20 6 18 1
21 7 19 1
22 7 20 1
23 8 21 1
24 8 22 1
25 9 23 1
26 9 24 1
27 10 25 1
28 10 26 1
29 11 27 1
@<TRIPOS>SUBSTRUCTURE
1 A1 1 TEMP 0 **** **** 0 ROOT
71 changes: 71 additions & 0 deletions perses/data/host-guest/a2.sybyl.mol2
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
@<TRIPOS>MOLECULE
A2
29 31 1 0 0
SMALL
No Charge or Current Charge


@<TRIPOS>ATOM
1 C1 6.2630 5.8810 17.7440 C.3 2 A2 -0.057700
2 C2 3.8870 6.6370 17.5750 C.3 2 A2 0.137200
3 C3 5.4000 6.9240 15.6130 C.3 2 A2 -0.057700
4 C4 5.7070 8.3430 17.6780 C.3 2 A2 -0.057700
5 C5 4.8130 5.5640 18.1840 C.3 2 A2 -0.091400
6 C6 6.3400 5.8520 16.2030 C.3 2 A2 -0.084400
7 C7 6.6560 7.2780 18.2690 C.3 2 A2 -0.084400
8 C8 3.9450 6.6130 16.0370 C.3 2 A2 -0.091400
9 C9 4.2540 8.0320 18.1150 C.3 2 A2 -0.091400
10 C10 5.7970 8.3190 16.1370 C.3 2 A2 -0.084400
11 N1 2.4380 6.2850 18.0010 N.4 2 A2 -0.846600
12 H1 6.9410 5.1080 18.1730 H 2 A2 0.087700
13 H2 5.4650 6.9090 14.5010 H 2 A2 0.087700
14 H3 5.9940 9.3510 18.0550 H 2 A2 0.087700
15 H4 4.7510 5.5540 19.2880 H 2 A2 0.063700
16 H5 4.5360 4.5490 17.8420 H 2 A2 0.063700
17 H6 7.3750 6.0280 15.8610 H 2 A2 0.067200
18 H7 6.0640 4.8510 15.8220 H 2 A2 0.067200
19 H8 7.6990 7.5160 17.9960 H 2 A2 0.067200
20 H9 6.6200 7.3030 19.3730 H 2 A2 0.067200
21 H10 3.2630 7.3600 15.5870 H 2 A2 0.063700
22 H11 3.6290 5.6310 15.6300 H 2 A2 0.063700
23 H12 3.5750 8.8200 17.7340 H 2 A2 0.063700
24 H13 4.1750 8.0730 19.2180 H 2 A2 0.063700
25 H14 5.1410 9.0940 15.7020 H 2 A2 0.067200
26 H15 6.8220 8.5720 15.8100 H 2 A2 0.067200
27 H16 2.3120 6.3790 19.0330 H 2 A2 0.453800
28 H17 2.2160 5.2980 17.7500 H 2 A2 0.453800
29 H18 1.7410 6.8920 17.5430 H 2 A2 0.453800
@<TRIPOS>BOND
1 1 5 1
2 1 6 1
3 1 7 1
4 1 12 1
5 2 5 1
6 2 8 1
7 2 9 1
8 2 11 1
9 3 6 1
10 3 8 1
11 3 10 1
12 3 13 1
13 4 7 1
14 4 9 1
15 4 10 1
16 4 14 1
17 5 15 1
18 5 16 1
19 6 17 1
20 6 18 1
21 7 19 1
22 7 20 1
23 8 21 1
24 8 22 1
25 9 23 1
26 9 24 1
27 10 25 1
28 10 26 1
29 11 27 1
30 11 28 1
31 11 29 1
@<TRIPOS>SUBSTRUCTURE
1 A2 1 TEMP 0 **** **** 0 ROOT
Loading