Frequently Asked Questions


What do Elves do?


How do they do it?


Okay, what can't Elves do?


What file formats do Elves need?


Will Elves work on my system?


How do I install Elves?

    You don't have to.

    The Elves program is just a shell script. It needs no "home directory", no environment variables, no configuration, and no compilers. Just do this:

  1. get the Elves file.
  2. Save it somewhere on your unix file system
  3. Make it executable (chmod u+x Elves)
  4. Run it with a sentence about what you want Elves to do on the command-line:

  5. unix% Elves process the data in /data/frames

    For slightly more detailed installation instructions see the Install page.


How much does Elves cost?


I work for a company that does not qualify as a not-for-profit institution. Can I still get Elves?


Where do I get Elves?


How do I use Elves?


How do I tell Elves to do "x"?


Why mosflm, and not denzo?

    This question tends to generate more heat than light, so I will be brief:

    There are two reasons why Elves do not (directly) support denzo.

  1. denzo is not free, and Elves wouldn't be free either if they required denzo.
  2. my personal experiments with denzo and mosflm imply that the performance of both programs is limited by data quality and not algorithms.

  3. Support for denzo may become available in Elves 2.x or later. At present, HKL2000 is the most highly-automated data-processing interface available from HKL Inc.


I already indexed in denzo, can I still use Elves?


Can Elves do Molecular Replacement?


Wedger Elves is in an infinite loop, right?


I think I have anisotropic mosaicity, how do I make Elves aware of this?


When I try to kill Elves with <Ctrl>-C, they just sit there. How do I get out?


How do I stop Elves from spending so much time looking for "x"?


How do I stop Elves from spending so much time "optimizing"?

Why do Elves keep saying I have an Osmium or Holmium derivative?


I think I have found a bug in Elves, how do I get rid of it?

    The first thing you should do is email James Holton immediately. It's possible I may already have fixed the problem, and, if so, I'll send you a repaired version of Elves.

    Additional things you can do to help me out are listed on the Reporting Bugs page.


I thought I found a bug in Elves, but I was wrong...

    No, you weren't wrong! Any moment of confusion using Elves represents a failure of the Elves interface to communicate with you, and that's a bug. If this ever happens to you, email James Holton immediately. If you are so inclined, see the Reporting Bugs page for additional information you might want to include in your email.

    I don't care if you eventually find your way around the problem, or even if you feel like it was your own mistake. Tell me what happened. Elves are (hopefully) helping you get your research done, so please help me with my research on the best way to design a scientific computer interface. That's the deal, okay? :)


I don't have time to look for bugs in Elves, what can I do to avoid them?

  1. Always use simple, declarative sentences when communicating with Elves, its easier for them to understand them.
  2. In Wedger Elves, use a text file of mosflm keywords instead of a command-line sentence to communicate things to them. Wedger does not currently accept many crystallographic parameters on its command line.
  3. Don't be afraid to kill Elves, edit their output script, and re-run them with the script as an argument. This is the easiest way to customize Elves.
  4. Try using the stage-specific scripts in ./Elfsheim/ when you have a particular task in mind.
  5. Try to follow the same kind of procedure in the Example Elves Session.
  6. If all else fails, read the Manual.

I want to write a program that controls Elves, is there an API?

    The best way to control Elves "offline" is to have your control program write a text file containing an English, or "keyword-value" description of what you want Elves to do, and then launch Elves with that file as a command-line argument.

    Depending on how much detail and control you need, you might need to run the Elves sub-programs explicitly. For example, if you have a particular beam-stop shadow definition in mind for mosflm, you will have to communicate that directly to Wedger Elves, because the main Elves program does not (at the moment) pass mosflm keywords from its inputs down to the Wedger runs.

    For further information about integrating Elves into your own automation system, please contact James Holton.


Back to the Elves Page. 
This page is not finished. It will never be finished, and neither will yours. Admit it.
James Holton <jamesh@ucxray.berkeley.edu>