chemistry

Software (mostly free software - FLOSS) useful to researchers and teachers in chemistry
Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 14/12/11
  • Minor correction: 07/09/13

pyFAI : azimuthal integration for 2D detectors

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System:
  • Current version: 0.9.0 - July 30; 2013
  • License(s): GPL
  • Status: stable release
  • Support: maintained, ongoing development
  • Designer(s): JĂ©rĂ´me Kieffer (Python code), Dimitris Karkoulis (OpenMP & OpenCL), Peter Bösecke (Geometry), V. Armando SolĂ© (Image processing), Manuel Sánchez del RĂ­o (Original idea), Jonathan P. Wright (Ideas), FrĂ©dĂ©ric Emmanuel Picca (Documentation and ideas)
  • Contact designer(s): Jerome.Kieffer@esrf.fr
  • Laboratory, service:

 

General software features

PyFAI is a Python library for azimuthal integration; it allows the conversion of diffraction images taken with 2D detectors like CCD cameras into X-Ray powder patterns that can be used by other software like Rietveld refinement tools (i.e. FullProf), phase analysis or texture analysis.

As PyFAI is a library, its main goal is to be integrated in other tools like PyMca or EDNA. To perform online data analysis, the precise description of the experimental setup has to be known. This is the reason why PyFAI includes geometry optimization code working on "powder rings" of reference samples. Alternatively, PyFAI can also import geometries fitted with other tools like Fit2D.

PyFAI has been designed to work with any kind of detector with any geometry (transmission, reflection, off-axis, ...). It uses the Python library Fabio to read most images taken by diffractometer (Fabio officially supports 12 manufacturers and 20 different image formats).

Context in which the software is used

2D detectors (CCD, CMOS or pixel detectors, ...) have progressively replaced punctual detectors over the 15 last years in the world of diffraction (single crystal, powder diffraction WAXS or small angle scattering SAXS). Those detectors, with wide sensitive area, have spatial resolution of dozens of microns and provide millions of pixels. PyFAI can be used on SAXS and WAXS data to reduce them into 1D (azimuthal integration) or 2D (transformation known as caking).

In order to transform detector images into data to be used by scientists it is necessary to:

  • subtract dark current (correction for the read-out noise)
  • divide by flat-field (correction for the relative sensitivity of pixels or scintillator inhomogeneities)
  • correct for the pixel position (defects of the optical fiber taper)
  • mask out dead pixels
  • convert pixel position from Cartesian space (x,y) to Polar space (2theta, chi)

PyFAI is able to compute all those corrections. Special care has been taken to conserve intensity and surface density by pixel splitting during the re-binning process (which is close to a histogram, but with pixel splitting). The algorithm used is implemented in numpy to provide a bullet-proof version, but faster and more precise version have been implemented in Cython and in OpenCL to achieve best performances with modern graphic cards.

An additional piece of software allows a fast and reliable calibration of the geometry of the experimental setup; allowing online analysis of the data.

Publications related to the software
Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 25/10/10
  • Minor correction: 28/10/10

EDNA : framework for plugin-based applications for online data analysis

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System:
  • Current version: 1.0 (Application MXv1 june 2009) - revision SVN 1930
  • License(s): GPL -

    EDNA kernel and many plugins are LGPLv3+

    EDNA applications (like MXv1) and some plugins are GPLv3+

  • Status: stable release, internal use, under development
  • Support: maintained, ongoing development
  • Designer(s):

    Executive Committee Chair: Andrew Leslie (MRC-LMB)

    Project Manager: Olof Svensson (ESRF)

    Project Coordinator: Alun Ashton (Diamond)

    Currently around 10 developers but 40 people have been involved in the project.

  • Contact designer(s): edna-support@esrf.fr
  • Laboratory, service: DLS, MRC-LMB, CCP4, Bessy (HZB), Max Lab. NSLS, SLS-PSI, Univ Sydney, Univ York, Global Phasing

 

General software features

Platform
The EDNA kernel runs on all platforms which can provide a Python interpreter. The MXv1 application runs on all Unix/Linux platforms that have bash, Python (version 2.5 and later) and which can run the programs MOSFLM, LABELIT, RADDOSE and BEST. The EDNA framework and MXv1 application are installed and regularly used at the Diamond Light Source (Didcot), EMBL Hamburg, ESRF Grenoble and NSLS Brookhaven National Laboratory (New York).

EDNA-based applications are designed and developed with the aim of being easily configurable, extensible and smoothly maintainable. This has been made possible thanks to the technical facilities that the EDNA framework provides, including configuration facilities, a library of re-usable components, datamodel-driven code generation machinery and a testing framework.

