Changelogs » Mbuild

PyUp Safety actively tracks 263,016 Python packages for vulnerabilities and notifies you when to upgrade.



  - Add `wrap_coords` function for wrapping particles into a box (643)
  Bug Fixes
  - Don't populate empty lists for hoomd snapshot (647)
  - Add `nbval` as requirement for tests in conda recpe (656)
  - Remove `six` and some Python 2 legacy code (641)
  - Remove examples (from this repository) (658)
  - Fix travis by not installing md5sha1sum (660)
  - Add CHANGELOG (632)


  - Add Cassandra MCF writer (636)
  - Add HOOMD snapshot converter (622)
  - Generate `mb.Compound` from Parmed or MDTraj residues (526)
  - Add `**kwargs` for `write_gsd` (653)
  Bug Fixes
  - Fix unique naming problem in `to_networkx` (583)
  - Default the mBuild PAR-writer to use `IMPROPER` (648)
  - Fix ghost ports attached to removed compound (593)
  - Remove duplicate NP particles in TNP example (625)
  - Only import MCF writer if `networkx` is installed (654)
  - Add LGTM (616)
  - Add Azure CI testing (615, 617, 618, 630, 637, 638)
  - Update Travis CI (649)
  - Update conda recipe to include nbval (611, 656)
  - Pin `nglview` to 2.7+ (651, 655)
  - Reduce length of some unit tests (621)
  - Rename `AmorphousSilica` to be more descriptive (630)


This is a bugfix release to resolve a potential issue with a foyer dependency with mBuild 0.10.0.
  * Remove a `foyer` import that was producing a circular dependency (610)


Breaking Change
  - Officially drop Python 2.7 (573)
  - Load mBuild compounds from existing ParmEd and MDTraj objects (561)
  - Convert mBuild compound to and from JSON format (581)
  - Include testing of notebooks in CI (590)
  - Add NGLView tooltip (600)
  - Initialize mBuild Compounds from SMILES strings (598)
  - Write out parameterized structures to a CHARMM `.par` file (508)
  - Add method to convert to and from Pybel (555)
  - Add POSCAR file writer in an effort to incorporate VASP into mBuild (468)
  Bug Fixes
  - Remove unnecessary Pybel import statement in `mb.load` (604)
  - Change how proxy compounds are named so that `MOL2` files are in the correct format (605)
  - Rename atom names in silica interface example to be compatible with recent mBuild release (594)
  - Improve error handling for Box class (576)
  - Add a `with open` block to manage file open (585)
  - Add `_clone()` function to the Proxy class to properly clone an instance of Proxy (592)
  - Add `` file generated from `protoc` compiler to gitignore (602)
  - Improve documentation of various mBuild classes and functions (577, 578, 579, 580)
  - Add additional testing for `foyer_kwargs` (428)


Breaking Changes
  * This is the last release supporting Python 2.7
  * A more descriptive exception is raised when attempting to access a non-existent Port (544)
  * Element capitalization is better enforced in ParmEd conversions (550)
  * The XYZ reader can now act on a passed compound (567)
  * The LAMMPS writer now accurately prints residue IDs (569)
  * Visualizing compounds in notebooks no longer returns a duplicate widget (545)
  * Names of custom elements are no longer clobbered during visualization (563)
  * The image in our gitter link has been updated (543)
  * Some links in tutorials have been corrected (548)
  * Installation documentation has been updated to reflect changes in conda configurations (558)
  * Some other documentation has been refreshed (560)
  * The GSD version is pinned to 1.7 in order to continue Python 2.7 support (572)


Breaking Changes
  * Python 3.5 is no longer officially supported or tested on as part of the development process.
  * mBuild is now tested and packaged on Python 3.7 (542)
  * MDTraj is no longer pinned to an old version (542)
  * Coveralls is dropped; we have been using codecov for a few months (542)


Breaking Changes
  This is the last release including official support for Python 3.5. It will likely work for some time but mBuild will not be tested on Python 3.5 during development.
  * Residue names can optionally be inferred from compound names in conversion to ParmEd (475)
  * Custom cross-interactions (NBFIXES in ParmEd jargon) can now be written to LAMMPS data files (456)
  * The LAMMPS writer now prints helpful comments to more verbosely describe which atom types are associated with each potential (535)
  * Some stylistic changes were made as suggested by various linters (522)
  * Appveyor now tests on Python 3.6 (520)
  * Installation docs were updated to explicitly list supported Python versions (532)
  * A comment pointing to the `glozter` Anaconda channel has been updated to point to `conda-forge` (534)
  * Some tests depending on `foyer` are now properly skipped when it it not installed (521)
  * Some examples were updated in accordance with their new structure as internal recipes (536, 538)


  * A plugin or "recipe" architecture has been added to allow external modules to be imported inside of mBuild (501)
  * Python 3.6 is now explicitly supported and tested (518)
  * A contributor's guide (500) and `.github` issue & pull request templates (498) have been added
  * A redundant and unused block of code was removed (515)
  * The `glotzer` and `bioconda` channels, which are now obsolete in this scope, have been dropped (516)


