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

Psi 4 integration #170

Open
wants to merge 158 commits into
base: psi4
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
2bbbe2c
Fix nwchem parameter serialization
avirshup Feb 8, 2017
d0add2e
Deal with missing properties in nwchem
avirshup Feb 8, 2017
0d12510
Build MDT with working version, not repo version
avirshup Feb 8, 2017
ce7d67d
Handle .smiles and .inchi files; always use direct integrals in NWCHem
avirshup Feb 10, 2017
7344bfb
Correct NWChem image path; better handling of PDB files w/ missing ch…
avirshup Feb 10, 2017
24239af
Correctly update positions after NWChem minimization
avirshup Feb 14, 2017
b40f669
Expand QM tests, write a ridiculous number of digits for XYZ files
avirshup Feb 17, 2017
2c406e5
Begin adding QM/MM interface for NWChem
avirshup Feb 17, 2017
d8f75b3
Add forcefield formatting interface
avirshup Feb 17, 2017
5e63c6c
Switch forcefield storage to ParmEd, wrap it for easier manipulation
avirshup Feb 21, 2017
be931df
Update OpenMM interface with support from ParmEd
avirshup Feb 21, 2017
de72f13
Add abstract QM/MM classes
avirshup Feb 21, 2017
c6e19cd
Get mechanical embedding QM/MM working (with orbital visualization!)
avirshup Feb 22, 2017
a842890
Fix various typos
avirshup Feb 22, 2017
6c41b59
Get electronic embedding working
avirshup Feb 22, 2017
86b966d
Add integrated NWChem/sander build
avirshup Feb 26, 2017
520c458
Merge commit '3ea85bff941355ecf50d4aef6a1cbdf2de51d3f9' into nwchem_qmmm
avirshup Apr 4, 2017
8709122
Parse orbitals in movecs file
avirshup Apr 5, 2017
3476cd3
Start getting AO basis functions from NWChem
avirshup Apr 10, 2017
86e230b
More orbital work
avirshup Apr 11, 2017
c475de8
Merge branch 'widgetcleanup' into nwchem_qmmm
avirshup May 18, 2017
b923aaa
Merge branch 'master' into nwchem_qmmm
avirshup May 23, 2017
2bc5ce9
Fix merge
avirshup Jun 6, 2017
e123651
Merge branch 'dev' into nwchem_qmmm
avirshup Jun 8, 2017
75185b4
NWChem in Python 3, with orbitals
avirshup Jun 8, 2017
e08e652
Fix XYZ writer
avirshup Jun 8, 2017
eca3ac0
Add mp2 bindings (although dockerfile doesn't have that?)
avirshup Jun 9, 2017
a6d8a1e
New-style supers don't appear to work in classes with metaclasses
avirshup Jun 9, 2017
88ab304
Merge pull request #156 from Autodesk/fix_energy_model_instantiation
avirshup Jun 9, 2017
d30e517
--testall
avirshup Jun 9, 2017
68506cd
Fixes openmm RPC
avirshup Jun 9, 2017
e53384a
Merge pull request #158 from Autodesk/pickleissues
avirshup Jun 9, 2017
9a6fa3e
pytest-xdist rollback, possibly see pytest-dev/pytest-xdist#157
avirshup Jun 10, 2017
d395439
Merge pull request #152 from Autodesk/dev
avirshup Jun 10, 2017
701d46c
Docker registry tokens
avirshup Jun 10, 2017
3d40029
Prep for beta deployment
avirshup Jun 10, 2017
aa4aecf
Option to skip test environments
avirshup Jun 10, 2017
5566994
Test example directory deployment
avirshup Jun 10, 2017
7352033
Merge pull request #160 from Autodesk/deploy0.8beta
avirshup Jun 10, 2017
499a5f8
Gets moldesign intro working in python 3
avirshup Jun 10, 2017
effa0cd
Restore molecule markdown (was accidentally moved to nbmolviz)
avirshup Jun 10, 2017
16a8570
Update final deployment steps
avirshup Jun 10, 2017
e82db7c
Merge branch 'master' into intro_experience
avirshup Jun 10, 2017
42ca25e
More deployment work
avirshup Jun 12, 2017
936d3cc
Fix publish environment
avirshup Jun 12, 2017
a06d948
Fix filename
avirshup Jun 12, 2017
16498cf
Correct version string
avirshup Jun 12, 2017
93a2a3b
more version string
avirshup Jun 12, 2017
7053a6e
fun with versions (note: not really all that fun)
avirshup Jun 12, 2017
ffac26d
Use PEP440 versions, not semver
avirshup Jun 13, 2017
6407854
Add push to docker-make
avirshup Jun 13, 2017
1868e7c
Fix yml
avirshup Jun 13, 2017
2a53bd7
Trying again to make publishing work
avirshup Jun 13, 2017
fd4d8e2
oops
avirshup Jun 13, 2017
18b751a
docker auth key
avirshup Jun 13, 2017
ce9d6ae
Login to registry thru docker-make
avirshup Jun 13, 2017
f03040a
Merge pull request #162 from Autodesk/deploy
avirshup Jun 13, 2017
ebe2a28
Merge master (commit 'f03040a0a321e9f1a36928bb3922fc2987f4e92a') into…
avirshup Jun 13, 2017
c964d5c
Test coverage related to notebooks
avirshup Jun 13, 2017
67d8353
Handle more symmetry cases
avirshup Jun 13, 2017
5569d2a
Symmetry tests passing
avirshup Jun 13, 2017
2d622a2
Cleanup and a little bug filing help
avirshup Jun 13, 2017
bbbc7f3
Get first tutorial running
avirshup Jun 13, 2017
6dc522f
Get tutorial 2 working
avirshup Jun 13, 2017
311bfd0
Run tests from repo root (fixes weird coverage issues)
avirshup Jun 14, 2017
e0d7b63
Attempt fix for CI docker problems
avirshup Jun 14, 2017
cf156c6
Basic test coverage for minimizers
avirshup Jun 14, 2017
41cd546
Shameless improve test coverage by remove unused code
avirshup Jun 14, 2017
dd2cf5d
Speed up a few easy bottlenecks
avirshup Jun 14, 2017
657215d
Move unused functions out of scope
avirshup Jun 14, 2017
e591fc0
Adds test coverage for some neglected code paths
avirshup Jun 14, 2017
c0deeac
Test compressed file i/o
avirshup Jun 14, 2017
9942777
update i/o to accept pathlib objects;
avirshup Jun 15, 2017
9802eb3
mo tests mo problems
avirshup Jun 15, 2017
a6cfcd7
Quick fixes for new tests
avirshup Jun 15, 2017
861422d
Keep persistent references in result objects, even if generated remotely
avirshup Jun 15, 2017
0bf6eb7
py2 compat fixes
avirshup Jun 15, 2017
8dbdce6
Add test coverage for GTO math
avirshup Jun 15, 2017
48374ef
Scale energy conservation test with system size
avirshup Jun 15, 2017
d50c6e4
Get ERI calcs working again + better interface + tests
avirshup Jun 15, 2017
1fc320d
Tests for ao basis, stream io, PDB queries
avirshup Jun 15, 2017
7bcbbbd
Final test coverage push for 0.8
avirshup Jun 15, 2017
adb7f40
Fix test typos
avirshup Jun 15, 2017
424d061
Create README.md
avirshup Jun 15, 2017
c64d3dc
Merge pull request #161 from Autodesk/intro_experience
avirshup Jun 15, 2017
5a2f2a1
Strip notebook output from repo
avirshup Jun 15, 2017
b15a84e
Bump pyccc to fix a race condition
avirshup Jun 16, 2017
fa3ea27
Test SHAKE through minimizers, rather than the previous hacky solution
avirshup Jun 16, 2017
7ac42b9
Give minimizers a `runremotely` method
avirshup Jun 16, 2017
6cade4c
Add test for pdbfixer mutation
avirshup Jun 17, 2017
4d33955
Add residue queries to chains and molecules
avirshup Jun 17, 2017
97cac04
Gets mutate_residue running
avirshup Jun 17, 2017
e4badeb
Test docstring examples for mutation
avirshup Jun 17, 2017
fb5ea58
Get waterbox working
avirshup Jun 17, 2017
26b4b12
Clean up solvent box code
avirshup Jun 17, 2017
55370f4
Fix get_atoms keywords, ion queries
avirshup Jun 17, 2017
ff6f00e
Get minimizers up to snuff
avirshup Jun 17, 2017
4e7ca55
Missing test helper
avirshup Jun 17, 2017
d926ebb
Add symmetrizer test
avirshup Jun 17, 2017
ce16ce3
Prune unused code
avirshup Jun 18, 2017
4939b93
Minimizations run in the same environment as the model, if possible
avirshup Jun 18, 2017
b83faa3
Update pyccc req to fix unicode bug, test tweaks
avirshup Jun 19, 2017
65ba58f
Tell py2 to use uniocde for xyz files
avirshup Jun 19, 2017
939ed29
Merge pull request #165 from Autodesk/deploy
avirshup Jun 19, 2017
0eab030
Merge master commit '939ed29769f971374982a0663dcd3ab22d5f74a4' into n…
avirshup Jun 19, 2017
7ef3bfa
More tests passing after merge
avirshup Jun 20, 2017
ae9b680
Remove artifacts from merge
avirshup Jun 20, 2017
c4cb75f
Add "io", "internal" pytest marks for easier test selection
avirshup Jun 21, 2017
07e7424
Return a Unit object from units.get_units
avirshup Jun 21, 2017
0aee891
Fix some units corner cases
avirshup Jun 21, 2017
00da737
Add prinicipal moment of inertia calc
avirshup Jun 22, 2017
7a989d1
Handle assigning to quantity from a quantities
avirshup Jun 22, 2017
f093934
Clean up coords, add a better angle calculation
avirshup Jun 23, 2017
1a0afe5
Add `Bond.align` method
avirshup Jun 23, 2017
2bb7292
Fix vectorized angle calc
avirshup Jun 23, 2017
31d95f9
Mechanical embedding works
avirshup Jun 24, 2017
8ea2308
Clean up bond alignment
avirshup Jun 24, 2017
b0ffd4d
Clean up mathutils and tests
avirshup Jun 25, 2017
767d3f5
fixes pmi calculation, tests it
avirshup Jun 25, 2017
835b8de
Return correct types from constraint gradients
avirshup Jun 25, 2017
3f952f5
Assigning units to a string always raises TypeError
avirshup Jun 25, 2017
f0c96df
Fix quantity exception handling
avirshup Jun 25, 2017
5da7d2d
Adds constraint type for h-bonds + holonomic decomposition machinery
avirshup Jun 26, 2017
62a8491
Gets constrained optimization running again
avirshup Jun 26, 2017
8d74152
Fixes #79
avirshup Jun 26, 2017
f94834c
Constraints starting to respect the requested tolerances
avirshup Jun 26, 2017
e591d46
H-bond constraint values taken from forcefield equilibrium lengths
avirshup Jun 26, 2017
55236ac
Improved OpenMM constraint handling
avirshup Jun 27, 2017
6ff0a3a
fix py2-only circular import
avirshup Jun 27, 2017
ceb3f31
Set constraints earlier, don't assume parmed list orderings
avirshup Jun 27, 2017
55fe9d9
Calculate OpenMM energies even when constraints supported
avirshup Jun 27, 2017
09408d0
Move alignments to `geom` subpkg
avirshup Jun 27, 2017
855f10d
Cleanup CI and docker image docs
avirshup Jun 27, 2017
7385b19
Remove dead code
avirshup Jun 27, 2017
7bcc4f6
Add OpenMM parameters for platform and CPU thread count.
avirshup Jun 27, 2017
68fec25
Output and style tweaks
avirshup Jun 27, 2017
2255ed3
Correct OpenMM API call
avirshup Jun 28, 2017
68e8885
Native string types for OpenMM C++ calls
avirshup Jun 28, 2017
8085b8a
Mark subset of tests for faster screening
avirshup Jun 28, 2017
8c63e57
Stash changes
avirshup Jun 28, 2017
efaa71b
Add spherical harmonics up to f functions
avirshup Jun 28, 2017
54f29c8
Hook up SphericalGaussians, fix real harmonics signs
avirshup Jun 28, 2017
84ed89c
Initial Psi4 interface calculates energies
avirshup Jun 5, 2017
0bffcd4
Fix some random bugs
avirshup Jun 6, 2017
d4596e8
Add cleanup, fix property access
avirshup Jun 8, 2017
16fbdc8
Actually return the calculated properties
avirshup Jun 9, 2017
10831a1
Allows psi4 energy calculations to be run and "potential_energy" and …
Jun 16, 2017
3b3bd27
In the ElectronicWfn object, a gradient attribute was added to help w…
Jun 28, 2017
4be81a4
The psi4_interface mdt_to_psi4 function now returns a psi4 molecule i…
Jun 28, 2017
7791426
One electron property management was added for psi4. A minimize funct…
Jul 17, 2017
61958da
Fix pickling for minimizer objects in py2
avirshup Jun 28, 2017
fcc0686
Pin some versions
avirshup Jun 28, 2017
575e047
Add features to one electron properties for molecules following psi4 …
obrien951 Jul 27, 2017
a33cf80
Add handling of normal mode displacements for vizualization and put i…
obrien951 Jul 27, 2017
938d2f1
adds features for advanced psi4 users whose calculations will create …
obrien951 Jul 27, 2017
2512d96
clean psi4 model.
obrien951 Jul 27, 2017
13671ad
adds proper handling of psi4 calculations that return matrices.
obrien951 Jul 27, 2017
e928a2b
adds testing of the MDT Psi4 Interface.
obrien951 Jul 27, 2017
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
Prev Previous commit
Next Next commit
Adds test coverage for some neglected code paths
avirshup committed Jun 14, 2017

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit e591fc0a880496bd40151c9b4758dd5e7c4fed9c
9 changes: 9 additions & 0 deletions moldesign/_tests/test_openmm_xface.py
Original file line number Diff line number Diff line change
@@ -66,3 +66,12 @@ def test_minimization_reduces_energy(objkey, request):
e1 = mol.calculate_potential_energy()
traj = mol.minimize()
assert mol.calculate_potential_energy() < e1


@pytest.mark.parametrize('objkey', registered_types['hasmodel'])
def test_langevin_integrator(objkey, request):
mol = request.getfixturevalue(objkey)
mol.set_integrator(mdt.integrators.OpenMMLangevin, temperature=300.0*u.kelvin)
traj = mol.run(5.0 * u.ps)
assert mol.time >= 5.0 * u.ps
assert 150 * u.kelvin <= traj.temperature[-1] <= 450 * u.kelvin
23 changes: 23 additions & 0 deletions moldesign/_tests/test_pdb_processing.py
Original file line number Diff line number Diff line change
@@ -86,6 +86,14 @@ def test_missing_residues_xtal_2jaj(request, mol):
assert missingres[expected[0]][expected[2]] == expected[1]


def test_missing_residues_nmr_5b7a():
mol = mdt.read(get_data_path('5b7a.pdb'))
missingres = mol.metadata.missing_residues
for expected in MISSINGRES_5B7A:
assert missingres[expected[0]][expected[2]] == expected[1]
assert mol.metadata.description == 'STRUCTURES OF HUMAN SUMO'


@pytest.fixture
def pdb_1pyn():
return mdt.read(get_data_path('1pyn.pdb'))
@@ -119,3 +127,18 @@ def test_numeric_residue_name_1PYN(request, mol):
('A', 'SER', 284), ('B', 'GLY', 34), ('B', 'GLU', 35), ('B', 'ALA', 168),
('B', 'ASP', 169), ('B', 'GLY', 170), ('B', 'VAL', 282), ('B', 'ASP', 283),
('B', 'SER', 284)]

