elixircloud/cwl-wescwl-WES(前称:WES-ELIXIR)是一个实现全球基因组与健康联盟(GA4GH)工作流执行服务(WES)API规范的微服务,用于执行以Common Workflow Language(CWL)编写的工作流。作为ELIXIR Cloud & AAI项目的核心服务,它允许客户端/用户通过GA4GH任务执行服务(TES)兼容的后端(如TESK或Funnel)在云中执行CWL工作流。
适用于需要在云中标准化执行和管理CWL工作流的场景,主要用户包括:
部署docker-compose版本需满足:
上述为开发/测试使用版本,较新版本可能兼容,如有问题请反馈
创建数据目录及子目录:
bashmkdir -p data/cwl_wes/db data/cwl_wes/output data/cwl_wes/tmp
克隆代码仓库:
bashgit clone [***] app
进入应用目录:
bashcd app
通过应用配置文件
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服务端口 |
以 detached/后台模式构建并运行服务:
bashdocker-compose up -d --build
创建.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
bashfirefox http://localhost:7777/ga4gh/wes/v1/ui
通过POST /runs端点提交工作流,示例参数:
{"input":{"class":"File","path":"[***]"}}CWLv1.0[***]查询所有运行:
consolecurl -X GET \ --header 'Accept: application/json' \ 'http://localhost:7777/ga4gh/wes/v1/runs'
修改应用配置文件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组织的贡献指南,并遵守行为准则。
当前处于beta开发阶段,公开测试部署可通过顶部的网站徽章访问。更多测试部署信息见ELIXIR Cloud & AAI资源列表。未来将采用语义化版本控制,与WES规范版本同步。
本项目采用Apache License 2.0许可证。
作为ELIXIR Cloud & AAI项目的一部分,可通过项目GitHub组织获取联系信息。咨询时请注明服务名称。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务