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

[WIP] Overhaul parameterization scheme used for small molecules #536

Closed
wants to merge 48 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
04b2325
Clean up some testing utilities, and add tests for some utils
jchodera Mar 14, 2019
c02c99e
Fix error introduced into createSystemFromIUPAC and include test
jchodera Mar 14, 2019
a998a07
Start drafting initial tests for hybrid alchemical factory
jchodera Mar 14, 2019
e95bf44
Still refining hybrid test case code
jchodera Mar 14, 2019
b42666f
Clean up host-guest vacuum proposal generator (breaking it in the pro…
jchodera Mar 15, 2019
2019540
Run only tests with 'travis' attribute decorator
jchodera Mar 15, 2019
ee4c55f
Remove unnecessary build dependencies.
jchodera Mar 18, 2019
0e13590
Start switching infrastructure over to new OEGAFFTemplateGenerator
jchodera Mar 18, 2019
8741594
Remove after_success.sh
jchodera Mar 19, 2019
0ef2e71
Remove binstar token
jchodera Mar 19, 2019
6bd35d8
Overhaul travis to match modern scheme
jchodera Mar 19, 2019
c768008
Conversion of most uses of flawed Residue -> OEMol tools to new OEGAF…
jchodera Mar 19, 2019
1623074
Merge remote-tracking branch 'origin/master' into alchemical-factory-…
Apr 2, 2019
5a29871
Merge remote-tracking branch 'origin/master' into alchemical-factory-…
jchodera Apr 3, 2019
1270257
Merge branch 'alchemical-factory-tests' of github.com:choderalab/pers…
jchodera Apr 3, 2019
03dbc88
Add DummySystemGenerator
jchodera Apr 3, 2019
f036bb5
Use node attributes in matching residues
jchodera Apr 3, 2019
71d3a9d
Minor changes to test systems (still broken)
jchodera Apr 3, 2019
f9f12b9
Merge remote-tracking branch 'origin/master' into alchemical-factory-…
jchodera Apr 12, 2019
d50cb8c
Delete flawed compare_energies test
jchodera Apr 12, 2019
2f4f000
Clean up tests
jchodera Apr 12, 2019
146d7d5
Require openmm >= 7.4.0 because we need ForceField._TemplateData.addA…
jchodera Apr 13, 2019
758def8
Fix some bugs in tests
jchodera Apr 13, 2019
2e5ffd8
Various bugfixes
jchodera Apr 14, 2019
c0c0b4f
More test bugfixes
jchodera Apr 14, 2019
4aad921
More bugfixes
jchodera Apr 14, 2019
5c856e9
Update some docstrings
jchodera Apr 14, 2019
7d171ff
More test fixes
jchodera Apr 14, 2019
d04882b
Require nose for testing
jchodera Apr 14, 2019
f64151e
Fix some issues with relative_setup.
jchodera Apr 14, 2019
288af44
Fix some issues with integrator.reset()
jchodera Apr 14, 2019
5c928ae
Add night openmm dev builds
jchodera Apr 14, 2019
7ee824b
Overhaul testsystems
jchodera Apr 14, 2019
f7ecbfb
Add openeye beta builds
jchodera Apr 14, 2019
fa4c42f
Fix channel name for omnia-dev nightly builds
jchodera Apr 14, 2019
d122a68
Merge remote-tracking branch 'origin/master' into oegaff-template-gen…
jchodera May 4, 2019
f84c554
Remove extra arguments accidentally left from debugging in #538
jchodera May 4, 2019
82ce665
Fix some additional geometry tests
jchodera May 4, 2019
a44ab31
Update JSON molecule cache
jchodera May 4, 2019
010a0a3
Migrate sanitizeSMILES test to test_utils.py and clean up sanitizatio…
jchodera May 4, 2019
0418ce0
Update SMILES canonicalization and tests
jchodera May 4, 2019
cefa24d
Fix issues with generation of oemols with pyramidal nitrogens failing…
jchodera May 4, 2019
2d1b16f
Misc fixes to tests
jchodera May 4, 2019
ed85f1a
Move OESMILES_OPTIONS to new perses.constants
jchodera May 4, 2019
6615099
Do not use explicit hydrogens in canonical representation of SMILES
jchodera May 4, 2019
67b1cca
Merge remote-tracking branch 'origin/master' into oegaff-template-gen…
jchodera Jun 3, 2019
bf1812a
More updates?
jchodera Jul 13, 2019
e76020e
Minor updates
jchodera Sep 11, 2019
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
122 changes: 62 additions & 60 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,72 +1,74 @@
language: c
sudo: false
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
#- g++
#- gfortran
#- valgrind
#- csh
#- g++-multilib
#- gcc-multilib
language: python

# Run jobs on container-based infrastructure, can be overridden per job
dist: xenial

branches:
except:
- /^(?i:notest)-.*$/
only:
- master

install:
#add random sleep from 1-10s to try to prevent overloading the anaconda servers
- sleep $[ ( $RANDOM % 10 ) + 1 ]s
- env
matrix:
include:
- os: osx
language: generic
env: PYTHON_VER=3.6 OPENEYE=true
- os: osx
language: generic
env: PYTHON_VER=3.7 OPENEYE=true

- os: linux
python: 3.6
env: PYTHON_VER=3.6 OPENEYE=true
- os: linux
sudo: required
python: 3.7
env: PYTHON_VER=3.7 OPENEYE=true

env:
global:
- OE_LICENSE="$HOME/oe_license.txt"

before_install:
# Additional info about the build
- uname -a
- df -h
- ulimit -a
# Install Conda and dependencies
- source devtools/travis-ci/install.sh
- export PYTHONUNBUFFERED=true
- export CC=gcc
- export CXX=g++
# Add nighly openmm dev builds
- conda config --add channels omnia-dev
# Add openeye beta builds
- conda config --add channels openeye/label/beta
# Report Python version
- python -V
# Unpack encrypted OpenEye license file
- if [ "$TRAVIS_SECURE_ENV_VARS" == true ]; then openssl aes-256-cbc -K $encrypted_e49582a90fb5_key -iv $encrypted_e49582a90fb5_iv -in devtools/travis-ci/oe_license.txt.enc -out $OE_LICENSE -d; fi
- if [ "$TRAVIS_SECURE_ENV_VARS" == false ]; then echo "OpenEye license will not be installed in forks."; fi
- if [ "$TRAVIS_SECURE_ENV_VARS" == false ] ; then echo "OpenEye license will not be installed in pull request."; fi

script:
# Create a test environment
- conda create --yes -n test python=$python
# Activate the test environment
install:
# Create test environment for package
- conda create --yes -n test python=$PYTHON_VER pip pytest pytest-cov
- source activate test
# Add omnia
- conda config --add channels omnia --add channels conda-forge
# Add omnia beta and dev channels
- conda config --add channels omnia/label/beta
- conda config --add channels omnia/label/dev
# Add OpenEye channel
- conda config --add channels openeye
# Update conda
- conda update --yes --all
# List conda environment

# Use OpenEye toolkits beta version for partial bond orders
- if [[ "$OPENEYE" == true ]]; then conda install --yes -c openeye/label/beta openeye-toolkits && python -c "import openeye; print(openeye.__version__)"; fi

# Install pip only modules
- pip install codecov
- pip install coverage==4.4

# Build and install package
- conda build --python=$PYTHON_VER devtools/conda-recipe
- conda install --yes --use-local perses-dev

# Report on environment
- conda list
# Build the recipe
- conda build devtools/conda-recipe
# Install the package
- conda install --yes --use-local ${PACKAGENAME}-dev
# Install testing dependencies
- conda install --yes --quiet nose nose-timer
# Test the package
- cd devtools && nosetests perses --nocapture --verbosity=3 --with-timer -a '!advanced' && cd ..

env:
matrix:
- python=3.5 CONDA_PY=35 TESTSYSTEMS="ValenceSmallMoleculeLibraryTestSystem"
- python=3.6 CONDA_PY=36 TESTSYSTEMS="ValenceSmallMoleculeLibraryTestSystem"
script:
- pytest -v -s --cov=perses-dev perses-dev/tests/

global:
- ORGNAME="omnia"
- OE_LICENSE="$HOME/oe_license.txt"
- PACKAGENAME="perses"
# Location of decrypted OpenEye license file
- OE_LICENSE="$HOME/oe_license.txt"
- OPENEYE_CHANNEL="-i https://pypi.anaconda.org/OpenEye/simple"
# encrypted BINSTAR_TOKEN for push of dev package to binstar
- secure: "RRvLDPu9mPoNaRWIseaJdgShOXI+PaHPWKAIJvW7VYWcAS6iEN7W4Fj4zD5hkocQxc3ou97EtkgID+ApH10bSGKxCykyU0urSY9jsSOJX2m0AE19X0dVr6ySIQkwCWE6kUMVlvQYQo80fM2EMElD+btr4G9XBAhArAO7HvZHkoQ="
notifications:
email: false

after_success:
- echo "after_success"
- if [ "$TRAVIS_SECURE_ENV_VARS" == true ]; then source devtools/travis-ci/after_success.sh; fi
- codecov
8 changes: 5 additions & 3 deletions devtools/conda-recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ requirements:
- numexpr
- autograd
- pymbar
- openmm >=7.3.1
- openmm >=7.4.0
- parmed
- openmoltools
- openmmtools
- openmmtools >=0.18.1
- numba
- netcdf4
- matplotlib
Expand All @@ -40,8 +40,10 @@ requirements:
- distributed
- progressbar2
- yank
- parmed
- ambermini
- tinydb
- tqdm
- nose

about:
home: https://github.com/choderalab/perses
Expand Down
36 changes: 0 additions & 36 deletions devtools/travis-ci/after_success.sh

This file was deleted.

1 change: 1 addition & 0 deletions devtools/travis-ci/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ bash $MINICONDA -b -p $MINICONDA_HOME
# Configure miniconda
export PIP_ARGS="-U"
export PATH=$MINICONDA_HOME/bin:$PATH
conda config --add channels omnia
conda config --add channels conda-forge
conda config --set always_yes yes
conda install conda conda-build jinja2 anaconda-client
Expand Down
2 changes: 1 addition & 1 deletion environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dependencies:
- numexpr
- autograd
- pymbar
- openmm >=7.3.1
- openmm >=7.4.0
- openmoltools # may need to sort out ambermini/ambertools/parmed dependencies (we don't want ambertools)
- openmmtools # may need to sort out ambermini/ambertools/parmed dependencies
- numba
Expand Down
1 change: 1 addition & 0 deletions perses/bias/bias_engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ def _create_implicit_solvent_openmm(self, mol):
positions : np.array, Quantity nm
array of atomic positions
"""
# TODO: Replace this with a SystemGenerator
molecule_name = oeiupac.OECreateIUPACName(mol)
openmoltools.openeye.enter_temp_directory()
_ , tripos_mol2_filename = openmoltools.openeye.molecule_to_mol2(mol, tripos_mol2_filename=molecule_name + '.tripos.mol2', conformer=0, residue_name='MOL')
Expand Down
6 changes: 6 additions & 0 deletions perses/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
################################################################################
# CONSTANTS
################################################################################

from openeye import oechem
OESMILES_OPTIONS = oechem.OESMILESFlag_DEFAULT | oechem.OESMILESFlag_ISOMERIC
Loading