Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
72b92a0
Switch ML estimator to chemprop
Aug 5, 2019
3b7cb4c
Update documentation and ML example
Aug 5, 2019
1522599
Update meta.yaml
Aug 5, 2019
d0e5ca3
Revert Fix Travis builds by adding in missing miniconda dependencies
amarkpayne Jul 22, 2019
0b48cb7
Update Python 3 environment
Aug 12, 2019
86f4bf9
Adjust directory structure for N4H6 in arkane examples
mliu49 Aug 22, 2019
2c158ad
Move PyDQED check to check_dependencies function
mliu49 Aug 26, 2019
8d4d526
Refactor check_dependencies to be more modular
mliu49 Aug 26, 2019
86156b6
Move PyDAS solver check from Makefile to utilities.py
mliu49 Aug 26, 2019
f59814c
Remove `u` tag for unicode string from testing databases
mliu49 Aug 27, 2019
4e78f1d
Change travis to only run py3 build, since py2 will always fail now
mliu49 Aug 27, 2019
73d2d65
Change cython language level to 3
mliu49 Aug 27, 2019
fc523e1
Refactor and standardize short/long description writing
mliu49 Aug 27, 2019
0abf56b
Fix `exec` usage
mliu49 Aug 27, 2019
6657f61
Change molecule fingerprint to enable better sorting
mliu49 Aug 27, 2019
c90c407
Add sorting_key attribute to Atom, Bond, Molecule, Species
mliu49 Aug 27, 2019
0c0c7ed
Add/update comparison methods for Atom, Bond, Molecule, Species
mliu49 Aug 27, 2019
fea1ac5
Fix unit tests affected by changes to sorting
mliu49 Aug 27, 2019
b8acca0
Fix I/O related string issues
mliu49 Aug 27, 2019
a22b616
Fix other string formatting issues
mliu49 Aug 27, 2019
256de03
Fix exception message handling
mliu49 Aug 27, 2019
0b3884f
Fix dictionary item retrieval/iteration issues
mliu49 Aug 27, 2019
92c584f
Fix usage of str.translate
mliu49 Aug 27, 2019
715b6bf
Fix issue with calling lpsolve
mliu49 Aug 27, 2019
190fe9a
Fix family loading to account for __pycache__
mliu49 Aug 27, 2019
90c6803
Miscellaneous fixes to unit tests
mliu49 Aug 27, 2019
f487687
Fix sorting when using machine learning thermo
mliu49 Aug 27, 2019
4589119
Fix type comparison
mliu49 Aug 27, 2019
df19793
Fix sorting in generateReactionKey
mliu49 Aug 27, 2019
403b44c
Fix file opening using `file`
mliu49 Aug 27, 2019
aba04e0
Fix interesting symmetry bug
mliu49 Aug 27, 2019
cca187f
Remove work_in_progress decorator from a test
mliu49 Aug 27, 2019
bcac42d
Capture standard output when running functional tests
mliu49 Aug 27, 2019
195f49b
Mark InChI pickle test as work_in_progress
mliu49 Aug 27, 2019
2dd0a79
Fix sorting of Quantity objects in main.execute
mliu49 Aug 27, 2019
34b3bc0
Decode dot output when generating flux diagram
mliu49 Aug 27, 2019
6c8004e
Refactor removeVanDerWaalsBonds to not modify dict while iterating
mliu49 Aug 27, 2019
bfb51b1
Switch to Py3 compatible version of Q2DTor
mliu49 Aug 27, 2019
aa6243f
Remove uses of six.string_types
mliu49 Aug 29, 2019
4baba99
Make Entry.shortDesc and Entry.longDesc standard attributes
mliu49 Aug 29, 2019
aaaa9b1
Fix min usage with Entry objects
mliu49 Aug 29, 2019
7b4f66e
Make the python 3 environment file the only environment file
amarkpayne Sep 3, 2019
3d9fbdb
Remove xrange calls in chemkin.pyx
mliu49 Sep 6, 2019
6cfa689
Close all matplotlib.pyplot figures
alongd Sep 9, 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
2 changes: 1 addition & 1 deletion .conda/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ requirements:
- cairo
- cairocffi
- cantera >=2.3.0
- chemprop
- coolprop
- coverage
- cython >=0.25.2
- dde
- ffmpeg
- gprof2dot
- graphviz
Expand Down
62 changes: 25 additions & 37 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,6 @@ env:
- secure: "cfosGf5hvUhIlPoGJu0d/HFddrMwIFU7FfLwd8yRrMGkYv0ePOwAW9kmhFSxUYvuXkxzgD75cIICMFY2fSm6VXBXXzfPQD7vwzoApXf7a8vi0C64XhinXhdEyUYb5/v8fswa0zheUENYhUS1tOqDXT/h8EPNZT5wKizaA3O2Wa8="
- secure: "QXuqKYuwCocqsTMePBc5OugBbQC4/t+335TYLdkletiateP/rF/eDsVRG792/BVq5gKRZgz3NH9ipTNm5pZoCbAEPt9+eDpfts8WeAbxmjdcEjfBxxwZ69wUTPAVrezTGn2k7W2UBdFrWeUNKPAVCKIkoviXqOHFitqJEC+c6JY="
- secure: "jIyBEzR10l5SWvY5ouEYzA8YzPHIZNMXMBdcXwuwte8NCU8GBYUqhHA1L67nTaBdLhWbrZ2NireVKPQWJp3ctcI0IB6xZzaYlVpgN/udGPO+1MZd9Xhp9TWuJWrGZ9EoWGB9L5H+O7RYwcDMVH5CUrCIBdsSJuyE8aDpky1/IVE="
matrix:
- ENV_FILE='environment_linux.yml'
- ENV_FILE='environment_py3.yml'

