Curate particle picks, possible bug?

issue_recorded

#1

Dear Cryosparc community,

Is there a way to curate your particle picking to check which particles on each image are being picked? I know this is partially possible in the manual picking tab but only on a limited number of images. I wish to display them all and manually pick or correct the particle picking.

This may be a bug as I noticed the the curate exposures will list the number of particles picked on each image but won’t show their location. One way around it is to use local motion correction and correlate the motion dots from local motion correction to the image, but this is tedious.

Thanks,
Omid


#2

Hi @Omid,

You can use the “Inspect Picks” job to view the locations of the picks on each micrograph, as well as tweak the NCC and Power score thresholds.


#3

I tried that but I get the below error:

Traceback (most recent call last):
File “cryosparc2_master/cryosparc2_compute/run.py”, line 49, in cryosparc2_compute.run.main (/home/installtest/deps_manage/cryosparc2_package/deploy/stage/cryosparc2_master/cryosparc2_compute/run.c:2828)
File “cryosparc2_compute/jobs/runcommon.py”, line 367, in check_default_inputs
assert False, 'Non-optional inputs from the following input groups and their slots are not connected: ’ + missing_inputs + ‘. Please connect all required inputs.’
AssertionError: Non-optional inputs from the following input groups and their slots are not connected: particles.pick_stats. Please connect all required inputs.

This only happens at the late stage (after cleaning up the particles). However from some of the images I can tell that there still are a few particles which are bad and should be removed. Hence why I wish to curate the images individually and get the best out of the data set.


#4

Hi @Omid,

Which particle picker did you use? The Inspect Picks job needs the pick_stats group. You should be able to get this result group from the picking job you used.


#5

Hi @sarulthasan,

I used the cryosparc template picker. I honestly can’t recall how I solved this error, but it is solved now. Regardless, the feature that I would like is not really available in the particle picker tab. What I mean is a way a way to manually select and deselect picked particles from each image. The different sliders in the inspect particle picks function is difficult to fine tune perfectly and I still get a few particles that I don’t want. I switched over to cryolo from the SPHIRE package which has solved the issue I was having.


#6

Hi @Omid,
You can take the output of an Inspect Picks job, and use it to start up a Manual Picker job. In Manual Picker, you can then reject individual picks. Hope this helps!


#7

Hi @spunjani,

Sorry for the long delay. Thanks for the suggestion and I have already tried this. The problem with doing it this way is that you only have access to a subset of the micrographs, and not the entire dataset. Is there no way to include the entire dataset in the manual picker?


#8

Dear @Omid,

You are correct, we are currently limited to a subset of 100 mics from the dataset. We are reworking the picking jobs and will have enhanced functionality added soon. In the meantime, you can use the new Exposure Sets Tools to split up a dataset into subsets, which can then be loaded into the manual picker. Hopefully this workaround can suffice for now!


#9

Dear @spunjani,

Thanks. Really appreciate it.

Best,
Omid


#10

Hi @spunjani ,
I used exposure sets tools to split up a datasets into subsets then do manual picking, however, it reports error as this: (here is the Overview output)
Operating on exposure. Action is split. Slot that will be used during output is mscope_params.

Inputted 5990 items as set A

Action is split.

Creating 60 splits with 100 items each. This will leave 0 as remainder.

Sequential creation of splits (no randomization of order).

Created 60 batches with sizes: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 90]

Created remainder of 0 items
Traceback (most recent call last):
File “cryosparc2_master/cryosparc2_compute/run.py”, line 78, in cryosparc2_compute.run.main
File “cryosparc2_compute/jobs/utilities/run_sets.py”, line 99, in run
builder.passthrough_outputs(‘split_%d’%batchidx, ‘particles_A’)
File “cryosparc2_compute/jobs/buildcommon.py”, line 236, in passthrough_outputs
input_group = com.query(job[‘input_slot_groups’], lambda g: g[‘name’] == input_group_name, error=“Input group name %s does not exist in job %s” % (input_group_name, job[‘uid’]))
File “cryosparc2_compute/jobs/common.py”, line 303, in query
assert res != default, error
AssertionError: Input group name particles_A does not exist in job J126

I have just updated to cryosparc v2.11 and just tried Exposure sets recently. I tried to import from exposure (After CTF estimation), imported micrographs, but all of them return us the same result. Is there anything wrong about the input? Or Exposure failed to read old jobs?
Thanks!


#11

Hi @sunny1226,

Indeed this is a bug in the exposure sets tool. It has been fixed and will be released in the next release.
If this issue is urgent/there isn’t a workaround, please email us at feedback@structura.bio and we can send you a patch!