Skip to content

Releases: chemfiles/chemfiles

Version 0.10.4

07 May 12:15
Compare
Choose a tag to compare

This is a patch update of chemfiles, incorporating some fixes for the new DCD reader/writer (#465, #467); and adding support for GROMACS TPR files (#459).

Version 0.10.2

01 Dec 10:15
Compare
Choose a tag to compare

A new minor update of chemfiles is out! It is backward compatible with code using version 0.10.0 or 0.10.1.

This release changes a couple of formats:

  • chemfiles now contains a PSF file reader based on VMD molfile plugin (#423)
  • when writing extended XYZ, atomic properties are now included in the output (#424)

This release also contains a handful of bug fixes:

  • the unit cell is now properly read in DCD files (#426)
  • it is now possible to open the same file from multiple threads without crashing. Care should still be taken when actually reading to synchronize access (#422)
  • the mmCIF reader have been optimized when dealing with large number of atoms (#431)
  • fixed an issue where the TNG reader would fail to get the right number of frames in a file (#430)

Many thanks to the contributors to this release: @ezavod, @sacraiou and @Luthaf!

Version 0.10.1

20 Oct 15:53
Compare
Choose a tag to compare

This is a minor update, backward compatible with any code using 0.10.0. We suggest you update to this release as soon as possible!

Changes in supported formats

  • added support for Amber NetCDF restart trajectory
  • added support for LAMMPS trajectory format
  • chemfiles now dynamically pick between the CIF and mmCIF readers for files with a .cif extension
  • multiple bug fixes to format readers

Changes to the public API

  • a new chfl_guess_format function have been added to get which format chemfiles would use to read a file given its path

Version 0.10.0

14 Feb 13:20
Compare
Choose a tag to compare

A new version of chemfiles is ready! You can see the full list of changes in the CHANGELOG, some of the most important are summarized here.

This release could not have been what it is without the involving a lot of contributors! Many thanks to all of them: @Luthaf, @frodofine, @ezavod, @fxcoudert, @mdimura, @sguionni and @jmintser!

Changes in supported formats

This releases adds support for one new format, the CIF format as used in the crystallography community. This format is parsed using GEMMI, many thanks to them!

We added read and write support for extended XYZ. The XYZ format now default to extended output, and read extended files. Extended XYZ allow storing unit cell and arbitrary atomic properties in the XYZ comment line.

Finally, you can now open compressed gzip (.gz) trajectories in append mode, adding new gzip stream to the file.

Other features improvements

The main change for this release is the ability to read and write files directly in-memory, without going through a file.

We also changed the UnitCell representation to the full cell matrix instead of a/b/c/alpha/beta/gamma: this allow to store cells which are not aligned with the x/y/z axis.

Selections now support for sub-selection in functions, for example you can now use distance(#1, name O) < 3 to select all atoms less than 3A from any oxygen atom.

Version 0.9.3

06 Feb 22:03
Compare
Choose a tag to compare

This is a small bugfix release of chemfiles, all users are encouraged to update.

  • Fix a bug in the PDB format where no atomic name/type was read from short ATOM/HETATM records.
  • Fix a few bugs related to UnitCell Matrix and infinite UnitCell construction
  • Fix compilation of the code with older CMake (2.8.12)

Version 0.9.2

13 Jan 14:03
Compare
Choose a tag to compare

A new version of chemfiles is here ! Some of the main changes are summarized here, and you can see the full list of changes in the CHANGELOG.

This is a minor release, backward compatible with any code using 0.9.0 or 0.9.1. We suggest you update to this release as soon as possible!

Changes in supported formats

  • Added read and write support for CML (Chemical Markup Language) files, a XML
    based format.
  • Added a native implementation of XTC reader and writer, replacing the VMD molfile
    version. The new code should be faster and use less memory.
  • Added a native implementation of TRR reader ans writer, replacing the VMD molfile
    version. The new code should be faster and use less memory.
  • Added support for bzip2 (.bz2) compressed files when reading and writing

Other improvements

  • Speed up reading text-based format a lot (around 2x faster for XYZ files) by removing a lot of memory allocations
  • When compiling chemfiles as a shared library, the dependencies symbols are
    now hidden. This should prevent clashes between say chemfiles's zlib and the
    system zlib.
  • Cache sub-selection (the 'name O' in 'is_bonded(#1, name O)'), reducing
    selection evaluation time by a huge margin.

Version 0.9.1

31 Mar 14:09
Compare
Choose a tag to compare

This is a bugfix release of chemfiles.

There was an error with memory allocation in the C API. The allocator did not remove pointers as soon as chfl_free was called, which leaded to an error when the system allocator re-used the pointers.

Version 0.9.0

31 Mar 14:07
Compare
Choose a tag to compare

The new version of chemfiles is here ! Some of the main changes are summarized here, and you can see the full list of changes in the CHANGELOG.

  • This release bring the support of three new formats:

    • MacroMolecule Transmission Format (MMTF)
    • Structure-Data File (SDF),
    • Cambridge Structure Search and Retrieval (CSSR).
  • Compressed files (file.xzy.gz, file.pdb.xz) are now transparently read and written. Supported compression algorithms include lzma (.xz) and gzip (.gz).

  • The atoms selection language have been rewritten and extended to support more complex expressions.

    • mathematical constrains: x^2 - y ^2 < sqrt(z^2 + 25)
    • topology and bonding constrains: bonded(#1, name O), is_angle(#1, type O or name Zn, #2)
    • constrains on atomic properties: [is_hetatm] and [chainname] == "A3"
  • The C API functions accessing atoms/cell/residue/topology inside a frame/topology no longer make a copy. This allows for direct reading and writing inside the containing frame/topology, both from C and from all the languages with a binding for chemfiles.

Version 0.8.0

17 Mar 18:29
Compare
Choose a tag to compare

This is a new major iteration of the Chemfiles interface, bringing a lot of interesting changes!

  • License was changed to BSD for easier integration in external code, both commercial and open source.
  • Four new formats are supported (LAMMPS Data, Tinker, MOL2, and Molden), and NetCDF format is now always activated.
  • Chemfiles will now read configuration files in in .chemfilesrc. Atomic types matching given atomic names can be configured.
  • Frame and Atom can now have arbitrary Property storing additional data.
  • As well as a ton of smaller bug fixes and improvement. You can learn about all of them in the CHANGELOG.

Many thanks to @pgbarletta, @lscalfi @frodofine and @g-bauer for their contributions to this release, either in chemfiles or the bindings!

Version 0.7.4

18 May 15:35
Compare
Choose a tag to compare

This is a minor update of chemfiles, with no change to the API.

The main changes in this release are:

  • All bonds/angles/dihedrals are now matched by the corresponding selection. Previously, bonds: name(#1) N and name (#2) C and bonds: name(#1) C and name (#2) N would not give the same results.
  • Activate the NetCDF format by default, by including the netcdf library in chemfiles;
  • Improve compilation to a DLL on Windows
  • Handle all possible line ending markers in text formats

The release also contains a few bug fixes for various crashes.