Modularity
The components are organized in a logical class hierarchy that makes it straightforward to develop new functional plugins by deriving them from the appropriate parent. Two families of plugins have been designed: the first branch contains the execution plugins (EDPluginExec classes) that are responsible for the execution of a particular action (e.g. execution of third-party software); the second branch contains the control plugins (EDPluginControl classes) that are responsible for the data flow (propagation of the data), the workflow (sequential or parallel execution of appropriate execution plugins) and the error-tracking mechanism (propagation of the errors).

Datamodel
The EDNA kernel provides a data model tool kit that allows the construction of elaborate data models needed by advanced applications. In addition, it allows the design of unitary data models that can be unit-tested, so that a plugin can be launched and tested independently of any application context. This tool kit consists of generic low-level class definitions including general types (XSDataString, XSDataFloat etc.) and X-ray experiment classes which can be re-used when designing specific components data models. It is available in several standard data formats including XMI (XML metadata interchange) and XSD (XML schema definition) in order to facilitate importing into UML (unified modeling language) data modeling tools and/or XSD files. The framework also provides (external) code generation machinery generateDS that allows automatic code generation from UML diagrams to Python code via XSD format.

Testing framework
A testing framework has been developed and integrated with the kernel in order to test the applications and the components easily and efficiently. To ensure the reliability and robustness of the components, the testing framework provides all the necessary utilities to check a class (EDTestCase) and a plugin (EDTestCasePlugin) either in a unitary manner (EDTestCasePluginUnit) or by testing its execution in an application context (EDTestCasePluginExecute). These families of tests can be automatically launched via test suites. An automatic analysis of the test results is performed by comparing the obtained result with the expected one (assert mechanism), so that a successful test proves that a result conforms to the expectation. This allows a high degree of confidence when implementing new components or re-implementing features of existing components.

Configuration facilities
Each plugin is configured (path of the controlled executable, batch queuing system configuration, ...) by the mean of XML files. The configuration is selected according to the EDNA_SITE environment variable.

Context in which the software is used

EDNA is used to create online data analysis applications on synchrotron beam-lines (but not only), among them:

  • Mxv1 application for fast characterization of protein crystals; in regular use at the ESRF, the DLS and the NSLS.
  • MXv2 application is in preparation to take advantage of kappa goniostats.
  • Dimple application has been written by CCP4 for doing molecular replacement and ligand location in proteins.
  • Diffraction computed tomography application with azimuthal integration and online sinogram generation with dynamic region of interest for Nano-Analysis Beamlines.
  • Saxs pre-processing (azimuthal integration and averaging) and downstream processing for BioSaxs Beamline.
  • A Tutorial for Raw digital camera development that explains how to take advantage of the parallel capabilities of EDNA.
Publications related to the software

EDNA: a framework for plugin-based applications applied to X-ray experiment online data analysis
M.-F. Incardona, G. P. Bourenkov, K. Levik, R. A. Pieritz, A. N. Popov and O. Svensson
J. Synchrotron Rad. (2009). 16, 872-879 [ doi:10.1107/S0909049509036681 ]

Abstract: EDNA is a framework for developing plugin-based applications especially for online data analysis in the X-ray experiments field. This article describes the features provided by the EDNA framework to ease the development of extensible scientific applications. This framework includes a plugins class hierarchy, configuration and application facilities, a mechanism to generate data classes and a testing framework. These utilities allow rapid development and integration in which robustness and quality play a fundamental role. A first prototype, designed for macromolecular crystallography experiments and tested at several synchrotrons, is presented.

Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 16/10/10
  • Minor correction: 07/10/11

Gabedit : a graphical user interface for computational chemistry softwares

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System:
  • Current version: 2.3.4 - 06/10/2011
  • License(s): Other - Free/open source licence
  • Status: validated (according to PLUME)
  • Support: maintained, ongoing development
  • Designer(s): Abdul-Rahman Allouche
  • Contact designer(s): allouchear@users.sourceforge.net
  • Laboratory, service:

 

General software features

Gabedit is a freeware graphical user interface, offering preprocessing and postprocessing adapted to ten computational chemistry software packages: Gamess-US, Gaussian, Molcas, Molpro, MPQC, NWChem, OpenMopac, PCGamess (FireFly), ORCA et Q-Chem. It includes tools for editing, displaying, analyzing, converting, and animating molecular systems. A conformational search tool is implemented using a molecular mechanics or a semiempirical potential. Input files can be generated for the computational chemistry software supported by Gabedit. Some molecular properties of interest are processed directly from the output of the computational chemistry programs; others are calculated by Gabedit before display. Molecular orbitals, electron density, electrostatic potential, electron localization function (ELF), and any other volumetric data properties can be displayed. It can display electronic circular dichroism, UV–visible, infrared, and Raman-computed spectra after a convolution. Gabedit can generate a Povray file for geometry, surfaces, contours, and color-coded planes. Output can be exported to a selection of popular image and vector graphics file formats. The program can also generate a series of pictures for animation.

