3dem / relion

Image-processing software for cryo-electron microscopy
https://relion.readthedocs.io/en/latest/
GNU General Public License v2.0
447 stars 199 forks source link

"Empty input vector for PCA" error when subtracting with relion_flex_analyse #418

Closed rudaluna closed 5 years ago

rudaluna commented 5 years ago

Hi,

I'm trying to extract/subtract particles using relion_flex_analyse and I'm getting this empty input vector error for PCA. Not sure if I'm using it wrong or if it's a bug. Command and output are below:

which relion_flex_analyse --PCA_orient --model MultiBody/job016/run_model.star --data MultiBody/job016/run_data.star --bodies body-trial2.star --o MultiBody/job016/analyse-thanksgiving --do_maps --k 3 --3dmodels --subtract --keep_inside MaskCreate/job025/mask.mrc --boxsize 160 --normalise_bg_radius 77 --norm --ctf Reading in data.star file ... Reading in model.star file ... Initialising bodies ... Normalisation weights for PCA columns are written to MultiBody/job016/analyse-thanksgiving_pca_weights.dat Setting up subtraction masks and projectors ... The center of mass of the provided mask is at: 21.3832 19.6399 -8.85542 Thus, the following arguments to relion_image_handler will bring the mask into the same box as the subtracted particles. --shift_x -21.3832 --shift_y -19.6399 --shift_z 8.85542 --newbox 160 Processing all particles ... 000/??? sec ~~(,,"> [o7.15/7.15 min ...........................................................(,_,"7.15/7.15 min ............................................................(,_,"> Calculating PCA ... in: /primary/vari/software/relion/relion3.0-111218/src/flex_analyser.cpp, line 1080 === Backtrace === /primary/vari/software/relion/relion3.0-111218/build/bin/relion_flex_analyse(_ZN11RelionErrorC1ERKSsS1_l+0x41) [0x425d91] /primary/vari/software/relion/relion3.0-111218/build/bin/relion_flex_analyse(_Z27principalComponentsAnalysisRKSt6vectorIS_IdSaIdEESaIS1_EERS3_RS1_S7S6+0x14f6) [0x42f516] /primary/vari/software/relion/relion3.0-111218/build/bin/relion_flex_analyse(_ZN12FlexAnalyser20loopThroughParticlesEii+0x49f) [0x438e7f] /primary/vari/software/relion/relion3.0-111218/build/bin/relion_flex_analyse(_ZN12FlexAnalyser3runEii+0x40) [0x439bc0] /primary/vari/software/relion/relion3.0-111218/build/bin/relion_flex_analyse(main+0x42) [0x41ec72] /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f93f0af2445] /primary/vari/software/relion/relion3.0-111218/build/bin/relion_flex_analyse() [0x41f45f]

ERROR: ERROR: empty input vector for PCA!

biochem-fan commented 5 years ago

You don't need the --PCA_orient option. Subtraction should be done from the command line, not from the GUI.