BlueBrain / morphology-workflows

Workflows used for morphology processing.
https://morphology-workflows.readthedocs.io/en/stable/
Apache License 2.0
5 stars 2 forks source link

[Feature request] Fetch needs more options/documentation #126

Closed KeremKurban closed 10 months ago

KeremKurban commented 11 months ago

Describe the feature

I think we need more advanced examples in morphology-workflows Fetch when we want to have advanced filtering. In Neuromorpho, for example, there are various metadata we can use to filter morphs. To get CA3 mouse pyramidal neurons from archive Castanho_Oliveira https://neuromorpho.org/neuron_info.jsp?neuron_name=13_L2_C12_N1

how should i generate the json file? Sometimes i want logical operations like OR or AND statements to get synonymous annotations or advanced filtering for fields like brain_region and cell_type. Those have secondary, tertiary structures (i have seen up to 6 so far but might be even more depending on how much annotator used labels) which is not always in consistent order:

[pyramidal, projection] or [projection,pyramidal]

To make these advanced queries in a json, one needs an extensive documentation

Example Use

Example use cases in json is complicated. i use pandas to filter morphologies But that requires fetching all possible morphologies.

Use cases

Advanced filtering for circuit build

adrien-berchet commented 11 months ago

Hi @KeremKurban You can create the JSON entries in the config using whatever entry supported by the NeuromMorpho API (see https://neuromorpho.org/apiReference.html). For your specific case I think you need this:

[
    {
        "brain_region": "CA3",
        "species": "mouse",
        "cell_type": "pyramidal",
        "archive": "Castanho_Oliveira",
        "nb_morphologies": 5
    }
]
adrien-berchet commented 11 months ago

how should i generate the json file? Sometimes i want logical operations like OR or AND statements to get synonymous annotations or advanced filtering for fields like brain_region and cell_type.

Ah and I forgot to answer this. AFAIK, the API of NeuroMorpho does not support OR operator, so the queries can only use (implicitly) the AND operator.

adrien-berchet commented 10 months ago

Hi @KeremKurban I opened #127 to improve the doc but NeuroMorpho is down for now (and should be for several weeks... :-/), so I will merge it only after it is back online.