MISSINGRES_5B7A = [('A', 'PRO', 0),
('A', 'ASP', -1),
('A', 'MET', -13),
('A', 'GLY', -12),
('A', 'SER', -11),
('A', 'SER', -10),
('A', 'HIS', -9),
('A', 'HIS', -8),
('A', 'HIS', -7),
('A', 'HIS', -6),
('A', 'HIS', -5),
('A', 'HIS', -4),
('A', 'SER', -3),
('A', 'GLN', -2)]
18 changes: 18 additions & 0 deletions moldesign/_tests/test_pyscf_xface.py
Original file line number Diff line number Diff line change
@@ -73,6 +73,24 @@ def test_pyscf_rhf_sto3g_matrices(objkey, request):
np.testing.assert_allclose(canonical.from_ao(basis.overlaps), canonical.overlaps, atol=1.e-9)


def test_pyscf_casscf(h2):
h2.set_energy_model(mdt.models.PySCFPotential,
theory='casscf',
active_electrons=2, active_orbitals=2,
state_average=3, basis='sto-3g')
h2.calculate()
# TODO: actually test results


def test_pyscf_casci(h2):
pytest.xfail("CASCI interface doesn't yet work")
h2.set_energy_model(mdt.models.PySCFPotential,
theory='casci',
active_electrons=2, active_orbitals=2, basis='6-31g')
h2.calculate()
# TODO: actually test results


@pytest.mark.parametrize('objkey', registered_types['molecule'])
def test_pyscf_rhf_sto3g_forces(objkey, request):
mol = request.getfixturevalue(objkey)