darkreactions / ESCALATE

ESCALATE (Experiment Specification, Capture and Laboratory Automation Technology) an ontological framework and open-source software package provides an abstraction layer for human- and machine-readable experiment specification, comprehensive and extensible (meta-)data capture, and structured data reporting.
MIT License
20 stars 4 forks source link

Enhance Array Parameters #78

Open miketynes opened 3 years ago

miketynes commented 3 years ago

Nick and JS request a numpy/mathematica flavored way of creating experiments based on arrays of parameters.

WFActionSet currently kindof implements this.

Logical steps are:

miketynes commented 3 years ago

Note: I think we'll have to implement a more general wf aciton set create at the python level, replacing the PGSQL code.

miketynes commented 3 years ago

NL suggests

  1. python generates explicit plate sized array, passes to postgres upsert
  2. python form only displays appropriate types

pt 1 allows us to avoid rewriting upsert. In template everything can be given as an array of appropriate type, and python can populate appropriately.

pt 2 -- users dont break things

miketynes commented 3 years ago

Long term:

  1. tag what can be an array or not: is a parameter "Listable"
  2. Enable user to specify parameter as array or num array and have the form work etiher way

1-4 are minimal to close this issue, OR a spreadsheet flavored interface like in LS instead of 4.

  1. fancy forms, like columns, rows
miketynes commented 3 years ago

@jpannizzo This is the issue associated w/ the Val array specification form feature we discussed today. The notes above were written mostly to myself about some ideas for implicitly creating arrays based on a few input parameters. Shekar and I had some discussions last week and decided that implicit array creation was confusing and that the most conceptually simple way to handle array parameters would be to have a spreadsheet-style UI form where all values are explicitly entered by the user.