Recenter particle by alignment_3D

Hello, I was trying to do cs metadata manipulation by replicating the ‘Recenter using aligned shifts’ option in extract particles. Does this mean changing the following operation, suppose variable par is the ith particle in the dataset?

par = cs[i]
par['location/center_x_frac'] = par['location/center_x_frac'] -  (par['alignments3D/shift'][1]/ par['alignments3D/psize_A']) / par['location/micrograph_shape'][1]) 

par['location/center_y_frac'] = par['location/center_y_frac'] -  (par['alignments3D/shift'][0] / par['alignments3D/psize_A']) / par['location/micrograph_shape'][0])

Basically we would like to recenter our symmetry-expanded particles and remove duplicates, then re-extract.

Thanks a lot.

Hi @nym2834610!

Before we dive into tools, I’d like to make sure I understand exactly what you’re trying to do to make sure we steer you in the right direction. We have a few questions:

  1. How are you choosing the center for re-alignment of your symmetry-expanded particles?
  2. Why do you want to remove duplicates? Are you hoping to keep all N particles, or are you hoping to end up with one symmetry-related pose per particle, or something else?
  3. When re-extracting, do you want to end up with N images or N poses for a single image?

Thank you!

1 Like

Sorry totally forgot this post. Basically there is a step in our processing workflow to first generate symmetry expanded particle of microtubule (N particles centering in central Z axis), then center to one protofilament and do signal subtraction (13N particles centering in one of the protofilament). It looks like we need to first redo particle extraction using aligned shift, then remove duplicates. Therefore we were wondering if this shifting could be done via coding so that we just need to have N actual particle images to represent the sym-expanded 13N particles, remove duplicates first then do the re-extract to save one round of seemingly redundant particle extraction cycle. Thanks a lot.

Hi @nym2834610, sorry for the delay in getting back to you.

If it’s alright, I want to make sure I understand your workflow, and what you’re trying to accomplish.

  1. You use a standard helical refinement pipeline to reconstruct a map of your microtubule.
  2. You perform symmetry expansion of the microtubule using your helical parameters
  3. You recenter the 13N particles on their refined shift
  4. You re-extract particles to incorporate their aligned shift, creating 13N images (the “redundant” set)
  5. You remove duplicates
  6. You again extract the particles now that duplicates have been removed, creating a second set of 13N images
  7. You perform signal subtraction on the images from step 7
  8. You perform local refinement

What you’d like to do is

  1. Perform a standard helical refinement
  2. Perform symmetry expansion
  3. Remove duplicates on the original set of N images
  4. Recenter each image on a protofilament
  5. Extract the 13N recentered images
  6. Perform signal subtraction of the images from step 5
  7. Perform local refinement using the 13N signal subtracted images
1 Like