Giter Club home page Giter Club logo

blue-cwl's People

Contributors

eleftherioszisis avatar gianlucaficarelli avatar heerener avatar mgeplf avatar

Watchers

 avatar  avatar  avatar  avatar

blue-cwl's Issues

Create mtype taxonomy for placement from KG mtype resources

The mtype taxonomy is currently hard-coded here:

tokens = {
"DAC": ("INT", "INH"),
"HAC": ("INT", "INH"),
"LAC": ("INT", "INH"),
"NGC-DA": ("INT", "INH"),
"NGC-SA": ("INT", "INH"),
"SAC": ("INT", "INH"),
"BP": ("INT", "INH"),
"BTC": ("INT", "INH"),
"ChC": ("INT", "INH"),
"DBC": ("INT", "INH"),
"LBC": ("INT", "INH"),
"MC": ("INT", "INH"),
"NBC": ("INT", "INH"),
"NGC": ("INT", "INH"),
"SBC": ("INT", "INH"),
"GIN_mtype": ("INT", "INH"),
"TPC": ("PYR", "EXC"),
"TPC:A": ("PYR", "EXC"),
"TPC:B": ("PYR", "EXC"),
"TPC:C": ("PYR", "EXC"),
"UPC": ("PYR", "EXC"),
"BPC": ("PYR", "EXC"),
"IPC": ("PYR", "EXC"),
"SSC": ("INT", "EXC"),
"HPC": ("PYR", "EXC"),
"GEN_mtype": ("PYR", "EXC"),
}

However, with new mtypes, a dynamic way must be added to fetch that information from nexus.

There are two properties needed to be retrieved from mtype resources:

  1. If the mtype is excitatory or inhibitory (EXC/INH)
  2. If the mtype is pyramidal cell or an interneuron (PYR/INT)

These two properties can be found in the documentation as morph_class and synapse_class respectively:
https://sonata-extension.readthedocs.io/en/latest/sonata_tech.html#fields-for-biophysically-detailed-neurons-model-type-biophysical

Current mtype composition from the latest atlas:

        mtype                                                             mtype_url
