如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
cwl-WES(前称:WES-ELIXIR)是一个实现全球基因组与健康联盟(GA4GH)工作流执行服务(WES)API规范的微服务,用于执行以Common Workflow Language(CWL)编写的工作流。作为ELIXIR Cloud & AAI项目的核心服务,它允许客户端/用户通过GA4GH任务执行服务(TES)兼容的后端(如TESK或Funnel)在云中执行CWL工作流。
适用于需要在云中标准化执行和管理CWL工作流的场景,主要用户包括:
部署docker-compose版本需满足:
上述为开发/测试使用版本,较新版本可能兼容,如有问题请反馈
1. 环境准备
创建数据目录及子目录:
bashmkdir -p data/cwl_wes/db data/cwl_wes/output data/cwl_wes/tmp
克隆代码仓库:
bashgit clone https://github.com/elixir-cloud-aai/cwl-WES.git app
进入应用目录:
bashcd app
2. 配置覆盖(可选)
通过应用配置文件
bashvi cwl_wes/config/app_config.yaml
通过环境变量
部分配置可通过环境变量覆盖:
bashexport <ENV_VAR_NAME>=<VALUE>
可用环境变量列表:
| 变量名 | 描述 |
|---|---|
| MONGO_HOST | MongoDB主机端点 |
| MONGO_PORT | MongoDB服务端口 |
| MONGO_DBNAME | MongoDB数据库名称 |
| MONGO_USERNAME | MongoDB客户端用户名 |
| MONGO_PASSWORD | MongoDB客户端密码 |
| RABBIT_HOST | RabbitMQ主机端点 |
| RABBIT_PORT | RabbitMQ服务端口 |
3. 构建与部署
以 detached/后台模式构建并运行服务:
bashdocker-compose up -d --build
4. FTP凭证配置
创建.netrc文件存储FTP服务器访问凭证:
bashcat << EOF > .netrc machine <HOST> login <USERNAME> password <PASSWORD> EOF
需将
<HOST>、<USERNAME>和<PASSWORD>替换为实际值。测试环境可创建空文件:touch .netrc
将凭证文件复制到运行中的worker容器:
bashfor cont in $(docker ps --all | grep cwl-wes_wes-worker | cut -f1 -d" "); do docker cp .netrc "${cont}:/tmp/user" done
访问Swagger UI
bashfirefox http://localhost:7777/ga4gh/wes/v1/ui
提交测试工作流示例
通过POST /runs端点提交工作流,示例参数:
{"input":{"class":"File","path":"ftp://ftp-private.ebi.ac.uk/upload/foivos/test.txt"}}CWLv1.0https://github.com/uniqueg/cwl-example-workflows/blob/master/hashsplitter-workflow.cwl使用curl访问API
查询所有运行:
consolecurl -X GET \ --header 'Accept: application/json' \ 'http://localhost:7777/ga4gh/wes/v1/runs'
启用JWT授权
修改应用配置文件cwl_wes/config/app_config.yaml:
yaml# 安全设置 security: authorization_required: True
获取访问令牌
需获取有效的JWT Bearer令牌,推荐使用ELIXIR AAI签发的令牌。如需访问ELIXIR测试部署的计算资源,需加入特定ELIXIR用户组(申请地址:[***]
使用授权访问
通过curl
consolecurl -X GET \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <YOUR_TOKEN>' \ 'http://localhost:7777/ga4gh/wes/v1/runs'
通过Swagger UI
点击界面顶部的Authorize按钮,在api_key字段输入令牌,格式为Bearer <YOUR_TOKEN>。
本项目为社区驱动,欢迎通过错误报告、功能请求、讨论或代码修复等形式贡献。详情请参考ELIXIR Cloud & AAI组织的https://github.com/elixir-cloud-aai/elixir-cloud-aai/blob/dev/CONTRIBUTING.md%EF%BC%8C%E5%B9%B6%E9%81%B5%E5%AE%88https://github.com/elixir-cloud-aai/elixir-cloud-aai/blob/dev/CODE_OF_CONDUCT.md%E3%80%82
当前处于beta开发阶段,公开测试部署可通过顶部的网站徽章访问。更多测试部署信息见https://github.com/elixir-cloud-aai/elixir-cloud-aai/blob/dev/resources/resources.md%E3%80%82%E6%9C%AA%E6%9D%A5%E5%B0%86%E9%87%87%E7%94%A8%E8%AF%AD%E4%B9%89%E5%8C%96%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6%EF%BC%8C%E4%B8%8EWES%E8%A7%84%E8%8C%83%E7%89%88%E6%9C%AC%E5%90%8C%E6%AD%A5%E3%80%82
本项目采用Apache License 2.0许可证。
作为ELIXIR Cloud & AAI项目的一部分,可通过项目https://github.com/elixir-cloud-aai/elixir-cloud-aai%E8%8E%B7%E5%8F%96%E8%81%94%E7%B3%BB%E4%BF%A1%E6%81%AF%E3%80%82%E5%92%A8%E8%AF%A2%E6%97%B6%E8%AF%B7%E6%B3%A8%E6%98%8E%E6%9C%8D%E5%8A%A1%E5%90%8D%E7%A7%B0%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务