@Luthaf Luthaf released this Feb 25, 2017 · 503 commits to master since this release

Assets 2

New features

  • Add a public Residue class to C++ and C API to represent residue data.
    Residues are groups of atoms bonded together, which may or may not correspond
    to molecules; and are often used for bio-molecules.
  • Add the resname and resid selector, to select atoms based on their
    residue.
  • Account for the difference between the atom name ("H1") and atom type ("H")
    in some formats (PDB, TNG, ...). This introduces the Atom::type member
    function and the chfl_atom_type C API function.
  • Add the type selector, to select atoms based on their type.
  • Add "Frame::add_atom" function to add an atom and the corresponding position
    (and velocity) data to a frame, and the C API chfl_frame_add_atom function.
  • Rename UnitCell::type to UnitCell::shape. This also affect
    chfl_cell_shape_t, chfl_cell_shape, and chfl_cell_set_shape.
  • All the floating point data uses doubles instead of floats. This concerns
    atomic data, positions and velocities.
  • Add "Selection::string" function and the corresponding chfl_selection_string
    to get the string used to build a selection.
  • Selection variables uses the #3 syntax instead of the $3 syntax to allow
    passing selection string as shell arguments.
  • Add Frame::remove and chfl_frame_remove to remove an atom in a frame.
  • Allow to use chemfiles with Cmake find_package.

Changes in supported formats

  • Add read support for TNG files, an new portable and compressed binary format
    used by GROMACS.

C API changes

  • All the integers at C boundary have a fixed size, most of the time using
    uint64_t.
  • Add missing chfl_topology_resize function to C API.
  • C API functions taking three lengths/angles now take a double[3] parameter
    instead.
  • Rename chfl_topology_are_linked to chfl_topology_residues_linked.
  • Rename chfl_topology_append to chfl_topology_add_atom.
  • Remove chfl_strerror, as it is redundant with chfl_last_error.
  • Merge chfl_trajectory_set_topology_file and chfl_trajectory_set_topology_with_format
    into chfl_trajectory_topology_file.
  • The chfl_frame function no longer take the frame size as argument. It always
    creates an empty frame, that you can resize using chfl_frame_resize.
  • chfl_selection_evalutate was a typo, it is renamed to chfl_selection_evaluate.

Deprecation and removals

  • Remove the Atom::type enum from C and C++ API.
  • Remove the Trajectory::sync and the chfl_trajectory_sync functions.
    To ensure that all content of a file is written to the disk, the user need to
    close it.
  • Remove the Logger and all the chfl_log* functions. Instead, the users can
    use chemfiles::set_warning_callback or chfl_set_warning_callback to set a
    global callback to call on warnings events.