Skip to content

cs_map_slabs incorrect coordinates #27

Description

@jzhen-em

Hello Ariana,

I am trying to slabpick from tomograms as described by the Apoferritin methods section of your realistic phantom dataset paper. I created slabs and performed picking and 2D classification of ribosomes in CryoSPARC v5.0.4. However, I am having difficulty with cs_map_slabs.

When I try to run cs_map_slabs with a CS Select 2D job, I encounter an error:

cs_map_slabs --cs_file /datadisk/cryosparc/CS-slab-ribo/J6/particles_selected.cs --map_file slabs/slab_map.csv --in_dir tomoset --extract_shape 350 350 350 --voxel_spacing 6.716 --threshold 100 --out_file slabs1_ribos_test.star --apix 1.679
Traceback (most recent call last):
  File "/programs/x86_64-linux/slabpick/d4c4a50/bin/cs_map_slabs", line 6, in <module>
    sys.exit(main())
             ~~~~^^
  File "/programs/x86_64-linux/slabpick/d4c4a50/slabpick/src/slabpick/cli/cs_map_slabs.py", line 78, in main
    d_coords = csedit.curate_slab_map(
        np.load(config.cs_file), pd.read_csv(config.map_file), config.voxel_spacing,
    )
  File "/programs/x86_64-linux/slabpick/d4c4a50/slabpick/src/slabpick/csedit.py", line 27, in curate_slab_map
    cs_mgraph_id = cs_extract["location/micrograph_path"]
                   ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: no field of name location/micrograph_path

I got around this by running with a CS Extract job, but I encounter a different error:

cs_map_slabs --cs_file /datadisk/cryosparc/CS-slab-ribo/J8/extracted_particles.cs --map_file slabs/slab_map.csv --in_dir tomoset --extract_shape 350 350 350 --voxel_spacing 6.716 --threshold 100 --out_file slabs1_J8_ribos.star --apix 1.679
/programs/x86_64-linux/slabpick/d4c4a50/slabpick/src/slabpick/minislab.py:58: RuntimeWarning: Mean of empty slice
  loc=np.abs(subvolume.mean()),
/programs/x86_64-linux/slabpick/d4c4a50/.pixi/envs/default/lib/python3.14/site-packages/numpy/_core/_methods.py:142: RuntimeWarning: invalid value encountered in divide
  ret = ret.dtype.type(ret / rcount)
/programs/x86_64-linux/slabpick/d4c4a50/.pixi/envs/default/lib/python3.14/site-packages/numpy/_core/_methods.py:219: RuntimeWarning: Degrees of freedom <= 0 for slice
  ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,
/programs/x86_64-linux/slabpick/d4c4a50/.pixi/envs/default/lib/python3.14/site-packages/numpy/_core/_methods.py:178: RuntimeWarning: invalid value encountered in divide
  arrmean = um.true_divide(arrmean, div, out=arrmean,
/programs/x86_64-linux/slabpick/d4c4a50/.pixi/envs/default/lib/python3.14/site-packages/numpy/_core/_methods.py:211: RuntimeWarning: invalid value encountered in divide
  ret = ret.dtype.type(ret / rcount)

This still outputs a .star file, but the XYZ coordinates do not fit within the dimensions of the input tomogram. When I inspect them together in ArtiaX, the particle coordinates do not match the ribosome densities (attached). This does not appear to be a scaling issue caused from binning/pixel size.
Image

Do you have any advice on resolving this issue? Thank you.

Best,
James

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions