Migrating Your cryoSPARC Instance
A guide to moving cryoSPARC v2+ from one location to another.
- Use Cases
There may come a time when you want to move your cryoSPARC instance from one location to another. This may be between folders, different network storage locations, or even different host machines entirely. There are four main areas we will focus on:
- The paths of any raw particle, micrograph, or movie data imported into cryoSPARC
- All cryoSPARC project directories
- The cryoSPARC database and its (new) location
- The identities/hostnames of compute nodes or the master node & the cryoSPARC binaries
All five of the above areas can be taken care of in isolation, but if combined, will amount to a full-out migration of your cryoSPARC instance.
We will be using a combination of the shell as well as an interactive python session to complete this migration. You will need access to the master node in which the cryoSPARC system is hosted.
It is also recommended that a database backup is created before starting anything. More details are at the cryoSPARC Reference Docs.
A. Moving Only Raw Particle, Micrograph or Movie Data Already Imported into cryoSPARC
If you're moving data that you used an "Import Particles", "Import Micrographs" or "Import Movies" job to bring into cryoSPARC, you will need to repair these jobs. When cryoSPARC imports these three types of data, it creates symlinks to each file inside the job's
imported directory. These symlinks may become broken if the original path to the file no longer exists. You can check the status of the symlinks by running
ls -l inside the
imported directory of the job. Note: The "Import Templates" and "Import Volumes" jobs copy the specified files directly into the job directory.
B. Moving Only cryoSPARC Project Directories (and all jobs inside them)
If you're moving the locations of the projects and their jobs, you will need to point cryoSPARC to the new directory where the projects reside. Jobs inside cryoSPARC are referenced by their relative location to their project directory. This allows a user to specify a new location for the project directory only, rather than each job, which we figured would be easier since it is likely there are far fewer projects than jobs in a normal cryoSPARC instance.
C. Moving the cryoSPARC database
The cryoSPARC database doesn't necessarily have to be in the same location as the cryoSPARC binaries. If you want to move the database, all you need to do is tell cryoSPARC master where the absolute path to the database is.
D. Hosting cryoSPARC On Another Machine
Assuming that the cryoSPARC instance is located on a shared storage layer, if you want to host it on another machine, (i.e.
server1:39000 —> server2:39000 you just need to specify the new hostname to cryoSPARC master. Read further if the new machine doesn't have access to the same file system.