You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add baseimage dependencies and enhance Docker images
- Create docker/requirements/baseimage.txt with general utilities:
miniwdl, udocker, awscli, google-cloud-storage, csvkit, jq,
parallel, pigz, unzip, zstd
- Move general utilities from core.txt to baseimage.txt
- Add seaborn to core.txt for data visualization
- Update Dockerfile.baseimage to install from baseimage.txt
- Set MINIWDL__SCHEDULER__CONTAINER_BACKEND=udocker env var
- Update Dockerfile.core to install baseimage.txt + core.txt together
- Add Python dependencies to pyproject.toml for pip-based installs
- Update AGENT_CONTEXT.md with learnings (udocker quirks, qsv x86-only)
Note: qsv excluded as it lacks ARM64 support
Co-Authored-By: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: AGENT_CONTEXT.md
+20-1Lines changed: 20 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -361,6 +361,16 @@ For tools without ARM64 support (novoalign, mvicuna):
361
361
362
362
These packages are in bioconda but only have x86_64 builds. Use exact versions (e.g., `novoalign=3.09.04`, `mvicuna=1.0`) since newer versions may not exist.
363
363
364
+
### udocker Quirks
365
+
366
+
- udocker refuses to run as root by default. Use `--allow-root` flag for Docker build verification
367
+
- In Dockerfile, use `udocker --allow-root version` to verify installation
368
+
- The `MINIWDL__SCHEDULER__CONTAINER_BACKEND=udocker` environment variable tells miniwdl to use udocker
369
+
370
+
### qsv is x86-Only
371
+
372
+
The `qsv` package (fast CSV tool) is only available for linux-64, osx-64, win-64 - no ARM64 build. For multi-arch Docker builds, either skip it or add to an x86-only requirements file.
373
+
364
374
### PrexistingUnixCommand is the Only InstallMethod
365
375
366
376
Since all tools are installed via conda, `PrexistingUnixCommand` is the only `InstallMethod` subclass needed. It just checks if the tool exists in PATH.
@@ -418,7 +428,7 @@ When working on this migration:
418
428
## Next Steps
419
429
420
430
1. Read `MONOREPO_IMPLEMENTATION_PLAN.md` for the detailed task list
421
-
2. **Phase 2**: Migrate viral-core with git history preservation using `git filter-repo`
431
+
2. **Phase 3a**: Migrate viral-assemble with git history preservation using `git filter-repo`
422
432
3. Work through phases sequentially
423
433
4. Verify each phase before moving to the next
424
434
@@ -454,6 +464,15 @@ When working on this migration:
454
464
- Deleted legacy viral-core CI workflow (build.yml) that was accidentally merged with git history
455
465
- Docker build verified with all module imports working
456
466
467
+
### Baseimage Enhancements (Post-Phase 2)
468
+
- Created `docker/requirements/baseimage.txt` with general utilities
0 commit comments