Error regarding cell_volume in segmentation of Xenium data
Thank you so much for developing this wonderful tool.
I wanted more layers of voxel in proseg segmentation and ran with --voxel-layers 10 option.
The Run program is shown below.
Xenium_file="/path/to/xenium/transcripts.parquet" output_DIR="/path/to/result_directory" RUST_BACKTRACE=full proseg --xenium ${Xenium_file}
--output-path ${output_DIR}
--voxel-layers 10
--output-cell-voxels "cell-voxels.csv.gz"
Standard output was the same as when proseg ran normally.
However, the following error was output and the result file was not output to the directory specified by --output-path.
thread 'main' panicked at /home/ochiken/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proseg-2.0.3/src/sampler/voxelsampler.rs:699:13: assertion failed: *cell_volume > 0.0 stack backtrace: 0: 0x559c7276a830 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6d42cc84fc840290 1: 0x559c727909a3 - core::fmt::write::h5af61a909e3ec64d 2: 0x559c727678e3 - std::io::Write::write_fmt::h5a7b54aa6e4a315d 3: 0x559c7276a682 - std::sys::backtrace::BacktraceLock::print::h555579e7396c26ac 4: 0x559c7276b71f - std::panicking::default_hook::{{closure}}::h9128866118196224 5: 0x559c7276b58a - std::panicking::default_hook::h52e9e7314e0255f6 6: 0x559c7276c0c2 - std::panicking::rust_panic_with_hook::h541791bcc774ef34 7: 0x559c7276be36 - std::panicking::begin_panic_handler::{{closure}}::h6479a2f0137c7d19 8: 0x559c7276ad49 - std::sys::backtrace::__rust_end_short_backtrace::ha04e7c0fc61ded91 9: 0x559c7276bafd - rust_begin_unwind 10: 0x559c71da7aa0 - core::panicking::panic_fmt::h5764ee7030b7a73d 11: 0x559c71da7b2c - core::panicking::panic::had768957450a0f86 12: 0x559c71ee4861 - proseg::sampler::voxelsampler::VoxelSampler::recompute_cell_volume::hc18e8f31afcd6ddf 13: 0x559c71ee1a2f - proseg::sampler::voxelsampler::VoxelSampler::new::hb59fdebd67aa02dc 14: 0x559c71e9c20f - proseg::main::hdddd627904d5b989 15: 0x559c71ed6a53 - std::sys::backtrace::__rust_begin_short_backtrace::he83e11511f367f9a 16: 0x559c71efbbd9 - std::rt::lang_start::{{closure}}::hefb1b57dc6bf6e56 17: 0x559c727601a0 - std::rt::lang_start_internal::h15895544e2012228 18: 0x559c71ebf8f5 - main 19: 0x1500d61657e5 - __libc_start_main 20: 0x559c71da8080 -
21: 0x0 -
It looks like an error is being output in the process of checking if cell_volume is greater than 0.
When I ran without the --voxel-layers 10 option, I did not get this error output.
I have no idea what caused this and how to fix it.
If you have any ideas, I would appreciate it if you could share them with me.
Regards.
I just released 2.0.4 which should fix this.
I'd also suggest using the --no-z-layer-doubling argument, otherwise voxel layers get subdivided to 40 by the end of sampling in the default sampling schedule.
Prof. Jones
Thanks for the quick update.
When I specify the number of z-layers in --voxel-layers 10, does proseg divide the region into 10 parts from the z-coordinate of the highest Transcripts to the z-coordinate of the lowest Transcripts?
If so, does the z-axis size of the voxels change for each sample?
When segmenting multiple Xenium data with proseg each, is it possible to specify a constant z-axis size (e.g. in µm) for each Voxel?
Regards.