tbepler / topaz

Pipeline for particle picking in cryo-electron microscopy images using convolutional neural networks trained from positive and unlabeled examples. Also featuring micrograph and tomogram denoising with DNNs.
GNU General Public License v3.0
170 stars 62 forks source link

ERROR: no training particles specified. #113

Closed jianhaoc closed 3 years ago

jianhaoc commented 3 years ago

Hi, I can use the demo dataset to finish the whole procedure including train and extract. But when I turn to my dataset, it doesn't work. It sounds like topaz couldn't find the particles information. But I can't find out what I have missed. Could you help me check it (see below)? These micrographs in i folder are 8x binning.

Thank you! Jianhao

$ ls i particles.txt savedmodel $ head -10 particles.txt image_name x_coord y_coord stack_00000.mrc 379 352 stack_00000.mrc 669 374 stack_00001.mrc 127 127 stack_00001.mrc 127 127 stack_00001.mrc 58 300 stack_00001.mrc 164 451 stack_00001.mrc 53 42 stack_00001.mrc 53 42 stack_00001.mrc 380 273 $ ls i/ stack_00000.mrc stack_00007.mrc stack_00016.mrc stack_00032.mrc stack_00043.mrc stack_00050.mrc stack_00063.mrc stack_00075.mrc stack_00090.mrc stack_00100.mrc stack_00122.mrc stack_00129.mrc stack_00135.mrc stack_00162.mrc stack_00199.mrc stack_00226.mrc stack_00238.mrc stack_00001.mrc stack_00008.mrc stack_00017.mrc stack_00038.mrc stack_00044.mrc stack_00051.mrc stack_00065.mrc stack_00076.mrc stack_00091.mrc stack_00109.mrc stack_00123.mrc stack_00130.mrc stack_00138.mrc stack_00179.mrc stack_00204.mrc stack_00229.mrc stack_00239.mrc stack_00002.mrc stack_00010.mrc stack_00021.mrc stack_00039.mrc stack_00045.mrc stack_00052.mrc stack_00067.mrc stack_00077.mrc stack_00094.mrc stack_00114.mrc stack_00124.mrc stack_00131.mrc stack_00139.mrc stack_00183.mrc stack_00207.mrc stack_00230.mrc stack_00240.mrc stack_00003.mrc stack_00011.mrc stack_00023.mrc stack_00040.mrc stack_00046.mrc stack_00053.mrc stack_00072.mrc stack_00079.mrc stack_00095.mrc stack_00117.mrc stack_00125.mrc stack_00132.mrc stack_00141.mrc stack_00188.mrc stack_00216.mrc stack_00232.mrc stack_00241.mrc stack_00004.mrc stack_00013.mrc stack_00026.mrc stack_00041.mrc stack_00048.mrc stack_00054.mrc stack_00073.mrc stack_00087.mrc stack_00097.mrc stack_00118.mrc stack_00126.mrc stack_00133.mrc stack_00144.mrc stack_00195.mrc stack_00219.mrc stack_00234.mrc stack_00006.mrc stack_00014.mrc stack_00029.mrc stack_00042.mrc stack_00049.mrc stack_00058.mrc stack_00074.mrc stack_00088.mrc stack_00098.mrc stack_00119.mrc stack_00127.mrc stack_00134.mrc stack_00153.mrc stack_00198.mrc stack_00225.mrc stack_00237.mrc $ topaz train -n 400 --num-workers=8 --train-images i/ --train-targets ./particles.txt --save-prefix=savedmodel/model -o model_training.txt # Loading model: resnet8 # Model parameters: units=32, dropout=0.0, bn=on # Loading pretrained model: resnet8_u32 # Receptive field: 71 # Using device=0 with cuda=True WARNING: 99 micrographs listed in the coordinates file are missing from the training images. Image names are listed below. WARNING: missing micrographs are: ['stack_00000.mrc', 'stack_00001.mrc', 'stack_00002.mrc', 'stack_00003.mrc', 'stack_00004.mrc', 'stack_00006.mrc', 'stack_00007.mrc', 'stack_00008.mrc', 'stack_00010.mrc', 'stack_00011.mrc', 'stack_00013.mrc', 'stack_00014.mrc', 'stack_00016.mrc', 'stack_00017.mrc', 'stack_00021.mrc', 'stack_00023.mrc', 'stack_00026.mrc', 'stack_00029.mrc', 'stack_00032.mrc', 'stack_00038.mrc', 'stack_00039.mrc', 'stack_00040.mrc', 'stack_00041.mrc', 'stack_00042.mrc', 'stack_00043.mrc', 'stack_00044.mrc', 'stack_00045.mrc', 'stack_00046.mrc', 'stack_00048.mrc', 'stack_00049.mrc', 'stack_00050.mrc', 'stack_00051.mrc', 'stack_00052.mrc', 'stack_00053.mrc', 'stack_00054.mrc', 'stack_00058.mrc', 'stack_00063.mrc', 'stack_00065.mrc', 'stack_00067.mrc', 'stack_00072.mrc', 'stack_00073.mrc', 'stack_00074.mrc', 'stack_00075.mrc', 'stack_00076.mrc', 'stack_00077.mrc', 'stack_00079.mrc', 'stack_00087.mrc', 'stack_00088.mrc', 'stack_00090.mrc', 'stack_00091.mrc', 'stack_00094.mrc', 'stack_00095.mrc', 'stack_00097.mrc', 'stack_00098.mrc', 'stack_00100.mrc', 'stack_00109.mrc', 'stack_00114.mrc', 'stack_00117.mrc', 'stack_00118.mrc', 'stack_00119.mrc', 'stack_00122.mrc', 'stack_00123.mrc', 'stack_00124.mrc', 'stack_00125.mrc', 'stack_00126.mrc', 'stack_00127.mrc', 'stack_00129.mrc', 'stack_00130.mrc', 'stack_00131.mrc', 'stack_00132.mrc', 'stack_00133.mrc', 'stack_00134.mrc', 'stack_00135.mrc', 'stack_00138.mrc', 'stack_00139.mrc', 'stack_00141.mrc', 'stack_00144.mrc', 'stack_00153.mrc', 'stack_00162.mrc', 'stack_00179.mrc', 'stack_00183.mrc', 'stack_00188.mrc', 'stack_00195.mrc', 'stack_00198.mrc', 'stack_00199.mrc', 'stack_00204.mrc', 'stack_00207.mrc', 'stack_00216.mrc', 'stack_00219.mrc', 'stack_00225.mrc', 'stack_00226.mrc', 'stack_00229.mrc', 'stack_00232.mrc', 'stack_00234.mrc', 'stack_00237.mrc', 'stack_00238.mrc', 'stack_00239.mrc', 'stack_00240.mrc', 'stack_00241.mrc'] # Loaded 100 training micrographs with 0 labeled particles ERROR: no training particles specified. Check that micrograph names in the particles file match those in the micrographs file/directory. Traceback (most recent call last): File "/opt/conda3/envs/topaz/bin/topaz", line 11, in load_entry_point('topaz-em==0.2.4', 'console_scripts', 'topaz')() File "/opt/conda3/envs/topaz/lib/python3.6/site-packages/topaz/main.py", line 148, in main args.func(args) File "/opt/conda3/envs/topaz/lib/python3.6/site-packages/topaz/commands/train.py", line 641, in main image_ext=args.image_ext File "/opt/conda3/envs/topaz/lib/python3.6/site-packages/topaz/commands/train.py", line 272, in load_data raise Exception('No training particles.') Exception: No training particles.

tbepler commented 3 years ago

It looks like the error is from including the file extension (.mrc) in the image names in the particles file. Topaz expects the image names not to include the extension (e.g., stack_00000 rather than stack_00000.mrc) in the particles file.

jianhaoc commented 3 years ago

Thank you! I just ignored that.