CryoSPARC v4.2.1 - No lane option

Hello everyone,

I am a Ph.D. student and very new to CryoSPARC, I am using Ubuntu 22.04.02 OS, and I just installed Single Workstation CryoSPARC v4.2.1 with a default port 39000. I am not able to queue the jobs as I do not have an option of choosing lanes and also I cannot see the lanes available to run jobs.

As I understand from other queries and CryoSPARC guide itself, all existing default lanes are automatically assigned when a user is created. Hence, why do I still not see any default lanes available, and if the Single workstation includes both master and worker installation, do I still need to go ahead and install the worker package separately?
I am not sure what I am missing, Any ideas/solutions are highly appreciated.
Thanks in advance.

Let’s confirm that your installation completed successfully.

  1. What was the full command that you used for installation (please conceal your license id)?
  2. Does the file /your/path/to/cryosparc_worker/config.sh exist?
  3. What is the output of the command
    cryosparcm cli "get_scheduler_targets()"
    ?

Hi,

  1. The command I used was the same as Single Workstation* CryoSPARC Installation
    ./install.sh --standalone
    –license $LICENSE_ID
    –worker_path /u/cryosparc_user/cryosparc/cryosparc_worker
    –cudapath /usr/local/cuda
    –ssdpath /scratch/cryosparc_cache
    –initial_email “someone@structura.bio
    –initial_password “Password123”
    –initial_username “username”
    –initial_firstname “FirstName”
    –initial_lastname “LastName”
    –port 39000

  2. Yes, there is a config.sh file in the cryosparc_worker directory.

  3. It is giving an error, I paste here the output for the following command

*** CommandClient: (http://SIMULATOR01:39002/api) URL Error [Errno 111] Connection refused
Traceback (most recent call last):
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/cryosparc_tools/cryosparc/command.py”, line 104, in func
with make_json_request(self, “/api”, data=data) as request:
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.8/contextlib.py”, line 113, in enter
return next(self.gen)
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/cryosparc_tools/cryosparc/command.py”, line 191, in make_request
raise CommandClient.Error(client, error_reason, url=url)
cryosparc_tools.cryosparc.command.Error: *** CommandClient: (http://SIMULATOR01:39002/api) URL Error [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.8/runpy.py”, line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.8/runpy.py”, line 87, in _run_code
exec(code, run_globals)
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/cryosparc_compute/client.py”, line 55, in
cli = CommandClient(host=host, port=int(port))
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/cryosparc_compute/client.py”, line 36, in init
super().init(service, host, port, url, timeout, headers, cls=NumpyEncoder)
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/cryosparc_tools/cryosparc/command.py”, line 91, in init
self._reload() # attempt connection immediately to gather methods
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/cryosparc_tools/cryosparc/command.py”, line 118, in _reload
system = self._get_callable(“system.describe”)()
File “/home/ajay/Desktop/CryoSparc/cryosparc_master/cryosparc_tools/cryosparc/command.py”, line 107, in func
raise CommandClient.Error(
cryosparc_tools.cryosparc.command.Error: *** CommandClient: (http://SIMULATOR01:39002) Did not receive a JSON response from method “system.describe” with params ()

Apologies for my limited knowledge about this,
can you please guide me on how to go further?
Many thanks in advance.

could happen if/when CryoSPARC has not been started.
Did you successfully run
cryosparcm start?
What is the output of
cryosparcm status | grep -v LICENSE
?

Hi
Sorry yes I get it now,

As I mentioned in my early query, yes I can open the cryosparc web interface with cryosparcm start,
The output of this : cryosparcm cli “get_scheduler_targets()” is just empty square brackets.
I attach the screenshot of the outputs here.

Good. What is the output of
curl SIMULATOR01:39002
?

The output is :
Hello World from cryosparc command core.

… suggests that installation terminated prematurely with an error during (implicit in the --standalone case) worker installation or connection.
What is the output of

/u/cryosparc_user/cryosparc/cryosparc_worker/bin/cryosparcw call python -c "import pycuda.driver; print(pycuda.driver.get_version())"

?

Hi
cryosparcw in the bin folder is a shell script so when I run the command it said directory not found.

But just running python -c “import pycuda.driver; print(pycuda.driver.get_version())” I got an error of pycuda
Traceback (most recent call last):
File “”, line 1, in
ModuleNotFoundError: No module named ‘pycuda’

Another issue I was facing when I tried manually assigning lanes to the master node was:
Unknown cryosparcw command / cryosparcw command not found

So is it because pycuda is not found so the worker node is not connected to master node?

The complete and correct path must be specified for this command (unless an alias was created or the the command is included in you $PATH.
My guess of the full path

/u/cryosparc_user/cryosparc/cryosparc_worker/bin/cryosparcw call python -c "import pycuda.driver; print(pycuda.driver.get_version())"

was based on the install.sh command posted in CryoSPARC v4.2.1 - No lane option - #3 by Samhitha
but I noticed different path for the related cryosparc_master directory in your later posts.
What is the the correct full path to the cryosparcw script?

Hi ,

The path I have for the cryosparcw is:
/home/ajay/Desktop/CryoSparc/cryosparc_worker/bin/cryosparcw
and the worker path given for the install.sh during stand-alone is also the same /home/ajay/Desktop/CryoSparc/cryosparc_worker

cryosparc_master is in the master directory.
/home/ajay/Desktop/CryoSparc/cryosparc_master

Do you mean worker should be in the master directory?
I have attached the screenshot of the same.

What is the output of

/home/ajay/Desktop/CryoSparc/cryosparc_worker/bin/cryosparcw  call python -c "import pycuda.driver; print(pycuda.driver.get_version())"

I did not mean that. I am sorry about any confusion.
Your existing directory structure looks reasonable.

Hi

No worries,

the output is (11, 8, 0)

Perfect. Assuming you do not wish to use particle caching, please try connecting the worker component with the command

/home/ajay/Desktop/CryoSparc/cryosparc_worker/bin/cryosparcw  connect --master SIMULATOR01 --worker SIMULATOR01 --port 39000 --nossd

Replace --nossd with
--ssdpath /your/path/to/cache if you have fast scratch storage available at /your/path/to/cache.
Does this help?

Oh, this is great!
This helped and I connected the worker node I can see the default lane attached to the worker node. This (images) is how it would look right or?
Also for my understanding, can you please explain what the issue was?

Many many thanks, highly appreciate it!!
Screenshot 2023-04-19 at 20.17.55

The images look good. You may want to confirm the configuration by running a test workflow.

The master and worker installation steps of the --standalone installation routine appear to have succeeded originally, but the subsequent “connection” step failed for an unknown reason, and needed to be repeated by running the cryosparcw connect ... command.

Yes, will run the test workflow, many many thanks for your guidance.

5 posts were merged into an existing topic: Could not get database status in standalone installation