-
Notifications
You must be signed in to change notification settings - Fork 3
Feature/client upload script #417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
9c66387
b4cec2e
8a7a98a
0f14085
851d485
71c8f67
5fb5607
a1eb378
524b1ee
afc5b47
910157d
5ff8503
b875208
ff252d1
46b91e2
6d79dbd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| # cellPACK Studio Site | ||
|
|
||
| cellPACK studio allows users to edit example recipes, run packings, and visualize results in the browser. | ||
|
|
||
| * Production site: https://cellpack.allencell.org/ | ||
| * GitHub repository: https://github.com/AllenCell/cellpack-client | ||
|
|
||
| ### Publishing Recipes to cellPACK Studio | ||
| To add new example recipes to the client site, the recipe and its associated metadata must be uploaded to Firebase. | ||
|
|
||
| 1. Set up access to the staging Firebase account, following [these instructions](https://github.com/mesoscope/cellpack/blob/main/docs/REMOTE_DATABASES.md#firebase-firestore) | ||
| 2. Determine which recipe fields should be editable in the client, and create a JSON file specifying these editable fields following the schema outlined in [this example](https://github.com/mesoscope/cellpack/blob/0f140859824086d73edab008ff381b5e5717db8b/examples/client-data/example_editable_fields.json) | ||
| 3. Follow cellPACK installation requirements [in README](https://github.com/mesoscope/cellpack?tab=readme-ov-file#installation) | ||
| 4. Run the following script to upload necessary files to Firebase: `upload -s -r <path_to_recipe_file> -c <path_to_config_file> -f <path_to_editable_fields_file> -n "Name of Recipe" -o <local_path_to_simularium_result_file>` |
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Love it! The structure makes much more sense now, just two quick thoughts here:
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We could definitely add |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| { | ||
| "editable_fields": [ | ||
| { | ||
| "name": "Display Name", | ||
| "description": "Description text", | ||
| "path": "path.to.field.in.recipe.json", | ||
| "data_type": "integer/float/string", | ||
| "input_type": "slider/dropdown/gradient" | ||
| }, | ||
| { | ||
| "name": "Endosome Count", | ||
| "description": "Number of spheres to be packed", | ||
| "path": "composition.membrane.regions.interior.1.count", | ||
| "data_type": "integer", | ||
| "input_type": "slider", | ||
| "min": 0, | ||
| "max": 300 | ||
| }, | ||
| { | ||
| "name": "Endosome Radius", | ||
| "description": "Radius of spheres", | ||
| "path": "objects.endosome.radius", | ||
| "data_type": "float", | ||
| "input_type": "slider", | ||
| "min": 0, | ||
| "max": 10, | ||
| "unit": "µm", | ||
| "conversion_factor": 0.108 | ||
| }, | ||
| { | ||
| "name": "Spatial Distribution Rule", | ||
| "description": "Choose from one of the listed gradient types", | ||
| "path": "objects.endosome.gradient", | ||
| "data_type": "gradient", | ||
| "input_type": "gradient", | ||
| "gradient_options": [ | ||
| { | ||
| "display_name": "Nuclear Bias", | ||
| "value": "nucleus_gradient", | ||
| "path": "objects.endosome.gradient", | ||
| "packing_mode": "gradient", | ||
| "packing_mode_path": "objects.endosome.packing_mode", | ||
| "strength_path": "gradients.nucleus_gradient.weight_mode_settings.decay_length", | ||
| "strength_display_name": "Decay Length", | ||
| "strength_description": "Smaller decay length indicates stronger bias", | ||
| "strength_min": 0, | ||
| "strength_max": 1 | ||
| }, | ||
| { | ||
| "display_name": "Membrane Bias", | ||
| "value": "membrane_gradient", | ||
| "path": "objects.endosome.gradient", | ||
| "packing_mode": "gradient", | ||
| "packing_mode_path": "objects.endosome.packing_mode", | ||
| "strength_path": "gradients.membrane_gradient.weight_mode_settings.decay_length", | ||
| "strength_display_name": "Decay Length", | ||
| "strength_description": "Smaller decay length indicates stronger bias", | ||
| "strength_min": 0, | ||
| "strength_max": 1 | ||
| }, | ||
| { | ||
| "display_name": "Unbiased", | ||
| "value": "random", | ||
| "path": "objects.endosome.packing_mode", | ||
| "packing_mode": "random" | ||
| } | ||
| ] | ||
| } | ||
| ] | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the doc strings are very clear and helpful!