{"id":22632117,"url":"https://github.com/alleninstitute/all-active-workflow","last_synced_at":"2025-04-11T20:10:46.996Z","repository":{"id":145220970,"uuid":"142601765","full_name":"AllenInstitute/All-active-Workflow","owner":"AllenInstitute","description":"Creating the code base for All-active Model generation written on top of Bluepyopt","archived":false,"fork":false,"pushed_at":"2020-12-01T01:07:35.000Z","size":153583,"stargazers_count":16,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T16:08:06.724Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AllenInstitute.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-27T16:44:48.000Z","updated_at":"2025-03-11T01:19:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"a2c3bbdc-3c02-4f04-a742-e50909d951b8","html_url":"https://github.com/AllenInstitute/All-active-Workflow","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllenInstitute%2FAll-active-Workflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllenInstitute%2FAll-active-Workflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllenInstitute%2FAll-active-Workflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllenInstitute%2FAll-active-Workflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AllenInstitute","download_url":"https://codeload.github.com/AllenInstitute/All-active-Workflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248473127,"owners_count":21109628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-09T02:16:17.549Z","updated_at":"2025-04-11T20:10:46.987Z","avatar_url":"https://github.com/AllenInstitute.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.com/anirban6908/All-active-Workflow.svg?token=93Twb9jDYFzVNoM9gSjr\u0026branch=master)](https://travis-ci.com/anirban6908/All-active-Workflow)\r\n[![Generic badge](https://img.shields.io/badge/License-Allen_Institute-yellow.svg)](https://alleninstitute.org/legal/terms-use/)\r\n\r\n\r\n# Workflow for the generation and evaluation of bio-realistic, conductance-based single-neuron models\r\nCode base for all-active model generation, evaluation and analysis (main engine: bluepyopt). \r\n\r\n* Method developed and present in Nandi et al. (2020): https://www.biorxiv.org/content/10.1101/2020.04.09.030239v1\r\n\r\n* Main developers: Ani Nandi, Werner van Geit, Tom Chartrand, Anatoly Buchin and Costas A. Anastassiou\r\n\r\n* Genetic algorithm in action: **selection** + **evaluation** + **evolution**\r\n\r\n![alt text](examples/visualization/animations/GA_evolution_animation/movie.gif \"all-active model optimization\") \r\n\r\n## Dependencies\r\n\r\n* Python 3.5+\r\n* Neuron 7.5 (compiled with Python support)\r\n* BluePyOpt\r\n* eFEL\r\n* AllenSDK\r\n* NeuroM\r\n* Pandas\r\n* Seaborn\r\n\r\n\r\n## Installation\r\n```bash\r\npip install git+https://github.com/AllenInstitute/All-active-Workflow # install directly from the repository\r\n```\r\nor\r\n```bash\r\ngit clone https://github.com/AllenInstitute/All-active-Workflow # clone repository from github\r\ncd All-active-Workflow\r\npip install -e . # install in editable mode\r\n```\r\n\r\n\r\n## Quickstart: Launching optimization jobs\r\nIn a Unix environment :\r\n```bash\r\n$ source activate conda-env # conda environment with all dependencies\r\n$ launch_optimjob --help # Look at the options\r\n$ launch_optimjob --input_json job_config.json\r\n```\r\n\r\n* Configurable staged optimization \r\n    \u003cdetails\u003e \u003csummary\u003ejob_config.json\u003c/summary\u003e\r\n\r\n    ```json\r\n    {\r\n        \"cty_config\": {\r\n            \"cell_id\": \"483101699\"\r\n        },\r\n        \"job_config\": {\r\n            \"highlevel_jobconfig\": {\r\n                \"conda_env\": \"ateam_opt\",\r\n                \"axon_type\": \"stub_axon\",\r\n                \"data_source\": \"web\",\r\n                \"ephys_dir\": \"ephys_data\",\r\n                \"non_standard_nwb\": false,\r\n                \"feature_stimtypes\": [\r\n                    \"Long Square\"\r\n                ],\r\n                \"feature_names_path\": \"feature_set_all.json\",\r\n                \"compiled_modfiles_dir\": \"x86_64\",\r\n                \"job_dir\": \"483101699_benchmark_timeout\"\r\n            },\r\n            \"stage_jobconfig\": [\r\n                {\r\n                    \"stage_name\": \"Stage0\",\r\n                    \"stage_stimtypes\": [\r\n                        \"Long Square\"\r\n                    ],\r\n                    \"stage_features\": \"feature_set_stage0.json\",\r\n                    \"stage_parameters\": \"param_bounds_stage0.json\",\r\n                    \"filter_rule\": \"filter_feat_proto_passive\",\r\n                    \"offspring_size\": 512,\r\n                    \"max_ngen\": 50,\r\n                    \"optim_config\":{\r\n                        \"nengines\": 256,\r\n                        \"nnodes\": 16,\r\n                        \"qos\": \"celltypes\",\r\n                        \"nprocs\": 16,\r\n                        \"error_stream\": \"job.err\",\r\n                        \"output_stream\": \"job.out\",\r\n                        \"jobmem\": \"100g\",\r\n                        \"jobtime\": \"5:00:00\",\r\n                        \"ipyparallel\": true,\r\n                        \"ipyparallel_db\": \"sqlitedb\",\r\n                        \"main_script\": \"Optim_Main.py\"\r\n                    },\r\n                    \"analysis_config\":{\r\n                        \"main_script\": \"analyze_stagejob.py\"\r\n                    },\r\n                    \"seed\": [\r\n                        1\r\n                    ]\r\n                },\r\n                {\r\n                    \"stage_name\": \"Stage1\",\r\n                    \"stage_stimtypes\": [\r\n                        \"Long Square\"\r\n                    ],\r\n                    \"stage_features\": \"feature_set_stage1.json\",\r\n                    \"stage_parameters\": \"param_bounds_stage1.json\",\r\n                    \"filter_rule\": \"filter_feat_proto_passive\",\r\n                    \"offspring_size\": 512,\r\n                    \"max_ngen\": 50,\r\n                    \"optim_config\":{\r\n                        \"nengines\": 256,\r\n                        \"nnodes\": 16,\r\n                        \"qos\": \"celltypes\",\r\n                        \"nprocs\": 16,\r\n                        \"error_stream\": \"job.err\",\r\n                        \"output_stream\": \"job.out\",\r\n                        \"jobmem\": \"100g\",\r\n                        \"jobtime\": \"5:00:00\",\r\n                        \"ipyparallel\": true,\r\n                        \"ipyparallel_db\": \"sqlitedb\",\r\n                        \"main_script\": \"Optim_Main.py\"\r\n                    },\r\n                    \"analysis_config\":{\r\n                        \"main_script\": \"analyze_stagejob.py\"\r\n                    },\r\n                    \"seed\": [\r\n                        1\r\n                    ]\r\n                },\r\n                {\r\n                    \"stage_name\": \"Stage2\",\r\n                    \"stage_stimtypes\": [\r\n                        \"Long Square\"\r\n                    ],\r\n                    \"stage_features\": \"feature_set_stage2.json\",\r\n                    \"stage_parameters\": \"param_bounds_stage2_mouse_spiny.json\",\r\n                    \"filter_rule\": \"filter_feat_proto_active\",\r\n                    \"AP_initiation_zone\": \"axon\",\r\n                    \"offspring_size\": 512,\r\n                    \"cp_backup_dir\": \"checkpoints_backup\",\r\n                    \"max_ngen\": 200,\r\n                    \"optim_config\":{\r\n                        \"nengines\": 256,\r\n                        \"nnodes\": 16,\r\n                        \"qos\": \"celltypes\",\r\n                        \"nprocs\": 16,\r\n                        \"error_stream\": \"job.err\",\r\n                        \"output_stream\": \"job.out\",\r\n                        \"jobmem\": \"150g\",\r\n                        \"jobtime\": \"12:00:00\",\r\n                        \"ipyparallel\": true,\r\n                        \"ipyparallel_db\": \"sqlitedb\",\r\n                        \"main_script\": \"Optim_Main.py\"\r\n                    },\r\n                    \"analysis_config\":{\r\n                        \"main_script\": \"analyze_stagejob.py\",\r\n                        \"ipyparallel\": true,\r\n                        \"ipyparallel_db\": \"nodb\",\r\n                        \"error_stream\": \"analysis.err\",\r\n                        \"output_stream\": \"analysis.out\",\r\n                        \"nengines\": 40,\r\n                        \"nnodes\": 4,\r\n                        \"nprocs\": 10,\r\n                        \"jobtime\": \"10:00:00\",\r\n                        \"jobmem\": \"100g\",\r\n                        \"qos\": \"celltypes\"\r\n                    },\r\n                    \"seed\": [\r\n                        1,\r\n                        2,\r\n                        3,\r\n                        4\r\n                    ],\r\n                    \"run_hof_analysis\": true,\r\n                    \"run_peri_comparison\": false,\r\n                    \"depol_block_check\": true,\r\n                    \"add_fi_kink\": true,\r\n                    \"calc_model_perf\": true,\r\n                    \"model_postprocess\": true,\r\n                    \"calc_time_statistics\": true,\r\n                    \"timeout\": 300,\r\n                    \"hoc_export\": true\r\n                }\r\n            ]\r\n        }\r\n    }\r\n\r\n    ```\r\n    \u003c/details\u003e\r\n\r\n## HPC usage support\r\nInstructions are included to run these compute intensive jobs on 4 different architectures (Allen Institute HPC cluster, NERSC, BBP5 and AWS).\r\n\r\n\r\n## Level of support\r\n\r\nWe are planning on occasional updating this tool with no fixed schedule. Community involvement is encouraged through both issues and pull requests.\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falleninstitute%2Fall-active-workflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falleninstitute%2Fall-active-workflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falleninstitute%2Fall-active-workflow/lists"}