- Add filter to skip .zip and .tar.gz files when creating result archive
- Update CRISPR feature with CASFinder dependencies (hmmer, blast, vmatch, etc.)
- Add install-casfinder task for macsydata installation
- Remove obsolete CRISPR test files
Co-Authored-By: Claude <noreply@anthropic.com>
- Docker:
- Explicitly install pixi environments (digger, pipeline, webbackend) during build to prevent runtime network/DNS failures.
- Optimize pnpm config (copy method) to fix EAGAIN errors.
- Backend:
- Refactor ZIP bundling: use flat semantic directories (1_Toxin_Mining, etc.).
- Fix "nested zip" issue by cleaning existing archives before bundling.
- Exclude raw 'context' directory from final download.
- Frontend:
- Update TutorialView documentation to match new result structure.
- Improve TaskMonitor progress bar precision (1 decimal place).
- Update i18n (en/zh) for new file descriptions.
Co-Authored-By: Claude <noreply@anthropic.com>
- Backend: Refactored tasks.py to directly invoke run_single_fna_pipeline.py for consistency.
- Backend: Changed output format to ZIP and added auto-cleanup of intermediate files.
- Backend: Fixed language parameter passing in API and tasks.
- Frontend: Removed CRISPR Fusion UI elements from Submit and Monitor views.
- Frontend: Implemented simulated progress bar for better UX.
- Frontend: Restored One-click load button and added result file structure documentation.
- Docker: Fixed critical Restarting loop by removing incorrect image directive in docker-compose.yml.
- Docker: Optimized Dockerfile to correct .pixi environment path issues and prevent accidental deletion of frontend assets.
- Updated AGENTS.md and README.md to reflect:
- Removal of motia-backend
- Moving bttoxin_digger_v5_repro to tools/reproduction/
- Added crispr_cas to structure
- Moved bttoxin_digger_v5_repro to tools/reproduction/bttoxin_digger
- Updated docker-compose.yml to point to the new location
- This declutters the root directory while preserving the reproduction environment
- Added Dockerfile and docker-compose.yml for BtToxin_Digger
- Integrated external v5 BLAST database into the container image
- Updated main docker-compose.yml to include the digger service
- Updated documentation with database update instructions
- Replace 'traefik-network' with 'frontend' in docker-compose.traefik.yml
- Replace 'traefik-network' with 'frontend' in switch-to-traefik.sh
- Replace 'your-main-network' with 'frontend' in DOCKER_DEPLOYMENT.md examples
- Ensure consistency across Docker configuration and documentation
Co-Authored-By: Claude <noreply@anthropic.com>
- SKILL.md: Complete documentation for Ralph automation
- scripts/status.sh: Check project and Ralph status
- scripts/start.sh: Start Ralph loop with options
- scripts/commit.sh: Git commit helper
- README.md: Skill usage guide
Co-Authored-By: Claude <noreply@anthropic.com>
- Install vue-i18n and configure locales (zh/en)
- Add complete navigation bar with 5 items: Home, About, Submit, Status, Tool Guide
- Add language switcher (中文/EN) with localStorage persistence
- Create HomeView with hero section, features, and quick links
- Create AboutView with features and usage guide
- Create ToolInfoView explaining BtToxin_Shoter principles (no formulas, no Digger)
- Update TaskSubmitForm: single file upload, genome/protein toggle, tooltips
- Update TaskMonitorView: i18n, queue status display
- Add queue_position field to TaskStatusResponse type
Co-Authored-By: Claude <noreply@anthropic.com>
- Add property-based tests for PixiRunner
- Add HAN055.fna test data file
- Update README with pixi installation and usage guide
- Update .gitignore for pixi and test artifacts
- Update CLI to remove Docker-related arguments
- Add pixi.toml with digger and pipeline environments
- Implement PixiRunner class replacing DockerContainerManager
- Add run_digger_stage.py for standalone digger execution
- Update run_single_fna_pipeline.py to use PixiRunner
- Remove docker dependency from pyproject.toml
- Delete docker_client.py (no longer needed)
BREAKING CHANGE: Docker is no longer required. Use 'pixi install' instead.