{"id":18964117,"url":"https://github.com/janeliascicomp/neuronbridge-services","last_synced_at":"2025-07-04T10:04:53.742Z","repository":{"id":38764751,"uuid":"260239328","full_name":"JaneliaSciComp/neuronbridge-services","owner":"JaneliaSciComp","description":"AWS Services for NeuronBridge","archived":false,"fork":false,"pushed_at":"2025-05-27T18:46:03.000Z","size":5511,"stargazers_count":2,"open_issues_count":19,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-27T19:43:04.944Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JaneliaSciComp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2020-04-30T14:49:04.000Z","updated_at":"2025-02-21T13:46:08.000Z","dependencies_parsed_at":"2024-03-12T17:30:43.058Z","dependency_job_id":"a6edec22-d7d7-437b-bb24-b8475de36432","html_url":"https://github.com/JaneliaSciComp/neuronbridge-services","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/JaneliaSciComp/neuronbridge-services","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaneliaSciComp%2Fneuronbridge-services","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaneliaSciComp%2Fneuronbridge-services/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaneliaSciComp%2Fneuronbridge-services/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaneliaSciComp%2Fneuronbridge-services/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JaneliaSciComp","download_url":"https://codeload.github.com/JaneliaSciComp/neuronbridge-services/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JaneliaSciComp%2Fneuronbridge-services/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263489674,"owners_count":23474526,"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-11-08T14:22:52.952Z","updated_at":"2025-07-04T10:04:53.718Z","avatar_url":"https://github.com/JaneliaSciComp.png","language":"JavaScript","readme":"# NeuronBridge backend services\n\n[![DOI](https://zenodo.org/badge/260239328.svg)](https://zenodo.org/badge/latestdoi/260239328)\n[![CircleCI](https://circleci.com/gh/JaneliaSciComp/neuronbridge-services.svg?style=svg)](https://circleci.com/gh/JaneliaSciComp/neuronbridge-services)\n\n## Deployment\n\nAs a prerequisite, you need to have the [AWS CLI](https://aws.amazon.com/cli/) installed and configured with proper AWS credentials.\n\n### Deploy NeuronBridge shared VPC\nThe VPC deployment is a one time deployment for ALL deploy environments, no matter whether they are DEV, PROD, TEST, VAL and so on. This will create a VPC that will be shared by all alignment jobs so be careful not to remove it because if you do you will have to redeploy all align environments.\nTo deploy:\n```\ncd vpc\nnpm install\nnpm run sls -- deploy\n```\nNotice that stage is not needed because it will deploy to a 'shared' stage ('janelia-neuronbridge-vpc-shared')\n\n### Deploy Burst Compute framework\n\nFirst, follow the instructions at [JaneliaSciComp/burst-compute](https://github.com/JaneliaSciComp/burst-compute) to deploy the framework. \n\n### Deploy Alignment Service\n\nThe NeuronBridge alignment service requires an AMI instance preconfigured with ECS and with all required volumes mounted as expected by the alignment batch job.\n\nTo create the AMI use these steps:\n* start an [Amazon ECS-optimized Amazon Linux AMI](https://aws.amazon.com/marketplace/search/results?x=0\u0026y=0\u0026searchTerms=Amazon+ECS-Optimized+Amazon+Linux+AMI\u0026page=1\u0026ref_=nav_search_box).\n\n* start the EC2 instance\n* run the following commands that mount the expected volumes:\n\n```\nsudo yum -y update\nsudo yum install -y fuse-devel\nsudo mkfs -t ext4 /dev/xvdb\nsudo mkdir /scratch_volume\nsudo echo -e '/dev/xvdb\\t/scratch_volume\\text4\\tdefaults\\t0\\t0' | sudo tee -a /etc/fstab\nsudo mount –a\nsudo stop ecs\nsudo rm -rf /var/lib/ecs/data/ecs_agent_data.json\n```\n* save an image from the running EC2 instance\n\nOnce the AMI instance ID is available make sure you set the proper AMI instance in align/serverless.yml.\nTo deploy:\n```\ncd align\nnpm install\nnpm run sls -- deploy -s dev\n```\n\nThe command above will create the compute environment, the job definition and the job queue.\n\n### Deploy Color Depth Search Service\n\nIn order to create the color depth search lambdas run:\n\n```\ncd search\nnpm install\nnpm run sls -- deploy -s dev\n```\n\nTo deploy with different search limits:\n```\nPER_DAY_SEARCH_LIMITS=2 CONCURRENT_SEARCH_LIMITS=2 npm run sls -- deploy -s cgdev\n```\nNote: a negative value for a limit means unlimited.\n\nTo update a single function, once you have a deployed stack\n\n```\nnpm run sls -- deploy function -f \u003cfunction_name\u003e -s dev\n```\n\n### Alignment Parameters\n* force_voxel_size - if true it uses resolution parameters provided by the user\n* xy_resolution\n* z_resolution\n* reference_channel\n* number of slots (not exposed to the user)\n\n\n### Color Depth Search Parameters:\n\n* dataThreshold - default: 100\n* maskThreshold - default: 100\n* pixColorFluctuation (zSliceRange) - default: 2\n* xyShift - default: 2\n* mirrorMask - default: true\n* minMatchingPixRatio - default: 2\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaneliascicomp%2Fneuronbridge-services","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaneliascicomp%2Fneuronbridge-services","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaneliascicomp%2Fneuronbridge-services/lists"}