Breaking Changes
  * When writing hoomdxml files, units will now be in kJ/mol & nm instead of kcal/mol & ang, so particle positions will differ by a factor of 10.
  * A `to_networkx` function was added to convert the hierarchy of a compound to a graph (484)
  * Packing functions now use XYZ files while running PACKMOL, bypassing some issues with PDB files (422)
  * When saving hoomdxml files, `auto_scale=True` will scale reference units from max forcefield parameters. (488)
  * Switched to codecov for code coverage testing (485)
  * Some dependencies accidentally missing in earlier PRs were cleaned up (493)
  * `update_coordinates` now behaves well when passed an XYZ file or operating on simple hierarchies (496)
  * Internal conversion from ParmEd structures to HOOMDXML files was improved (463, see above)


  * Special Pair Support (1-4 pair information) to GSD writers (473)
  * GSD files now include 1-4 special pairs for use in OPLS
  Misc and Bugfixes
  * Dependency requirements have been updated (457)
  * A dependency loop between `Foyer` and `mBuild` has been resolved
  * Fixed a bug that prevented Appveyor builds from running (477)
  * Temporary PDB files left behind by packing functions are now properly removed (471)
  * uses temporary files which were previously never closed. This sometimes caused the program to reach the limit of open files for a process set by the OS
  * `pytest-ignore-flaky` has been replaced in favor of `xfail` (471)
  * Additonal fixes for PACKMOL input files (474)
  * Input files are now closed by `mBuild` in order to ensure it can be read by PACKMOL
  * Error reporting is now caught when the subprocess returns an error code
  * Microsoft VSCode extraneous files are now ignored by git (478)


  * Packing functions can optionally constrain the rotation of `Compounds` when using `fill_box` (407)
  * Additional lammps datafile support (412)
  * Add functionality for `atomic`, `charge`, and `molecular` atom_styles
  * Fix `atomic` and `molecular` atom-styles
  * Add optional `atom-style` argument to `save` function
  * Add tests to check for correct `Atoms` format
  * A `Compound` can be generated from a SMILES string if the user has [Open Babel]( installed (430)
  * The [website]( was updated with details how to properly cite mBuild (421)
  * OpenMM can now be used for energy minimization (416)
  * A simple xyz file reader was added (423)
  * Defaults in `Compound.visualize` have been improved (438)
  * mBuild boxes can now store angles (448)
  * mBuild boxes can now be passed to various writers (448)
  * A changelog is now included in the root directory (454)
  Misc and Bugfixes
  * Switched from OpenMM to MDTraj to check for element existence (408)
  * Changed bilayer notebook to use `Compound` methods for object manipulation (406)
  * Added test to ensure that users can provide a custom forcefield XML file when applying a forcefield to a `Compound` (431)
  * An error is now generated if the miniconda MD5 sum does not match when performing tests (409)
  * LAMMPS box values are now written appropriately in Angstroms (459)
  * Coordinates in HOOMDXML and GSD files are now correctly written in the range [L /2 to L] (452)
  * A bug in the ordering of some Bravais angles in non-rectangular lattices has been fixed (450)


  * Improved packing API
  * `fill_box` method now supports user-specified densities (372)
  * Support for non-cubic boxes (385)
  * Added edge buffer for pseudo-support of periodic boundaries (385)
  * Allow users to access PACKMOL raw output (385)
  * Improve documentation and removed repetitious code (385)
  * Proper support for triclinic lattices (386)
  * More intuitive `Port` behavior when adding/removing bonds
  * `Ports` are now added along the bond vector when bonds are removed
  * `Ports` are removed when using `force_overlap` when attribute `add_bond` is `True` (390)
  Misc and Bugfixes
  * Increased precision of PACKMOL overlap tolerance (367)
  * Increased robustness for `` argument types (368)
  * Continuous Integration (CI) fixes (369, 375, 392, 402, 405)
  * Documentation updates (371)
  * Combining rules for non-bonded interactions can now be specified when saving compounds (377)
  * Remove ambigious data types for `Box` attributes (384)
  * Fixed changing of basis for non-cubic lattices (386)
  * Fixed issue where `Ports` were not aligned properly along user-specified direction (390)
  * Add support for controlling `Foyer` warning verbosity when saving `Compounds` (391)
  * Added more information to `Port.__repr__` (396)
  * Fixed bug in unit conversion for periodicity in `Compound.from_parmed()` (401)
  * Rounding `Lattice.lattice_point` positions to 0. when below a certain threshold (404)


Merge pull request (352) from summeraz/use_parmed
  Parmed loaders by default, remove Mdtraj dependency








Merge pull request (131) from ctk3b/dev-package
  Fix requirements.