e2ProjectManager

The e2projectmanager is a GUI project manager system for EMAN2, which guides the user through a series of steps to achieve either a single particle reconstruction or an sub tomogram average depending on the mode e2projectmanager is being used. This GUI is intended to replace the antiquated e2workflow system.

To run, simply type (in any directory):

e2projectmanager.py

If you run the projectmanager in a project directory, e2projectmanager will load this project. If you are not in a project directory or you want to work with a different project, simply open a project using the menu, Project->Open Project. To create a new project, Project->New Project, and to edit an existing project, Project->Edit Project. Once a project is loaded all new data that the projectmanger creates will be placed in the project directory no matter when e2projectmanger is being run from. This represents a singificant improvement over e2workflow.py.

e2ProjectManger can, currently, be run in two modes, SPR (Single Particle Reconstruction) and Tomo(tomographic). To change modes use the menu, Mode->SPR mode or Mode->Tomo mode.

Customizing the e2projectmanager worlflow tree:

Unlike, e2workflow.py, e2projectmanager can be easily cutomized. The SPR and Tomo workflow tree are constructed using the JSON files, spr.json and tomojson, respectivly. These files reside in lib/pyemtbx and can be edited to customize the tree. The JSON file contains a list of dictionaries, which represents a toplevel(root/base) item in the workflow tree. Each dictionary must contain the flowwing key-value pairs:

Enabling you e2program to be read by e2projectmanager:

To enable e2projectmanger to read your e2program and construct a GUI, some flags in the options code need to be set. You must use the EMAN2 parser, EMArgumentParser, a sublcass of argparser. The standard key-value pairs of argparsers add_argument method can be set. In additon, in EMArgumentParser the following key-value pairs are used to build the GUI.

In addion to argparser's add_argument method, EMArgumentParser has the methods:

For examples please see the programs, e2poxer.py, e2refine.py, e2ctf.py, etc