# Software WG taskforce: simulator selection resource
Meeting 5: Wed 25 Jan, 1400 UTC
:::info
**Consolidated notes are now here: https://hackmd.io/@mstimberg/HJXqYPMPo**
:::
## Agenda
## Attendees
- Brent Huisman
- Marcel Stimberg
- Dinara Issagaliyeva
- Ankur Sinha
- Reema
- Eliane Rodrigues
## Next meeting
Next meeting: Wed 8 Feb, 1400 UTC
## Frontend ideas:
- Have glossary, but use it in reverse
- eg. use "1k-1M cells" and have glossary/tooltip saying that this can be refered to as mesoscale
- ranged slider for network scale
- sort results based on nearness to range rather than simple ascending
### Prototyping:
- come up with simple designs just to get a layout of how we're going to expose the functions
- example tools
- paper and pencil/pen!
- your favourite tool
- https://excalidraw.com/
- https://design.penpot.app or figma.com
- examples: https://design.penpot.app/#/view/d24b8550-780f-11ec-b805-69e39b8fc2b7?page-id=50092840-c56c-11ec-b007-55d7a3ea623f§ion=interactions&index=0&share-id=6ef71870-c56c-11ec-ab9e-75f6b8214121
- https://design.penpot.app/#/view/d0c3eb90-430d-11ed-9050-cf2300df1f4f?page-id=d0c3eb91-430d-11ed-9050-cf2300df1f4f§ion=interactions&index=0&share-id=637865d0-43c0-11ed-9050-cf2300df1f4f
### Implementation ideas:
- Example of Python script to generate an interactive but static website from json data
- https://github.com/fedora-infra/asknot-ng
- see live at https://whatcanidoforfedora.org/ (based on https://whatcanidoformozilla.org/#!/progornoprog/support)
## Relationships between tools, and utilities etc.
- example: brian uses brian tools for things, and arbor-GUI uses arbor
- have "defined relationships": when arbor is listed in the result, it shows "related tools: Arbor-GUI (GUI)", and when Arbor-GUI is in the result, it shows "related tools: Arbor (simulation engine)"
## Questions/notes while tagging
### Ankur
- network scale will need to be defined in our glossary
- artificial neuron
- a function (?)
- single compartment neuron
- sub cellular
- single cell
- small scale networks. 1-1k cells. 1e0-1e3
- meso scale networks. 1k-1M cells. 1e3-1e6.
- large scale networks. 1M-1B+ cells. 1e6-1e9+
- use simpler terminology (log scale): one, hundreds, thousands, millions and more?
- then no slider ;_;
- prefer multiple choice?
- Since simulators usually scale down, we can simplify to "up to"
- The "scale" could be numerical and the jargon of "small, meso, large, etc" could be prsented as an "info" pop up(?) - this means that simulators DO need to be annotated with scale terminology
- file formats:
- have tool tip to indicate to users that these are formats that are "natively" supported by the tool
- in: do we mean what data files it can take in? A little hard to list if it's using something like Python as an interface language because it can ready pretty much anything
- [BH] Examples: model descriptions in the morphological world can include
1. Morphology formats (swc, asc, NeuroML are some popular ones).
2. Mechanisms (ie. nmodl, NeuroML) Writing compilers for this is no easy feat :)
3. Simulation 'formats' like NeuroML, Sonata. May contain the above plus more (networks, in HDF5 for instance, parameter data, sometimes also experimental outputs)
- same for output: most tools can output plaintext, but with libraries, they can output in any format pretty much
- [BH] Some projects list eg NWB as 'built-in' output format. You're right, you can always do that yourself.
- Dependencies between projects
- link associated tools somehow
- Another tag useful for users: analysis features?
- what built in analyis features does the tool have?
- visualisation/plotting of morphologies, spike trains, rates, concentrations etc.
## TODO
- complete data
- free form tags
- fixed/required tags
- fileformat
- model complexity
- model size
- file format
- related/associated software
- have a sketch/proof-of-concept
- start from http://oss-watch.ac.uk/apps/licdiff/
- or from scratch (sketch/prototype/whatever)
- think about technology
- Django/React/…?