Changelog ========= Development ----------- * Use python packaging utilities for distribution 8.1.0 ----- * ``custom_strings`` now accepts ``+`` for sites that are rotated until they fit. * ``hash_filenames`` option allows for very long filenames to be shortened to hashes. ``always`` will always hash the functionalisation part of the filename, and the default ``onerror`` will try to shorten the filename if an error is encountered. 8.0.0 ----- * The symmetry update: Symmetry is used to derive the normals used to align functional groups. **Groups may be rotated differently for the same structure from version 7.** * Groups are rotated simultaneously so they all have the same rotation relative to the reference normal. * Ability to specify the angles at each specific functionalisation site. Use the % in a site replacement string and the letters ``a`` to ``z`` denote angles of 0 to 360 for each site and ``_`` can be used to create empty sites. * ``bondsonly`` is the default connectivity scheme. 7.2.0 ----- * Option to pass the provided bonding information to openbabel for UFF atom typing (for use with Materials Studio CIFs). See the ``bondsonly`` option of ``connectivity``. * Output ``.cif`` files include periodic boundary information in the bonds so that they appear correctly in materials studio. 7.1.0 ----- * Functional groups have been cleaned and assigned IUPAC names * MEPO-QEq compatibility has been computed for all functional groups * ``mepo_only`` option will only load MEPO compatible groups * ``list_groups.py`` lists all the groups that have been loaded in the current context * In the API mepo_compliance is renamed to mepo_compatibility * Documentation includes the functional groups * 3d fingerprints can be generated by the alignment code 7.0.0 ----- Version 7 is a complete reorganisation of the code with many compatibility breaking changes. Future development will be based on this codebase. * ``fapswitch_`` prefix dropped from all the options. * separate scripts for different use cases: * ``cliswitch.py`` -- for all combination replacement or interactive use * ``fapswitchd.py`` -- start a socket server that accepts functional strings * ``webswitch.py`` -- tornado based webapp to demonstrate functionalisation * ``functional_groups`` and ``options`` are now in globally accessible modules * ``-q`` and ``-v`` cancel each other. * ``--silent`` option has been removed, ``-qq`` gives the same effect * output text is no longer automatically wrapped * Collision detection now properly uses 1/2 sum of vdW radii * User defined socket timeout