Create folders in gui

I have a non-critical, quality of life request. Some of our cryosparc users only interact with cryoSPARC via the gui. For these individuals, it would be helpful if it was possible for them to create folders within the cryoSPARC gui when adding a new project to help keep things organized beyond generically labeled project directories.

Thanks!
Evan

Hi @emgreen ,

Are you familiar with the concept of workspaces in cryoSPARC? It’s pretty much the equivalent of folders as they’re scoped to a project and jobs can be moved or linked between them:

You can create one via the ‘New’ button at the top of the UI once you’re inside a project.

- Suhail

Hi Suhail,

Thanks for the suggestion. I use folders within projects quite extensively and love the feature to help organize my work. However, I usually like to have each data collection in its own project to help simplify the exporting and archiving of the results. It was my understanding that it is not straightforward to just export all of the results from on workspace since jobs can be linked across them.

The specific use case I am imagining is that we have a new data collection on a sample and I would like the person in charge of data processing to be able to create a new directory on our cluster without having to log into the cluster itself. At the movement, I have a folder for each user and they can create projects in that folder for new data collections. It would be helpful for me if their project directories had names that I could easily parse as opposed to the generic PXX names that I have to cross reference with the webapp.

Please let me know if there is already a good solution within the cryosparc workflow to accomplish this. If not, I realize this request may be very specific to my use of cryoSPARC so I understand if it is not possible to implement a solution at this time.

Hi @emgreen,

Thanks for the detailed reply!

I usually like to have each data collection in its own project to help simplify the exporting and archiving of the results. It was my understanding that it is not straightforward to just export all of the results from on workspace since jobs can be linked across them.

Correct, we’d recommend keeping each data collection session in a separate project and exporting the whole project for archival purposes. You can always choose to export a particular job (movies, micrographs, particles, etc.) and import it into another project.

Are you only able to access cryoSPARC via the terminal? If you were to use the web application, it’s much easier to identify projects as their titles, owner and metadata are available to view. That being said, we recognize that folders denoting just the project ID makes traversal via the command-line tricky. If we were to allow customization of the project folder (e.g. P1_My_Title), would that suffice? This may be more efficient than allowing users to create sub-folders within the interface (e.g. username/My_Title/P1)

Would a command-line option for printing a list of projects with their title, owner and creation date be useful? We can consider adding one in a future release. In the meantime, you can always query the cryoSPARC database (MongoDB) for this:

  1. Enter the MongoDB CLI: cryosparcm mongo
  2. List projects: > db.projects.find({}, { _id: 0, uid: 1, title: 1, created_at: 1, owner_user_id: 1, project_dir: 1 }).pretty()
  3. List users (to cross-reference their MongoDB ID with their email address: > db.users.find({}, { 'emails': 1 })

Regards,
Suhail

Thanks, @sdawood!

I do have access to both the webapp and the terminal at the same time, but having all the information in one place would make things easier. Allowing customization of the Project folder name as you suggest (e.g. P1_My_Title ) would be a perfect solution for my use case.

The command-line option to print lists of projects could come in handy. Being able to also print project sizes, along with the other information you list, would be incredibly helpful as well.

Cheers,
Evan