All big and breaking changes for mBuild will be recorded here. This project adheres to Semantic Versioning.
- Add
wrap_coords
function for wrapping particles into a box (#643)
- 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
forwrite_gsd
(#653)
- 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)
- 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)
- 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
compound_pb2.py
file generated fromprotoc
compiler to gitignore (#602) - Improve documentation of various mBuild classes and functions (#577, #578, #579, #580)
- Add additional testing for
foyer_kwargs
(#428)
- 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)
- 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)
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 toconda-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
andbioconda
channels, which are now obsolete in this scope, have been dropped (#516)
- 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
- Dependency requirements have been updated (#457)
- A dependency loop between
Foyer
andmBuild
has been resolved
- A dependency loop between
- Fixed a bug that prevented Appveyor builds from running (#477)
- Temporary PDB files left behind by packing functions are now properly removed (#471)
- Packing.py 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 ofxfail
(#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
- Input files are now closed by
- Microsoft VSCode extraneous files are now ignored by git (#478)
- Packing functions can optionally constrain the rotation of
Compounds
when usingfill_box
(#407) - Additional lammps datafile support (#412)
- Add functionality for
atomic
,charge
, andmolecular
atom_styles - Fix
atomic
andmolecular
atom-styles - Add optional
atom-style
argument tosave
function - Add tests to check for correct
Atoms
format
- Add functionality for
- 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)
- 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 bondsPorts
are now added along the bond vector when bonds are removedPorts
are removed when usingforce_overlap
when attributeadd_bond
isTrue
(#390)
- Increased precision of PACKMOL overlap tolerance (#367)
- Increased robustness for
packing.py
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 savingCompounds
(#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
Bump version to 0.7.0
Tag 0.6.1
Tag 0.6.0
Merge pull request (#131) from ctk3b/dev-package Fix requirements.