matrix:
allow_failures:
- env: ENV_FILE='environment_py3.yml'

stages:
- test
Expand All @@ -39,38 +32,36 @@ before_install:
- git config --global user.name "Travis Deploy"
- git config --global user.email "rmg_dev@mit.edu"

install:
# Clone RMG-database
- git clone https://github.com/ReactionMechanismGenerator/RMG-database.git
- cd RMG-Py
# Create and activate environment
- conda env create -q -f $ENV_FILE
- source activate rmg_env
# Install codecov for coverage report
- conda install -y -c conda-forge codecov
- conda list
# Setup MOPAC license key
- yes 'Yes' | $HOME/miniconda/envs/rmg_env/bin/mopac $MOPACKEY > /dev/null
# Install Q2DTor
- git clone -b arkane https://github.com/mjohnson541/Q2DTor.git external/Q2DTor
# Compile RMG
- make

script:
- make test-unittests
- make test-functional
- make test-database

after_success:
- codecov
- bash ./deploy.sh

jobs:
include:
- stage: test
install:
# Clone RMG-database
- git clone https://github.com/ReactionMechanismGenerator/RMG-database.git
- cd RMG-Py
# Create and activate environment
- conda env create -q -f environment.yml
- source activate rmg_env
# Install codecov for coverage report
- conda install -y -c conda-forge codecov
- conda list
# Setup MOPAC license key
- yes 'Yes' | $HOME/miniconda/envs/rmg_env/bin/mopac $MOPACKEY > /dev/null
# Install Q2DTor
- git clone -b arkanepy3 https://github.com/mjohnson541/Q2DTor.git external/Q2DTor
# Compile RMG
- make
script:
- make test-unittests
- make test-functional
- make test-database
after_success:
- codecov
- bash ./deploy.sh
- stage: documentation
install:
- cd RMG-Py
- conda env create -q -f environment_linux.yml
- conda env create -q -f environment.yml
- source activate rmg_env
# Install sphinx for building documentation
- conda install -y sphinx
Expand All @@ -82,7 +73,6 @@ jobs:
- export COMMITMESSAGE="Automatic documentation rebuild"
script:
- make travis_setup clean html publish
after_success: skip
- stage: deploy
install:
# Setup conda build
Expand All @@ -95,7 +85,6 @@ jobs:
- conda config --set anaconda_upload yes
script:
- conda build --token $CONDA_TOKEN --user rmg RMG-Py/.conda
after_success: skip
- os: osx
install:
# Setup conda build
Expand All @@ -108,4 +97,3 @@ jobs:
- conda config --set anaconda_upload yes
script:
- conda build --token $CONDA_TOKEN --user rmg RMG-Py/.conda
after_success: skip
21 changes: 3 additions & 18 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
#
################################################################################

DASPK=$(shell python -c 'import pydas.daspk; print(pydas.daspk.__file__)')
DASSL=$(shell python -c 'import pydas.dassl; print(pydas.dassl.__file__)')

.PHONY : all minimal main solver check cantherm clean install decython documentation mopac_travis

all: main solver check
Expand All @@ -15,22 +12,10 @@ minimal:
python setup.py build_ext minimal --inplace --build-temp .

main:
@ echo "Checking you have PyDQED..."
@ python -c 'import pydqed; print(pydqed.__file__)'
python setup.py build_ext main --inplace --build-temp .

solver:

ifneq ($(DASPK),)
@ echo "DASPK solver found. Compiling with DASPK and sensitivity analysis capability..."
@ (echo DEF DASPK = 1) > rmgpy/solver/settings.pxi
else ifneq ($(DASSL),)
@ echo "DASSL solver found. Compiling with DASSL. Sensitivity analysis capabilities are off..."
@ (echo DEF DASPK = 0) > rmgpy/solver/settings.pxi
else
@ echo 'No PyDAS solvers found. Please check if you have the latest version of PyDAS.'
@ python -c 'import pydas.dassl'
endif
@ python utilities.py check-pydas
python setup.py build_ext solver --inplace --build-temp .

