**SIMPLE 1.0** is not a standalone suite for single-particle reconstruction, but complements existing developments. It is assumed that the windowed single-particle images represent 2D projections, and therefore, that the projection slice theorem applies (Bracewell, 1956). This requires correction of the micrographs due to the contrast transfer function (CTF) of the electron microscope and particle windowing using other software. In addition, the windowed projections should be roughly centered in the box. Many program suites are available for dealing with these and other matters (Frank et al., 1996; Hohn et al., 2007; Ludtke et al., 1999; Sorzano et al., 2004). In EMAN, the envelope component of the CTF, describing the fall-off of the signal with resolution, is parameterized and then used in the class averaging procedure in the refinement. Some implementations only phase-corrects the micrographs, ignoring the envelope function initially. Instead, the final refined maps are B-factor sharpened. SIMPLE 1.0 has so far been use in combination with the latter approach, assuming the same resolution fall-off for all micrographs. The **SIMPLE 1.0** workflow is divided into four phases:

1) CTF correction and particle windowing

We usually execute phase (1) by parameterizing the CTF with Ctffid3 (Mindell and Grigorieff, 2003), doing CTF phase correction of the micrographs in Spider (Frank et al., 1996), and using EMAN’s (Ludtke et al., 1999) program BOXER for particle windowing. EMAN’s graphical user interface is used for quick inspection of volumes and class averages. UCSF Chimera is used for more detailed analysis of the reconstructed volumes (Pettersen et al., 2004). Phases (2)-(4) are executed with **SIMPLE 1.0**.

2) Ab initio reconstruction

Program **cluster** aligns the images with the reference-free 2D alignment algorithm, clusters them, and calculates class averages. The outputted class averages are inputted to program **origami,** which optimizes the spectral ensemble common line correlation with simulated annealing (Elmlund et al., 2010). The search space of the annealing is composed of projection directions *only*. Consequently, many thousands of class averages can be aligned in a few hours on a present generation workstation. The annealing is restarted three times on random starting configurations. The best of the three solutions is subjected to further optimization. The second optimization step includes the additional origin shift and conformational state parameters in a greedy adaptive local search-based scheme, steering a differential evolution optimizer (Das et al., 2009; Feo and Resende, 1995). Output from **origami **consists of alignment documents and reconstructed volumes. **Origami** offers the possibility to partition the data over multiple state groups. At this stage, however, it is seldom meaningful to attempt heterogeneity analysis, since the in-plane alignment is too crude for the classification to provide the required resolution. For implementation details, see the open SIMPLE 1.0 source code (classes *simple_comlin, simple_comlin_corr, simple_rfree_search, simple_sa_opt *and *simple_de_opt*).

Accurate in-plane alignment is required for the unsupervised classification to produce homogeneous class averages (Elmlund et al., 2010). The approximate in-plane alignment obtained by the reference-free 2D alignment algorithm therefore needs refinement. In **SIMPLE 1.0**, projection matching onto the *ab initio *reconstruction is applied to refine the in-plane degrees of freedom. The continuous, Fourier-based projection matching executed by programs **cycler **or **align **searches all degrees of freedom. The refined in-plane parameters are inputted to program **cluster** that generates class averages with improved resolution. These averages are again subjected to *ab initio* alignment and heterogeneity analysis in program **origami***,* which searches projection directions and state assignments *only*. After the first approximate *ab initio *reconstruction has been obtained, a single iteration of bijective orientation search is composed of:

- Projection matching to align the data in-plane (programs
**align**or**cycler**) - Probabilistic PCA, clustering of feature vectors, and calculation of class averages (program
**cluster**) - Reference-free common lines-based search over projection directions and state assignments
*only.*Volume reconstruction by Fourier gridding (program**origami**)

The process is iterated until the structural features of the reconstructions and the number of states is consistent between successive rounds. Partitioning the data into different number of state groups is fast and usually uncovers the suitable number of states to reconstruct. The bijective orientation search method reduces computational complexity, is free from reference bias, and enables efficient reconstruction of flexible single-particles. After convergence, single-particle refinement is applied as has been done by others to improve the resolution of the maps.

4) Refinement

The **align**, **reconstruct**, and **automask** programs are iterated to accomplish high-resolution refinement. Program **cycler** combines these components into a single executable that is suitable for shared-memory multi-processor architectures, since the parallelization is based on the OpenMP protocol. For clusters we recommend distributed execution via **partition_master.pl** found in the **apps** folder.

**Heterogeneity analysis via bijective orientation search.** Programs, flow of data, constraints, and parameters. *N* is number of images, *C* is number of clusters. The 3D reference-based alignment searches all degrees of freedom: the Euler angles, the origin shifts, and the state assignments. The reference-based output is used to align the data in-plane before image clustering. Class averages are subjected to reference-free common lines-based assignment of projection directions and states. A first approximate 3D alignment is obtained in a discrete angular space composed of projection directions *only*, subject to the constraint that no two averages are allowed to occupy the same direction. A differential evolution algorithm searches the remaining parameters. Unbiased volumes are reconstructed and used for another round of projection matching.