[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ccp4bb]: Ann: Computational Crystallography Toolbox (cctbx) version 1.0



***  For details on how to be removed from this list visit the  ***
***          CCP4 home page http://www.ccp4.ac.uk         ***

The Computational Crystallography Initiative has released the
Computational Crystallography Toolbox (cctbx) version 1.0:

        http://cctbx.sourceforge.net/

The cctbx is a reusable scientific software library for

- the development of crystallographic structure
  determination programs.

- the integration of existing crystallographic
  programs through helper scripts.

- hands-on teaching crystallographic concepts.

The cctbx is designed with an open and flexible
architecture to promote extendability and easy
incorporation into other software environments. The
package is organized as a set of ISO C++ classes with
Python (http://www.python.org/) bindings. This organization
combines the computational efficiency of a strongly typed
compiled language with the convenience and flexibility of a
dynamically typed scripting language in a strikingly
uniform and very maintainable way.


Most notable differences to cctbx release 0_9_9:

More examples:
  http://cci.lbl.gov/servers/

fast-track build system further simplified:
  - Automatic adjustment to the Python version that is used
    to invoke the fast_track.py script.
  - The Boost.Python library is built inside the cctbx build
    tree (but the distributions are still cleanly separated).

Only one namespace: cctbx
  All classes and sub-namespaces are now in the namespace cctbx.

Same classes renamed.
  Most notably, SgOps is now SpaceGroup.

New toolboxes:
  ADP (anisotropic displacement parameters) Toolbox
  Fast Fourier Transform toolbox
  Structure Factor Toolbox

New sgtbx classes (among others):

  cctbx::sgtbx::Brick
    Parallelepiped that contains an asymmetric unit
    and is optimized for memory allocation.

  cctbx::Miller::AsymIndex
    Support for tabulated contiguous asymmetric units
    (thanks to Kevin Cowtan) in addition to the
    sorting based selection of symmetry-unique indices.
    This replaces the old MasterIndex class.

  cctbx::sgtbx::MillerIndexGenerator
    Fast and convenient generation of Miller indices with
    very small memory usage (based on tabulated contiguous
    asymmetric units).

  cctbx::Miller::IndexTableLayoutAdaptor
    Support for common layouts of tables of asymmetric
    Miller indices (AnomalousLayout, HermitianLayout,
    FplusFminusLayout).

  cctbx::sgtbx::StructureSeminvariant
    Structure seminvariant (s.s.) vectors and moduli are a
    description of "permissible" or "allowed" origin
    shifts.

  cctbx::sgtbx::SiteSymmetry
    Robust algorithm for the determination of site-symmetries
    of sites on special positions.

  cctbx::sgtbx::WyckoffTable
    This class represents the information for all Wyckoff
    positions for a given space group.


Default constructors for all classes.
  This enables universal use of the cctbx classes in try-catch
  constructs such as:
    some_class some_object;
    try {
      some_object = some_class(arguments);
    }
    catch {
      // set some_object to some other value
      // or throw another exception
    }
    // use some_object
  It is a disadvantage the some default constructed objects
  may now be used even though their state is meaningless
  (similar to using an int that was declared but not defined).
  A mechanism that could prevent this without a runtime penalty
  is unfortunately not known to me (rwgk).


__________________________________________________
Do You Yahoo!?
Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1