1. 01 Jul, 2015 1 commit
  2. 26 Jun, 2015 1 commit
  3. 23 Jun, 2015 3 commits
  4. 19 Jun, 2015 2 commits
    • Jason Swails's avatar
      Delete now out-of-date docs as well as adding __array_priority__ to Quantity. · ba1af1ee
      Jason Swails authored
      This should be *lower* than that of Unit (and ScaledUnit/BaseUnit), since we
      still want Units to take priority over Quantities (but Quantity to take
      precedence over regular ndarrays) for reasons like this:
      
      >>> a = np.array([1]) * u.angstroms
      >>> b = a * u.angstroms # should be np.array([1])*u.angstroms**2
      >>> np.arange(10) * a # utilize broadcasting
      [1 2 3 4 5 6 7 8 9 10] A**2
      ba1af1ee
    • Jason Swails's avatar
      A large number of unit cleanups and fix numpy wart · 4ae68749
      Jason Swails authored
      The main thing that's done here is that numpy arrays can be given units via the
      * operator, rather than relying on the Quantity constructor
      
      e.g.,
      
      >>> import numpy as np
      >>> np.zeros(10) * u.angstroms
      Quantity(value=array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.]), unit=angstrom)
      
      yay!
      4ae68749
  5. 12 Jun, 2015 1 commit
  6. 04 Jun, 2015 2 commits
  7. 03 Jun, 2015 1 commit
  8. 30 May, 2015 1 commit
  9. 27 May, 2015 3 commits
    • peastman's avatar
      GBn now uses Discrete2DFunctions · dafd0f97
      peastman authored
      dafd0f97
    • Jason Swails's avatar
      support gen-pairs=no in Gromacs · deb6d66c
      Jason Swails authored
      This was actually fully supported already, since it parsed pairtypes and
      assigned the exception parameters correctly from there. All this does is throw
      an exception when pair parameters are not defined and gen-pairs=no.
      deb6d66c
    • Jason Swails's avatar
      Eliminate scipy RuntimeWarning when reading NetCDF restart files · 8908f33b
      Jason Swails authored
      Due to a bug that was uncovered in mdtraj with scipy's NetCDF implementation
      regarding mmapping, scipy started issuing the following warning if any NetCDF
      variable objects had references remaining after closing the file:
      
      /.../lib/python2.7/site-packages/scipy/io/netcdf.py:287:
      RuntimeWarning: Cannot close a netcdf_file opened with mmap=True, when
      netcdf_variables or arrays referring to its data still exist. All data arrays
      obtained from such files refer directly to data on disk, and must be copied
      before the file can be cleanly closed. (See netcdf_file docstring for more
      information on mmap.)
      
      We were already copying data to avoid segfaults on some scipy versions, but
      there were still references to variables that went out of scope shortly after
      the NetCDF file was closed.  Simply deleting these references gets rid of the
      warning.
      8908f33b
  10. 26 May, 2015 3 commits
  11. 19 May, 2015 1 commit
  12. 18 May, 2015 1 commit
    • Jason Swails's avatar
      Fix Gromacs #define replacement and add support for Gromacs 5 · a1483ec5
      Jason Swails authored
      Gromacs uses the preprocessor to replace previously #define'd tokens in strings.
      This is used, for instance, to override certain parameters without having to
      introduce new file types.  This is how Gromacs implemented ff99SB-ILDN (i.e., by
      simply replacing the chi torsion for isoleucine, leucine, aspartate, and
      asparagine with a define token).  So OpenMM *was* missing some in-line
      parameters that were defined.
      
      The immediate consequence I see is that whenever someone tried to run
      ff99SB-ILDN with OpenMM, what they were *really* getting was ff99SB. Not sure
      where else, if anywhere, this kind of thing was happening.
      a1483ec5
  13. 14 May, 2015 1 commit
  14. 13 May, 2015 1 commit
  15. 06 May, 2015 1 commit
  16. 05 May, 2015 1 commit
  17. 04 May, 2015 1 commit
  18. 02 May, 2015 1 commit
  19. 22 Apr, 2015 5 commits
    • Jason Swails's avatar
      Add tests and fix up getByMass · f97f8685
      Jason Swails authored
      This also removes assert statements, since those can't be relied upon to *not*
      be optimized away -- they should never be used to check user input sanity.
      f97f8685
    • Jason Swails's avatar
      Work around a bug in chemistry · c03aa301
      Jason Swails authored
      Masses do not increase monotonically with atomic number
      c03aa301
    • Jason Swails's avatar
      Fix up Residue assignment in CharmmPsfFile Topology · 7f802839
      Jason Swails authored
      Also fixes the test case.  Everything should pass now.
      7f802839
    • Jason Swails's avatar
      More getElementByMass performance improvements · 84691dc4
      Jason Swails authored
      Reduces time taken from 15.7 seconds (last commit) to 2.2 seconds by avoiding
      Quantity comparisons altogether.
      84691dc4
    • Jason Swails's avatar
      Drastically improve performance of getElementByMass · 8bcff367
      Jason Swails authored
      The old approach iterated through the entire periodic table by atomic number and
      subtracted the provided mass by the element's mass and kept track of the
      smallest difference. The new approach steps through the elements in order of
      atomic number and bails once it hits an element with a higher mass than the
      target mass (assuming masses are monotonically increasing).
      
      On my desktop, processing 4TVP-dmj_wat-ion.psf dropped from 297 s to 15.4 s. But
      15.4 s is still a bit too long...
      8bcff367
  20. 20 Apr, 2015 1 commit
  21. 10 Apr, 2015 1 commit
    • Jason Swails's avatar
      Improve CHARMM parsing when resnums have inscodes · 7b30da6e
      Jason Swails authored
      Apparently CHARMM PSF files (particularly those printed by VMD's psfgen) can
      have an insertion code tacked on to the end of the residue number, meaning that
      casting to an integer will invariably fail.  We can't just ignore the insertion
      code, though, since it will differentiate from the residues that came before and
      after (which will likely have the same number -- same general idea as insertion
      codes from PDB files). So instead we pull the insertion code off of the residue
      number and extend the Residue object to accommodate that.
      
      This is the port of the fix from ParmEd: ParmEd/ParmEd#98
      
      I added a test for this case.
      7b30da6e
  22. 19 Mar, 2015 3 commits
  23. 16 Mar, 2015 1 commit
    • Jason Swails's avatar
      Fix very subtle bug in Amber prmtop with NBFIX · 53e7cadc
      Jason Swails authored
      Some topology files have some of the nonbonded pairs in the Lennard-Jones matrix
      pointing to a 0 entry in the HBOND_ACOEF and HBOND_BCOEF arrays. This commit
      simply skips over those entries, having previously checked that all entries in
      the 10-12 sections are 0.  There is actually an example of this already in the
      test suite (see ff14ipq.parm7), but this fortuitously did not cause any
      difference in those test results.
      
      The reason this bug is not evident in that test case is because the A- and
      B-coefficients pulled when the index was -1 (later decremented to -2) was also
      coincidentally 0. However, if this was not the case (as it does not *have* to
      be), then who knows what could happen.
      
      This also adds more of a check against 10-12 topology files. ParmEd actually
      supports using the 10-12 potential in OpenMM when specified in the Amber prmtop,
      but it is sufficiently rare that it is not worth porting to OpenMM, IMO.
      53e7cadc
  24. 14 Mar, 2015 3 commits