Dragonfly

View project on GitHub

Quick start

Download the Dragonfly package

If you are on the github.io page, you may download the zipped tarball of this package by clicking on link near the top right of this page. Alternatively, you can download or git clone this package from the Dragonfly github repository.

Spawn a reconstruction directory

Type in the topmost directory: ./init_new_recon.py . This makes the binaries needed for the package and links them into a new reconstruction directory named "recon_nnnn". For help on customizing this setup script (e.g. custom folder name or counter): ./init_new_recon.py -h .

Configure experiment

Go to your newly created recon directory cd recon_nnnn . Change the experiment parameters in config.ini to your liking. Here are some things that you might like to change:

  • in_pdb_file: relative path to your own PDB file
  • scattering setup (detector distance, photon wavelength, etc)
    • parameter unit:
      • detd (detector distance): millimeter
      • lambda (photon wavelength): Angstrom
      • detsize (linear size of detector): pixels in integer
      • pixsize: millimeter
      • stoprad (radius of beamstop): pixels in float
  • num_data: the number of diffraction patterns
  • fluence: the incident beam intensity in photons per micron squared
  • log_file: name of log file

When ready to start creating synthetic data, type: ./sim_setup.py . Again, you can get help to customize this using the command: ./sim_setup.py -h .

Start your EMC reconstruction

You can use the convenience script run_emc.py that we provided to start the reconstruction: Typing ./run_emc.py , will start the reconstruction with the default of 10 iterations. You can continue to refine the last reconstruction by typing ./run_emc.py -r , or if you wanted to increase the quaternion sampling by one, ./run_emc.py -R .

If you have enough processors to do an MPI reconstruction: ./run_emc.py -m <number of MPI processes> . For more information, type: ./run_emc.py -h .

Or you can start a single process reconstruction in the recon directory with more control way: ./emc <num_iterations> <path to config file> [threads per process] , where <necessary arguments> and [optional arguments]. The default number of threads per process is defined by the system parameter OMP_NUM_THREADS. By default, the intermediate output of the reconstruction is stored in the recon directory's data subdirectory.

To spawn multiple MPI reconstructions from your recon directory: mpirun -n <num_mpi_processes> ./emc <num_iterations> <path to config file> [threads per process] . By default, images from the reconstruction that are generated by this script are saved to the data/images subdirectory.

Monitor the progress of your reconstruction

In the recon directory type: ./autoplot.py . Checking the "keep checking" box will automagically look for new reconstructed 3D volumes in the default data directories.

Additional information

For a more verbose, and maybe informative, view of the underlying setup and reconstruction processes, look at the log files recon.log and EMC.log files respectively.