arkane:
Expand Down Expand Up @@ -73,7 +58,7 @@ q2dtor:
and HinderedRotor2D within Arkane please cite: \n\nD. Ferro-Costas, M. N. D. S.Cordeiro, D. G. Truhlar, A.\
Fernández-Ramos, Comput. Phys. Commun. 232, 190-205, 2018.\n"
@ read -p "Press ENTER to continue" dummy
@ git clone https://github.com/mjohnson541/Q2DTor.git external/Q2DTor --branch arkane
@ git clone https://github.com/mjohnson541/Q2DTor.git external/Q2DTor --branch arkanepy3
Comment thread
amarkpayne marked this conversation as resolved.

decython:
# de-cythonize all but the 'minimal'. Helpful for debugging in "pure python" mode.
Expand All @@ -99,7 +84,7 @@ ifneq ($(OS),Windows_NT)
mkdir -p testing/coverage
rm -rf testing/coverage/*
endif
nosetests --nocapture --nologcapture --all-modules -A 'functional' --verbose --exe rmgpy arkane
nosetests --nologcapture --all-modules -A 'functional' --verbose --exe rmgpy arkane

test-database:
nosetests --nocapture --nologcapture --verbose --detailed-errors testing/databaseTest.py
Expand Down
4 changes: 2 additions & 2 deletions arkane/inputTest.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,8 @@ def test_reaction(self):
self.assertEqual(rxn.label, 'CH2O+H=Methoxy')
self.assertEqual(len(rxn.reactants), 2)
self.assertEqual(len(rxn.products), 1)
self.assertAlmostEqual(rxn.reactants[0].conformer.E0.value_si, 120038.96)
self.assertAlmostEqual(rxn.reactants[1].conformer.E0.value_si, 0)
self.assertAlmostEqual(rxn.reactants[0].conformer.E0.value_si, 0)
Comment thread
amarkpayne marked this conversation as resolved.
self.assertAlmostEqual(rxn.reactants[1].conformer.E0.value_si, 120038.96)
self.assertAlmostEqual(rxn.products[0].conformer.E0.value_si, 39496.96)
self.assertAlmostEqual(rxn.transitionState.conformer.E0.value_si, 142674.4)
self.assertAlmostEqual(rxn.transitionState.frequency.value_si, -967.0)
Expand Down
4 changes: 2 additions & 2 deletions arkane/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ def execute(self):
if supporting_info:
# write supporting_info.csv for statmech jobs
supporting_info_file = os.path.join(self.outputDirectory, 'supporting_information.csv')
with open(supporting_info_file, 'wb') as csvfile:
with open(supporting_info_file, 'w') as csvfile:
writer = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
writer.writerow(['Label', 'Symmetry Number', 'Number of optical isomers', 'Symmetry Group',
'Rotational constant (cm-1)',
Expand Down Expand Up @@ -251,7 +251,7 @@ def execute(self):
hr_file = os.path.join(self.outputDirectory, 'hindered_rotor_scan_data.csv')
# find longest length to set column number for energies
max_energy_length = max([len(hr[4]) for hr in hindered_rotor_info])
with open(hr_file, 'wb') as csvfile:
with open(hr_file, 'w') as csvfile:
writer = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
writer.writerow(['species', 'rotor_number', 'symmetry', 'resolution (degrees)',
'pivot_atoms', 'frozen_atoms'] +
Expand Down
1 change: 1 addition & 0 deletions arkane/statmech.py
Original file line number Diff line number Diff line change
Expand Up @@ -720,6 +720,7 @@ def create_hindered_rotor_figure(self, angle, v_list, cosineRotor, fourierRotor,
['$0$', '$\pi/4$', '$\pi/2$', '$3\pi/4$', '$\pi$', '$5\pi/4$', '$3\pi/2$', '$7\pi/4$', '$2\pi$'])

self.hindered_rotor_plots.append((fig, rotorIndex))
fig.close()

def save_hindered_rotor_figures(self, directory):
"""
Expand Down
4 changes: 2 additions & 2 deletions documentation/source/users/rmg/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -662,8 +662,8 @@ cyclic species regardless of the ``onlyCyclics`` setting. If ``onlyCyclics`` is
than zero, RMG will log a warning that ``onlyCyclics`` should also be True and the machine learning estimator will be
restricted to only cyclic species with the specified minimum cycle overlap.

If the estimated uncertainty of the thermo prediction is greater than any of the ``UncertaintyCutoff`` values, then
machine learning estimation is not used for that species.
Note that the current machine learning model is not yet capable of estimating uncertainty so the ``UncertaintyCutoff``
values do not yet have any effect.


.. _pressuredependence:
Expand Down
4 changes: 3 additions & 1 deletion environment_py3.yml → environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ channels:
- rmg
- rdkit
- cantera
- anaconda
- pytorch
- conda-forge
dependencies:
- cairo
- cairocffi
- cantera >=2.3.0
- cclib
- chemprop
- coolprop
- coverage
- cython >=0.25.2
Expand Down
54 changes: 0 additions & 54 deletions environment_linux.yml

This file was deleted.

54 changes: 0 additions & 54 deletions environment_mac.yml

This file was deleted.

55 changes: 0 additions & 55 deletions environment_windows.yml

This file was deleted.

Loading