xmipp_volume_to_pseudoatoms (v3.0)


Creates a set of pseudoatoms representing the density of an EM volume. This is useful for the vector quantization process needed in problems like docking, approximation of structures by Alpha Shapes, Normal Mode Analysis, etc.

The volume is approximated by Gaussians of a desired size. The user can specify whether the Gaussians can have different intensities or not, as well as the level of precision with which she desires to approximate the input EM volume.


-i <volume>
Input volume
-o <rootname=>
Output rootname. If not given, the rootname of the input volume is taken. The output of the program is: [rootname].pdb (PDB file with the pseudo atoms). If verbose is set to 2, then also [rootname].vol (the approximation volume), [rootname].hist (histogram of the Gaussian intensities), [rootname]_rawDiff.vol (difference between the input volume and its approximation), [rootname]_relativeDiff.vol (the raw difference divided by the input volume at that location; this gives an idea of how much the error represents with respect to the input
--sigma <s=1.5>
Sigma of gaussians (in Angstroms) It should be comparable to the sampling rate
--initialSeeds <N=300>
Initial number of pseudoatoms
--growSeeds <percentage=30>
Percentage of growth At each iteration the smallest percentage/2 pseudoatoms will be removed, and percentage new pseudoatoms will be created.
--stop <p=0.001>
Stop criterion (0<p<1) for inner iterations At each iteration the current number of gaussians will be optimized until the average error does not decrease at least this amount relative to the previous iteration.
--targetError <e=0.02>
Finish when the average representation error is below this threshold (in percentage)
Don't allow pseudoatoms to move
Don't allow pseudoatoms to change intensity
--intensityFraction <f=0.01>
In case of all pseudoatoms with the same intensity this parameter determines the fraction of intensity held by each pseudoatom
--intensityColumn <s=occupancy>
Where to write the intensity in the PDB file
where <s> can be:
  • occupancy
  • Bfactor
--Nclosest <N=3>
N closest atoms, it is used only for the distance histogram
--minDistance <d=0.001>
Minimum distance between two pseudoatoms Set it to -1 to disable
--penalty <p=10>
Penalty for overshooting
--sampling_rate <Ts=1>
Sampling rate Angstroms/pixel
Don't scale atom weights in the PDB
--binarize <threshold>
Binarize the volume for a more uniform distribution
--thr <n=1>
Number of threads
--mask <mask_type=circular>
Statistics restricted to the mask area.
where <mask_type> can be:
  • circular <R> circle/sphere mask if R>0 => outside R if R<0 => inside R
  • DWT_circular <R> <smin> <smax> circle/sphere mask smin and smax define the scales to be kept
  • rectangular <Xrect> <Yrect> <Zrect=-1> 2D or 3D rectangle if X,Y,Z > 0 => outside rectangle if X,Y,Z < 0 => inside rectangle
  • crown <R1> <R2> 2D or 3D crown if R1,R2 > 0 => outside crown if R1,R2 < 0 => inside crown
  • cylinder <R> <H> 2D circle or 3D cylinder if R,H > 0 => outside cylinder if R,H < 0 => inside cylinder
  • cone <theta> 3D cone (parallel to Z) if theta > 0 => outside cone if theta < 0 => inside cone
  • wedge <th0> <thF> 3D missing-wedge mask for data collected between tilting angles th0 and thF (around the Y-axis)
  • binary_file <binary_file> Read from file
--center <x0=0> <y0=0> <z0=0>
mask center

Examples and notes

xmipp_volume_to_pseudoatoms -i volume.vol -o pseudoatoms

User's comments