0   GEN_mtype  https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronMType
1   GIN_mtype  https://bbp.epfl.ch/ontologies/core/bmo/GenericInhibitoryNeuronMType
2      L1_DAC                              http://uri.interlex.org/base/ilx_0383192
3      L1_HAC                              http://uri.interlex.org/base/ilx_0383193
4      L1_LAC                              http://uri.interlex.org/base/ilx_0383194
5   L1_NGC-DA                              http://uri.interlex.org/base/ilx_0383195
6   L1_NGC-SA                              http://uri.interlex.org/base/ilx_0383196
7      L1_SAC                              http://uri.interlex.org/base/ilx_0383197
8      L23_BP                              http://uri.interlex.org/base/ilx_0383198
9     L23_BTC                              http://uri.interlex.org/base/ilx_0383199
10    L23_ChC                              http://uri.interlex.org/base/ilx_0383200
11    L23_DBC                              http://uri.interlex.org/base/ilx_0383201
12    L23_LBC                              http://uri.interlex.org/base/ilx_0383202
13     L23_MC                              http://uri.interlex.org/base/ilx_0383203
14    L23_NBC                              http://uri.interlex.org/base/ilx_0383204
15    L23_NGC                              http://uri.interlex.org/base/ilx_0383205
16    L23_SBC                              http://uri.interlex.org/base/ilx_0383206
17     L2_IPC                              http://uri.interlex.org/base/ilx_0383207
18   L2_TPC:A                              http://uri.interlex.org/base/ilx_0383208
19   L2_TPC:B                              http://uri.interlex.org/base/ilx_0381367
20   L3_TPC:A                              http://uri.interlex.org/base/ilx_0381366
21   L3_TPC:C       http://bbp.epfl.ch/neurosciencegraph/ontologies/mtypes/L3_TPC_C
22      L4_BP                              http://uri.interlex.org/base/ilx_0383209
23     L4_BTC                              http://uri.interlex.org/base/ilx_0383210
24     L4_ChC                              http://uri.interlex.org/base/ilx_0383211
25     L4_DBC                              http://uri.interlex.org/base/ilx_0383212
26     L4_LBC                              http://uri.interlex.org/base/ilx_0383213
27      L4_MC                              http://uri.interlex.org/base/ilx_0383214
28     L4_NBC                              http://uri.interlex.org/base/ilx_0383215
29     L4_NGC                              http://uri.interlex.org/base/ilx_0383216
30     L4_SBC                              http://uri.interlex.org/base/ilx_0383217
31     L4_SSC                              http://uri.interlex.org/base/ilx_0383218
32     L4_TPC                              http://uri.interlex.org/base/ilx_0383219
33     L4_UPC                              http://uri.interlex.org/base/ilx_0383220
34      L5_BP                              http://uri.interlex.org/base/ilx_0383221
35     L5_BTC                              http://uri.interlex.org/base/ilx_0383222
36     L5_ChC                              http://uri.interlex.org/base/ilx_0383223
37     L5_DBC                              http://uri.interlex.org/base/ilx_0383224
38     L5_LBC                              http://uri.interlex.org/base/ilx_0383225
39      L5_MC                              http://uri.interlex.org/base/ilx_0381369
40     L5_NBC                              http://uri.interlex.org/base/ilx_0383226
41     L5_NGC                              http://uri.interlex.org/base/ilx_0383239
42     L5_SBC                              http://uri.interlex.org/base/ilx_0383227
43   L5_TPC:A                              http://uri.interlex.org/base/ilx_0381365
44   L5_TPC:B                              http://uri.interlex.org/base/ilx_0381364
45   L5_TPC:C                              http://uri.interlex.org/base/ilx_0381370
46     L5_UPC                              http://uri.interlex.org/base/ilx_0381371
47      L6_BP                              http://uri.interlex.org/base/ilx_0383240
48     L6_BPC                              http://uri.interlex.org/base/ilx_0383228
49     L6_BTC                              http://uri.interlex.org/base/ilx_0383229
50     L6_ChC                              http://uri.interlex.org/base/ilx_0383230
51     L6_DBC                              http://uri.interlex.org/base/ilx_0383231
52     L6_HPC                              http://uri.interlex.org/base/ilx_0383232
53     L6_IPC                              http://uri.interlex.org/base/ilx_0381373
54     L6_LBC                              http://uri.interlex.org/base/ilx_0383233
55      L6_MC                              http://uri.interlex.org/base/ilx_0381374
56     L6_NBC                              http://uri.interlex.org/base/ilx_0383234
57     L6_NGC                              http://uri.interlex.org/base/ilx_0383235
58     L6_SBC                              http://uri.interlex.org/base/ilx_0383236
59   L6_TPC:A                              http://uri.interlex.org/base/ilx_0381375
60   L6_TPC:C                              http://uri.interlex.org/base/ilx_0381376
61     L6_UPC                              http://uri.interlex.org/base/ilx_0381377
62      Rt_RC                              http://uri.interlex.org/base/ilx_0738229
63     VPL_IN                              http://uri.interlex.org/base/ilx_0738235

Convert me-model generator CommandLIneTool into a Workflow

me-model generator is currently defined as a sinlge CommandLineTool defined here: https://github.com/BlueBrain/blue-cwl/blob/main/src/blue_cwl/generators/memodel/neurons_memodel/v2/definition.cwl

However, this required mixing spack modules, a feature that is not easily translated to using singularity images.

Therefore, the generator needs to be converted into a workflow where its step corresponds to one image/execution command.

It is also an opportunity to try the lazy loading of mechanisms in emodel-generalisation to avoid linking the output of one step to the environment of the next and create a standard input/output relationship between steps.

Support cwl File contents loading in parameter references

In certain cases the output to one file needs to be loaded and passed as a string argument to a task downstream.

For example stage below converts the region id to its respective acronym and saves it as a region_file txt. init_cells needs to load the contents of that file, i.e. the acronym to pass it as a command argument.

steps:
  - id: stage
    run: ./stage.cwl
    in:
      region_id: region_id
    out:
      - region_file
  
  - id: init_cells
    run: ./init_cells
    in:
      region:
        source: stage/region_file
        valueFrom: $(self.contents)
    out:
      - nodes_file

See the spec for more details: https://www.commonwl.org/v1.1/Workflow.html#File

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.