Missing uid error

I am trying to run a second iteration of a 2d classifcation. Meaning Ì ran one, selected classes and than wanted to run another 2d classification from the selected particles. However I am getting the following error message. (meanwhile I tried to run other jobs with this particle set and I get the same error)

Traceback (most recent call last):
  File "cryosparc2_worker/cryosparc2_compute/run.py", line 85, in cryosparc2_compute.run.main
  File "cryosparc2_worker/cryosparc2_compute/jobs/class2D/run.py", line 47, in cryosparc2_compute.jobs.class2D.run.run_class_2D
  File "cryosparc2_compute/jobs/runcommon.py", line 553, in load_input_group
    dsets = [load_input_connection_slots(input_group_name, keep_slot_names, idx, allow_passthrough=allow_passthrough) for idx in range(num_connections)]
  File "cryosparc2_compute/jobs/runcommon.py", line 524, in load_input_connection_slots
    dsets = [load_input_connection_single_slot(input_group_name, slot_name, connection_idx, allow_passthrough=allow_passthrough) for slot_name in slot_names]
  File "cryosparc2_compute/jobs/runcommon.py", line 516, in load_input_connection_single_slot
    d = load_output_result_dset(_project_uid, output_result, slotconnection['version'], slot_name)
  File "cryosparc2_compute/jobs/runcommon.py", line 469, in load_output_result_dset
  File "cryosparc2_compute/dataset.py", line 543, in from_file
    self.data = Dataset._convert_strings(indata, to_fixed=False)
  File "cryosparc2_compute/dataset.py", line 574, in _convert_strings
    assert all(data['uid']), "Given data must a have a uid field"
AssertionError: Given data must a have a uid field

What is wrong? What could I do?



1 Like

I also loaded the cs file into numoy and the uid is existing. So I have really no explaination.

1 Like

Hi @david.haselbach, this indicates that there’s something wrong with at least one the CS files used in this job. It may be that the uid is there but something is wrong with its contents. To help me further troubleshoot, please do the following:

  1. Open the Select 2D Job you used as input to the failing 2D Classification job
  2. Go to the “Outputs” tab
  3. Look for the “particles_selected” output group
  4. For each of the following outputs, click the download button next to them to download the corresponding .cs files (see screenshot below for reference):
    • location
    • blob
    • alignments2D
  5. Send these files to me as a direct message. The files may be a few hundred MB depending on how many particles there are, feel free to use a file sharing service such as Dropbox, One Drive, Google Drive, etc.


Let me know if you have any trouble with this.



I also meet the similar problem. Here is the detail. Error “Given data must a have a uid field” - Import and Export - CryoSPARC Discuss

I’m wondering have you figured out the solution? If so, could you please tell me how to solve this problem?


I also meet the similar problem. Here is the detail. Error “Given data must a have a uid field” - Import and Export - CryoSPARC Discuss

Do you know what’s wrong and how to solve this problem?