TypeError: concat() takes 1 positional argument but 2 were given

Hello everyone

I have been getting this error while running the TOPAZ training module. Please tell me where the problem is. I think there is some mismatch between the software and the environment or maybe something else. Any help is much appreciated.

Thanks

Faisal

License is valid.

Launching job on lane default target sn4622125205 ...

Running job on master node hostname sn4622125205
[CPU:  197.9 MB  Avail: 500.48 GB]

Job J26 Started
[CPU:  197.9 MB  Avail: 500.48 GB]

Master running v4.2.1, worker running v4.2.1
[CPU:  197.9 MB  Avail: 500.48 GB]

Working in directory: /data/empiar_10025_subset/CS-empiar-10025/J26
[CPU:  197.9 MB  Avail: 500.48 GB]

Running on lane default
[CPU:  197.9 MB  Avail: 500.48 GB]

Resources allocated: 
[CPU:  197.9 MB  Avail: 500.48 GB]

  Worker:  sn4622125205
[CPU:  197.9 MB  Avail: 500.48 GB]

  CPU   :  [0, 1, 2, 3, 4, 5, 6, 7]
[CPU:  197.9 MB  Avail: 500.48 GB]

  GPU   :  [0]
[CPU:  197.9 MB  Avail: 500.48 GB]

  RAM   :  [0]
[CPU:  197.9 MB  Avail: 500.48 GB]

  SSD   :  False
[CPU:  197.9 MB  Avail: 500.48 GB]

--------------------------------------------------------------
[CPU:  197.9 MB  Avail: 500.48 GB]

Importing job module for job type topaz_train...
[CPU:  262.2 MB  Avail: 500.31 GB]

Job ready to run
[CPU:  262.2 MB  Avail: 500.31 GB]

***************************************************************
[CPU:  262.2 MB  Avail: 500.31 GB]

[CPU:  264.3 MB  Avail: 500.16 GB]

Starting Topaz process using version 0.2.4...
[CPU:  264.3 MB  Avail: 500.16 GB]

Random seed used is 786920040
[CPU:  264.4 MB  Avail: 500.16 GB]

--------------------------------------------------------------
[CPU:  264.4 MB  Avail: 500.16 GB]

Starting preprocessing...

[CPU:  264.4 MB  Avail: 500.16 GB]

Starting micrograph preprocessing by running command /home/cryosparc_user/.conda/envs/topaz/bin/topaz preprocess --scale 16 --niters 200 --num-workers 8 -o /data/empiar_10025_subset/CS-empiar-10025/J26/preprocessed [20 MICROGRAPH PATHS EXCLUDED FOR LEGIBILITY]

[CPU:  264.4 MB  Avail: 500.16 GB]

Preprocessing over 8 processes...
[CPU:  265.1 MB  Avail: 500.39 GB]

Inverting negative staining...
[CPU:  265.1 MB  Avail: 500.39 GB]

Inverting negative staining complete.

[CPU:  265.1 MB  Avail: 500.39 GB]

Micrograph preprocessing command complete.

[CPU:  265.1 MB  Avail: 500.39 GB]

Starting particle pick preprocessing by running command /home/cryosparc_user/.conda/envs/topaz/bin/topaz convert --down-scale 16 --threshold 0 -o /data/empiar_10025_subset/CS-empiar-10025/J26/topaz_particles_processed.txt /data/empiar_10025_subset/CS-empiar-10025/J26/topaz_particles_raw.txt

[CPU:  265.1 MB  Avail: 500.39 GB]

Particle pick preprocessing command complete.

[CPU:  265.1 MB  Avail: 500.39 GB]

Preprocessing done in 35.218s.
[CPU:  265.1 MB  Avail: 500.39 GB]

--------------------------------------------------------------
[CPU:  265.1 MB  Avail: 500.39 GB]

Starting train-test splitting...

[CPU:  265.1 MB  Avail: 500.39 GB]

Starting dataset splitting by running command /home/cryosparc_user/.conda/envs/topaz/bin/topaz train_test_split --number 4 --seed 786920040 --image-dir /data/empiar_10025_subset/CS-empiar-10025/J26/preprocessed /data/empiar_10025_subset/CS-empiar-10025/J26/topaz_particles_processed.txt

[CPU:  265.1 MB  Avail: 500.27 GB]

# splitting 20 micrographs with 3075 labeled particles into 16 train and 4 test micrographs
[CPU:  265.1 MB  Avail: 500.27 GB]

Traceback (most recent call last):
[CPU:  265.1 MB  Avail: 500.27 GB]

File "/home/cryosparc_user/.conda/envs/topaz/bin/topaz", line 11, in <module>
[CPU:  265.1 MB  Avail: 500.27 GB]

load_entry_point('topaz-em==0.2.4', 'console_scripts', 'topaz')()
[CPU:  265.1 MB  Avail: 500.27 GB]

File "/home/cryosparc_user/.conda/envs/topaz/lib/python3.10/site-packages/topaz/main.py", line 148, in main
[CPU:  265.1 MB  Avail: 500.27 GB]

args.func(args)
[CPU:  265.1 MB  Avail: 500.27 GB]

File "/home/cryosparc_user/.conda/envs/topaz/lib/python3.10/site-packages/topaz/commands/train_test_split.py", line 108, in main
[CPU:  265.1 MB  Avail: 500.27 GB]

targets_train = pd.concat(groups_train, 0)
[CPU:  265.1 MB  Avail: 500.27 GB]

TypeError: concat() takes 1 positional argument but 2 were given
[CPU:  265.1 MB  Avail: 500.39 GB]

Traceback (most recent call last):
  File "cryosparc_master/cryosparc_compute/run.py", line 96, in cryosparc_compute.run.main
  File "/home/cryosparc_user/software/cryosparc/cryosparc_worker/cryosparc_compute/jobs/topaz/run_topaz.py", line 307, in run_topaz_wrapper_train
    utils.run_process(split_command)
  File "/home/cryosparc_user/software/cryosparc/cryosparc_worker/cryosparc_compute/jobs/topaz/topaz_utils.py", line 98, in run_process
    assert process.returncode == 0, f"Subprocess exited with status {process.returncode} ({str_command})"
AssertionError: Subprocess exited with status 1 (/home/cryosparc_user/.conda/envs/topaz/bin/topaz train_test_split --number 4 --seed 786920040 --image-dir /data/empiar_10025_subset/CS-empiar-10025/J26/preprocessed /data/empiar_10025_subset/CS-empiar-10025/J26/topaz_particles_processed.txt)

Unfortunately, I cannot provide a resolution for this issue, but have a few suggestions:

  1. Did you confirm that TOPAZ tasks run properly when run/initiated outside CryoSPARC?
  2. Given that current instructions for the creation of the conda environment
    conda create -n topaz python=3.6
    
    did you confirm that TOPAZ can run in a python-3.10 environment?
  3. After confirming TOPAZ function outside CryoSPARC, you may want to wrap TOPAZ in a shell script, which in turn should be specified as Path to Topaz executable (details).
  4. See Topaz Train - TypeError: concat() takes 1 positional argument but 2 were given for a related discussion.