Context in which the software is used

This software is already widely broadcast (over 1,000 downloads per month).
It is used in academic world, in research and in teaching, and in private companies (HP, Nissan, Fujitsu).

Publications related to the software

A.R. ALLOUCHE, Gabedit - A graphical user interface for computational chemistry softwares, Journal of Computational Chemistry, 32 (2011) 174-182. DOI: 10.1002/jcc.21600

Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 31/03/10
  • Minor correction: 16/09/10

ChemAzTech : chemical product library & management software

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System:
  • Current version: 0.6a - 07-30-2010
  • License(s): GPL
  • Status: beta release, under development
  • Support: maintained, ongoing development
  • Designer(s): RĂ©my Dernat (CNRS, IBMM). Contributions are wellcome.
  • Contact designer(s): remy(_dot_)dernat(_at_)univ-montp1(_dot_)fr
  • Laboratory, service:

 

General software features

Chemical product library & management software

This software includes lots of features. Main objective is to involve a maximum of people around a single interface, avalaible from a browser. It's a freely OpenSource and powerfull tool based on existing OpenSource chemical softwares.
You can download and see documentation and sources on sourceforge : http://chemaztech.sourceforge.net

Main features :

  •  Manage chemical products (with structures, place of storage, references, experiment number...).
  •  Draw, Ă©dit structures with JChemPaint.
  •  See your molecules 3D with JMol, in 2D with JChemPaint (java) or with the python librairy OASA (SVG pictures)
  •   Search by sub-structures with MyChem.
  •  Automated threatment for mol properties, with Smiles codes, Inchi with MyChem.
  •   Import molecules from a single MOL file, or CDX (ChemDraw)** or all a database from a SDF file (eg : from ISIS/Base) **
  •   Extract CSV, export as PDF or XLS(X)...
  •  Manage storage and accounting.
  •  Manage users and groups and a visibility level for products

** These softwares are not OpenSource but are very usefull in chemistry.

Other softwares used by ChemAzTech are OpenSource, under GPL or LGPL for JMol and
JChemPaint (JChemPaint is associated to Chemistry Development Kit (CDK)).
Thus, I can use them as building blocks for ChemAzTech, without forgetting OpenBabel, which is an important component of MyChem and which I use to convert files CDX and the MOL into MOL2 for 3D visualization .

On plume : OpenBabel

Context in which the software is used

First of all, this software needs a LAMP (Linux Apache MySQL PHP) server with OpenBabel and MyChem. Then you will have to install java and python (+ OASA library). It's a powerfull software for the management of chemical products, but as you can see, you need a lot a lot of features on your server to install it.

It's a beta software. Use it at your own risks.

Higher Edu - Research dev card
Development from the higher education and research community
  • Creation or important update: 21/10/09
  • Minor correction: 22/03/10

Schur : calculator of Lie groups and symmetric function properties

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
  • Web site
  • System:
  • Current version: 6.05 - 24-06-2008
  • License(s): GPL
  • Status: stable release
  • Support: maintained, ongoing development
  • Designer(s): Brian G. Wybourne, the project is now managed by Franck Butelle (LIPN), Ronald C. King (University of Southampton) and FrĂ©dĂ©ric Toumazet (LIGM).
  • Contact designer(s): franck.butelle @ lipn.univ-paris13.fr, frederic.toumazet @ univ-mlv.fr
  • Laboratory, service: University of Southampton, Nicholas Copernicus University

 

General software features

Schur is a stand alone C program for interactively calculating properties of Lie groups and symmetric functions, it has been succesfully used to solve physics problems. It can be useful for:

  • Computing Kronecker products for Lie groups and for representations of the symmetric group.
  • Computing branching rules.
  • Computing properties of irreducible representations such as dimensions, second-order Casimir and Dynkin invariants and many others.
  • Handling of direct products of several groups.
  • Computation of a wide range of properties related to symmetric functions.
  • ...
Context in which the software is used

Schur has been used to construct character tables for the Hecke algebra, to study symmetry properties for Riemann tensors and in many other problems.

Publications related to the software

J. Nzeutchap, F. Toumazet et F. Butelle. Kostka numbers and Littlewood-Richardson coefficients: distributed computation. In R.C. King, M. Bylicki and J. Karwowski (eds), Symmetry, Spectroscopy and SCHUR, Proc. Prof. Brian G. Wybourne Commemorative Meeting, Torun, Pologne , 12-­14 Juin 2005, Nicolaus Copernicus University Press, Torun, Pologne, 2006, 211-222.

Syndicate content