Single crystal structure refinement software

Single crystal structure refinement is one of the most basic, but also one of the most important skills of a crystallographer. There are currently several software packages available, which all aim for the same goal: Making computer-aided structure refinement simple and effective. However, there are different philosophies about what is simple and effective and these have therefore spawned different approaches in refinement software. The variety of software may be confusing, but exactly this rich variety can also be helpful to solve a specific question more easily, in other words, one needs the right tools for the right job.

My recent problem challenge was that I had discovered a systematic error in one of my structure models, namely a deviation of some displacement parameters depending on their location in a disordered system. I used SHELX at this time and since it was not able to calculate a satisfying refinement, I set out into the world wide web, looking for a better solution and came across several papers and software packages. I tested the here-described refinement programs and I finally found a nice solution by using TLS (translation, liberation, screw) refinement in Jana2006.

My personal goal of this article is to share the experience I gained with different refinement programs while finding a suitable solution to my own problems challenges so that others may benefit from it. Although the IUCr homepage provides a software listing, several entries are already outdated or not described in sufficient detail, therefore I see the need to compile a new list.

My intention is to extend this article over time so that it can be a useful reference list for future generations so further suggestions for papers, software and personal experiences are highly welcome! If you put them into the comment section below we will gladly include them in this article!

Theory first

I found it very helpful to gain an additional insight into all of the ideas and mathematical concepts behind a refinement program. There are two papers that I have found exceptional good regarding structure refinement. The first one is from Watkin 2008 and is all about the mathematics behind structure refinement. I think that it provides highly valuable insights into some black-box crystal structure refinement tools. The second one is from Müller 2009 and features a more practical approach to structure refinement. It is very well-written and gives several tips on how to deal with common difficulties. This paper is in my opinion a must-read for beginners, but everyone should take at least the time to read the lovely introduction.

Structure refinement software

In the following, I give a brief description over five different software suites followed by a subjective evaluation of good (+), bad (-) and mediocre (~) parts of the software suite.

SEHLX software suit

This is probably the most prominent one in this list. Several papers, sometimes very affectionate ones (Sheldrick 2008),  have been published about this program. It is in my opinion a reliable “workhorse”, it does all the routine work in a reliable and successful manner. Its commands and file structures are simple but powerful and easy to handle. SHELX reaches its limits when it comes to modulated or protein structures. Another drawback is its lack of a TLS refinement which might be important in several disordered or organic structures. The, often third-party, accompanying literature for SHELX is vast, making it quite easy to learn or look up a specific command. There are also several tools, such as Olex2 (page 3), which make the workflow with SHELX smoother.

+ standard refinement
+ disordered refinement
+ documentation

Visit the homepage


Originally, Jana was intended for solving only modulated structures, but over time it was expanded to also refine “common” single crystals as well as powder data. It is handled very differently than SEHLX since it comes with a GUI and several “wizards”, helper tools that assist the user during refinement. While this may sound simple to use, several menus and wizards are well-hidden. The file structure behind Jana is somewhat confusing with all the numbered file extension. A major drawback of Jana is its incomplete documentation. There are several examples and cookbooks but it still lacks a complete function guide. The authors seem to know of this weakness and provide on-demand-workshops and also answer very fast and accurate to questions about how to handle a specific problem. Despite these flaws, Jana excels when shelx has reached its limits, for instance during a TLS refinement or when more complex restraints are needed than the typical distance and angle restraints.

+ standard refinement
+ modulated structure refinement
+ user definable constraints and restraints
+ TLS refinement
(+ powder refinement)
~ disordered refinement (handles disorder very well, but is hard to set up)
– handling
– documentation

Visit the homepage


The olex.refine program is fully integrated into the Olex2 software suite. Whoever is familiar with SHELX, will grasp olex.refine almost immediately. It is intended to work alongside of SHELX commands. However, if I use it alongside with SHELX on my disordered structures, it soon reaches its limits, in addition to the occasional crash. The people responsible for this program really made an effort with user guides and an in-depth description of their algorithms.

+ standard refinement
+ handling
+ learnability
+ documentation
– disordered refinement

Visit the homepage


I came across this program through the IUCr homepage. Since it does a poor job on dealing with disorder, I only skimmed over it briefly for this blog entry. The underlying command structure is much bulkier when compared to the other software packages since even simple restraints can take multiple lines to define. It makes up for it with a pretty and easy to handle GUI, several useful tools (Fourier mapping and so on) and a good documentation.

+ standard refinement
+ handling
+ documentation
– disordered refinement

Visit the homepage


Python-based Hierarchical ENvironment for Integrated Xtallography
(so much for fun with acronyms…)

I stumbled over this program by coincidence, but it caught my attention. In this list of examples, it is the most recent development. The underlying file structure is somewhat confusing, but since it comes with a fully functional GUI, this is hardly noticeable. Several protein structure publications are based on this program, but it also did an acceptable job on my disordered structures. I definitely need to put some more effort into this program since I do not think that I have used its full potential.

+ standard refinement
+ handling
(+ neutron data refinement)
~ disordered refinement
~ TLS refinement
~ documentation

Visit the homepage


I used a simple, inorganic pyroxene structure as well one of my own more complex organic and disordered structures to test these programs. While all programs could handle the simple structure, only SHELX, Jana and phenix were able to yield a good refinement of my more complex structure. Furthermore, by using a more complex and more accurate model, namely including a TLS refinement, only Jana provided a good result, while the refinement in phenix only qualified as acceptable.


This entry was posted in AK-Junge-Kristallographie and tagged , , . Bookmark the permalink.

Leave a Reply