https://github.com/sorgerlab/cycif-benchmarking-docker-ashlar
Docker build for benchmarking ASHLAR for AWS Batch
https://github.com/sorgerlab/cycif-benchmarking-docker-ashlar
aws benchmarking cycif docker
Last synced: 2 months ago
JSON representation
Docker build for benchmarking ASHLAR for AWS Batch
- Host: GitHub
- URL: https://github.com/sorgerlab/cycif-benchmarking-docker-ashlar
- Owner: sorgerlab
- License: mit
- Created: 2018-04-11T17:44:22.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-04-17T17:46:47.000Z (about 8 years ago)
- Last Synced: 2025-02-15T08:34:58.265Z (over 1 year ago)
- Topics: aws, benchmarking, cycif, docker
- Language: Python
- Size: 3.91 KB
- Stars: 1
- Watchers: 7
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CycIF Benchmarking - ASHLAR
This Docker image is designed for use within AWS BATCH.
## Job configuration YAML
A YAML file containing the configuration for a job must be provided to the
container. Each configuration has the form:
```yaml
inputs:
- s3://example/dataset1/raw/cycle1.rcpnl
- s3://example/dataset1/raw/cycle2.rcpnl
output: s3://example/dataset1/ashlar/
arguments:
- /mnt/input/*.rcpnl
```
All `inputs` are copied into the `/mnt/input` directory in the Docker container.
If an input is suffixed with a `/` it is recursively copied to `/mnt/input` so
that the relative directory structure is maintained.
`arguments` is passed directly to `ashlar` so a series of options can be
specified as a list. No default is provided to `ashlar` for the required
`filepaths` positional argument so this must be specified.
This configuration file's location in S3 is passed to the docker container as
the only argument or can alternatively be passed as a string in the environment
variable `CONFIG`.
## Local usage
This image can be used locally as long as appropriate environment variables
are set when instantiating the docker container.
```bash
# Passing the configuration file's location in S3
docker run \
-e AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
-e AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
-e AWS_SESSION_TOKEN="${AWS_SESSION_TOKEN}" \
cycif-benchmarking-ashlar:latest \
s3://example/config.yml
# Passing the configuration as an environment variable
docker run \
-e AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
-e AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
-e AWS_SESSION_TOKEN="${AWS_SESSION_TOKEN}" \
-e "CONFIG=$(