Supplementary Materials - 1 We have tested if a reconstruction from a single projection could be obtained and used for the following refinements. Several single particle reconstructions were calculated using projections from the model structure and projections with noise or noise and a translational shift, in a similar way as it was described before. Both implementations of the back-projection approach allowed us to restore more highfrequency information than using the FB approach. Reconstructions from single projections reproduced well structural features both for FB and BKPR, if they did not have any displacements, but if shifts were present in the projections the reconstructions by FB approach were of poor quality. The BP approaches produced reliable 3D density maps that were adequate to the original model. The strong moiré-like pattern, that appears on a 3D maps obtained by FB, makes the actual structural features barely visible even if computed with cut-off at sufficiently low frequencies (~20Å). During the refinement procedure based on analysis of Fourier spectra, the program considers the existing artifacts as meaningful details, trying to adjust relative orientations of particles in such a way that the power spectra from the refined structure will be similar to the existing one. This leads to errors in angular orientations that might be caused not by the structural details of the object, but by the artifacts. These computational experiments demonstrate that if the particle orientation were correctly found it would be possible to calculate a single particle reconstruction that might be used as an original model for subsequent refinements. However, for the FB approach it would be better to use a model that has some similarity to the virus in study. 1 Supplementary Materials - 2 The link between each voxel in the 3D density matrix of the object and its projection onto the image plane can be described using a rotation operation: V v R( , , ) where V is the coordinate of a voxel in world coordinates, v is the coordinate of the same voxel in the particle coordinate system, and R( , , ) is the rotation matrix. In coordinate form, the rotation operation can be presented in the following way: V x v x R11 v y R12 v z R13 V y v x R21 v y R22 v z R23 V z v x R31 v y R32 v z R33 where Rij are the elements of the rotation matrix. This shows that the straightforward operation of voxel projection requires 9 multiplications and 6 additions. An advantage of having the projection along the Z axis (i.e., the parallel beam condition used for electron microscopy) is a reduction in the number of calculations: by fixing the projection direction along Z, the etire V z term can be eliminated. Therefore, the voxel position may be computed using 6 multiplications and 4 additions (i.e., 1.5 times faster). For a cubic volume of size N , this calculation will be 6N 3 additions and 9N 3 multiplications (i.e., a total of 15* N 3 operations). The advantage of using the orthogonal coordinate system is that the voxels are equally spaced. Therefore, the 3D density map coordinates can be described as integers and the spacing between adjacent voxels is constant. This means that each voxel coordinate can be calculated incrementally (Figure 2B), exploiting the fixed distance between voxel coordinates as the sum of vectors: V ia jb kc where V is the coordinate in the world coordinate system, i , j , k identify a given voxel and a ,b ,c are unit vectors of the 3D density map in the particle coordinate system. In coordinate form, this can be presented by the following equations: 2 Vx ia x jbx kcx Vy ia y jby kcy Vz ia z jbz kcz This set of equations gives voxel coordinates relative to the 3D volume origin in the world coordinate system. Once the coordinates of a ,b , c unit vectors in the (new) world coordinate system are known, all voxels can be computed incrementally. For example, if we know the coordinate of voxel i , j , k , we can calculate the voxel i 1, j , k as a summation: Vx (i 1, j , k ) a x Vx (i, j , k ) V y (i 1, j , k ) a y V y (i, j , k ) Vz (i 1, j , k ) a z Vz (i, j , k ) For a one-dimensional object (i.e., a line of voxels in 3D space), the computation of the voxel coordinate given the previous voxel coordinate requires only 3 additions. In the one-dimensional case involving N3 voxels (i.e., the number of voxels in a cubic volume of size N ), it will take only 3N 3 additions to compute positions for each voxel. For a 3D object containing N3 voxels, we cannot simply add one constant increment to process the complete dataset. We need to compute and add axial increments separately and to take into account that when going to an adjacent row, we need to reset the column number, and on going to the adjacent plane, we need to reset both the row and column numbers. It is possible to compute the next voxel coordinate using three additions only if two adjacent voxels are located in the same row. Otherwise, the computation would need three more additions and the same number of multiplications to go from one row to another and twice as many operations to go from one plane to another. The full number of operations will thus be 3* N 3 3* N 2 multiplications and 3* N 2 additions. This is a lower bound estimation of the total number of operations involved. However, this estimate is relatively accurate when examining the large values of N commonly found in the reconstruction problems described here and for N much larger than six the number of operations is approximately five times smaller than the 15 * N 3 mentioned above. 3 Supplementary Materials – 3 The program executable file and the source code will be provided upon request to Igor M Orlov (orlov@titus.u-strasbg.fr). 4