tbepler / topaz

Pipeline for particle picking in cryo-electron microscopy images using convolutional neural networks trained from positive and unlabeled examples. Also featuring micrograph and tomogram denoising with DNNs.
GNU General Public License v3.0
170 stars 62 forks source link

MRC library version incompatible #171

Closed BastiaanMM closed 3 months ago

BastiaanMM commented 1 year ago

Looks like the error I get is due to the MRC package that I have versus the one Topaz assumes there to be is incompatible. requirements.txt does not list the MRC package. the error I get with my version of MRC:

# Thresholding at 0.0
# Extracting 150 particles
# gridfile_000001_EER 150 particles
Traceback (most recent call last):
  File "/opt/conda/envs/topaz/bin/topaz", line 33, in <module>
    sys.exit(load_entry_point('topaz-em==0.2.5', 'console_scripts', 'topaz')())
  File "/opt/conda/envs/topaz/lib/python3.9/site-packages/topaz/main.py", line 148, in main
    args.func(args)
  File "/opt/conda/envs/topaz/lib/python3.9/site-packages/topaz/commands/particle_stack.py", line 89, in main
    header = mrc.make_header(shape, cella, cellb, mz=mz, dtype=dtype)
  File "/opt/conda/envs/topaz/lib/python3.9/site-packages/topaz/mrc.py", line 169, in make_header
    mode = get_mode(dtype)
  File "/opt/conda/envs/topaz/lib/python3.9/site-packages/topaz/mrc.py", line 164, in get_mode
    raise "MRC incompatible dtype: " + str(dtype)
TypeError: exceptions must derive from BaseException

My MRC package:

mrcfile.version '1.4.3'

tbepler commented 1 year ago

Topaz does not use the MRC package. It has its own built in MRC reader. This error is because the data type of your MRC file is not supported by topaz. Is your MRC complex valued? What data type are you using?

On Fri, 9 Jun 2023, 20:45 BastiaanMM, @.***> wrote:

Looks like the error I get is due to the MRC package that I have versus the one Topaz assumes there to be is incompatible. requirements.txt does not list the MRC package. the error I get with my version of MRC:

Thresholding at 0.0

Extracting 150 particles

gridfile_000001_EER 150 particles

Traceback (most recent call last): File "/opt/conda/envs/topaz/bin/topaz", line 33, in sys.exit(load_entry_point('topaz-em==0.2.5', 'console_scripts', 'topaz')()) File "/opt/conda/envs/topaz/lib/python3.9/site-packages/topaz/main.py", line 148, in main args.func(args) File "/opt/conda/envs/topaz/lib/python3.9/site-packages/topaz/commands/particle_stack.py", line 89, in main header = mrc.make_header(shape, cella, cellb, mz=mz, dtype=dtype) File "/opt/conda/envs/topaz/lib/python3.9/site-packages/topaz/mrc.py", line 169, in make_header mode = get_mode(dtype) File "/opt/conda/envs/topaz/lib/python3.9/site-packages/topaz/mrc.py", line 164, in get_mode raise "MRC incompatible dtype: " + str(dtype) TypeError: exceptions must derive from BaseException

My MRC package:

mrcfile.version '1.4.3'

— Reply to this email directly, view it on GitHub https://github.com/tbepler/topaz/issues/171, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABIUKLRF4IIAL2PZNCM4SADXKMLHRANCNFSM6AAAAAAZATH6VQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

BastiaanMM commented 1 year ago

In [27] on this notebook: https://github.com/tbepler/topaz/blob/master/tutorial/02_walkthrough.ipynb

shows the output going to MRCS, that's what I'm trying.

Guillawme commented 1 year ago

Seeing MRC incompatible dtype, I suggest you check two things:

  1. are your MRC files float16 from RELION-4?
  2. if so, is your topaz version older than commit 3428298e0745569929a9ed732d905f14c7044474 ?

If the answers to both questions are yes, then retry with a current version of topaz.

BastiaanMM commented 1 year ago
  1. Yes you're right.
  2. I've got TOPAZ 0.2.5a, installed through Conda. Not sure how I can see which commit that is. Thanks!
Guillawme commented 1 year ago

The commit adding support for float16 is from April 2021, and according to the conda repository topaz was uploaded there only 15 months ago. So the version on conda most likely has float16 support, and I don't know what is the cause of your problem.