EuanPyle / Membrane_Associated_Picking

Scripts to pick membrane associated particles
MIT License
2 stars 0 forks source link

Error while particle extraction in dynamo!! #2

Open ribobio opened 2 years ago

ribobio commented 2 years ago

Hi Euan,

I recently tried to implement membrane-associated picking for one of my datasets. The instructions seem to be well defined in your article @https://pubs.rsc.org/en/Content/ArticleLanding/2022/FD/D2FD00022A.

For me, most parts before particle extraction seem to work well. However, the particle extraction fails repeatedly with an error described below (from Dynamo). The output tables look reasonable with reference to columns 24-26, and hence I am wondering if there is something wrong I am doing here or missing something obvious in the process of table generation. I would be happy to provide more details regarding this.

The error message after allowing padding is as follows: (Without padding, the process still fails where all particles are excluded during extraction).

Tomogram TS_13.mrc has dimensions: 959 927 300 (2034.74Mb) Total number of different tomograms appearing in column 20: 1 (with labels: [13]) cropping 43550 particles. [mbparse.multicore.checkPool] A previous pool of 8 workers is available. the subtomogram goes out of scope (top overflow) the subtomogram goes out of scope (bottom overflow) the subtomogram goes out of scope (bottom overflow) the subtomogram goes out of scope (bottom overflow) Error using dpkio.tomo.binary.readSubtomogramMultiClass (line 72) Invalid parameters

Error in dynamo_read_subtomogram (line 645) particle = dpkio.tomo.binary.readSubtomogramMultiClass(q.filename,output_header,sizeBox,originBoxMatlab,-1);

Error in dynamo_table_crop>cropOne (line 1888) [particle,report_crop] = dynamo_read_subtomogram(q.tomogram_name,....

Error in dynamo_table_crop>handle_tomogram (line 1535) parfor itag=1:length(q.tags)

Error in dynamo_table_crop (line 496) output = handle_tomogram(q);

Error in dynamo__table_crop>pushbutton_crop_Callback (line 377) check = dynamo_table_crop(s.source,s.table,s.target,s.sidelength,....

Error in gui_mainfcn (line 95) feval(varargin{:});

Error in dynamo__table_crop (line 42) gui_mainfcn(gui_State, varargin{:});

Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)dynamo__table_crop('pushbutton_crop_Callback',hObject,eventdata,guidata(hObject)) Error while evaluating UIControl Callback.

EuanPyle commented 2 years ago

Hi, it may be to do with your box size for extraction. If a particle is within the tomogram, but close to the edge and due to a large box size Dynamo might be trying to extract over the edge of the tomogram. By the looks of it you have a few particles too close to the top or bottom of the tomogram. Re-reading the script there actually isn't a line which removes particles too close to the top/bottom (there is for X/Y), I will fix that now, one second. Let me know if this is not the issue (i.e. if there are no particles close to the top/bottom of the tomo in Z).

EuanPyle commented 2 years ago

All done, if you re-download the extraction.m script from the github and re-enter your input parameters (there should be a tomo_z variable) and it may work now.

EuanPyle commented 2 years ago

Did this work out ok?

ribobio commented 2 years ago

Hi Euan...thanks for making the modifications to the code. I did run the updated extraction.m file..but seem to have the same problem where all particles are excluded during extraction. For now, i have gone back to my old approach of using the memraneBYlevels/ surface models in Dynamo. The pipeline you describe here is really cool and works for most parts (as i said before)...I suspect I am doing something wrong, or the error arises with the table generation..which then also affects the extraction step.