
wishartlab/phastest-docker这是一个多容器PHASTEST集群。Compose文件创建命名卷,用于持久化存储MySQL数据文件以及Slurm状态和日志目录。多容器PHASTEST处理查询的速度比单容器选项更快,但资源消耗也更高。
使用前,请从[***]
Compose文件将运行以下容器:
Compose文件将创建以下命名卷:
wishartlab/phastest-docker镜像可通过Docker Desktop应用拉取,或通过以下命令拉取:
consoledocker pull wishartlab/phastest-docker
或者,在包含Dockerfile的目录中,可通过以下命令本地构建镜像:
consoledocker build -t wishartlab/phastest-docker .
构建Docker镜像可能需要20-30分钟,在M1 MacBook上可能需要长达1小时。因此,建议使用Docker Hub上的可用镜像。
镜像构建完成后,使用docker compose run命令启动容器并立即开始处理查询:
consoledocker compose run phastest -i {genbank|fasta|contig} -a {登录号} -m {注释模式} -s {序列文件名} [选项]...
确认消息后,phastest容器将开始运行。输出将存储在/phastest-app-docker/JOBS/{job_id}目录中。
console-i {genbank|fasta|contig} 指定输入格式。接受的值为'fasta'、'genbank'或'contig'。 若选择'genbank',必须提供-a标志和登录号。 若选择'fasta'或'contig',必须提供-s标志和序列文件名。 -a {登录号} 指定作业的登录号。例如,NC_000907.1、KF030445.1、LZPG00000000.1。 对于WGS序列,应提供主记录的登录号。 -m {lite|deep} 指定注释模式。接受的值为'deep'或'lite'。 若未指定此标志,默认使用'lite'。 'deep'模式使用Prophage数据库和PHAST-BSD细菌数据库。 'lite'模式使用Prophage数据库和Swissprot。 (注意:'deep'模式可能需要显著更长的完成时间。) -s {序列文件名} 原始FASTA序列的路径 - 仅当输入类型设置为'fasta'或'contig'时解析。 具有指定文件名的序列必须存在于`/phastest_inputs`文件夹中。 例如,要运行`test.fna`作业,需将`test.fna`放入`/phastest_inputs`, 并使用如下命令运行:`docker compose run phastest -i fasta -s test.fna ...`。 选项: --yes: 跳过运行PHASTEST作业前的确认消息。 --silent: 静音PHASTEST终端输出。 --phage-only: 仅注释预测的噬菌体区域。默认情况下,会扫描并注释整个基因组。 --single-diamond: 仅对非噬菌体蛋白比对运行单次diamond blastp,而非多进程并行运行。 推荐用于处理能力有限的系统。
要对FASTA/contig序列运行作业,目标序列必须存放于/phastest-docker/phastest_inputs目录中。
运行PHASTEST作业时,请确保输入类型设置为fasta或contig,并在命令中提供包含扩展名(.fna或.fasta)的完整文件名。
consoledocker compose run phastest -i fasta -s seq_test.fna docker compose run phastest -i contig -s contig_test.fna
若输入类型设置为genbank并提供登录号,PHASTEST将自动下载具有指定登录号的记录并扫描噬菌体区域。
consoledocker compose run phastest -i genbank -a KF030445.1 docker compose run phastest -i genbank -a LZPG00000000.1
所有已完成的作业将存储在/phastest-docker/phastest-app-docker/JOBS/{job_id}目录中。job_id为序列文件的基名(对于FASTA或contig输入)或登录号(对于genbank输入)。
可执行docker compose stop命令停止所有容器。停止的容器将在后续docker compose run命令时重启。
在PHASTEST作业运行期间,可随时发送SIGINT(Ctrl+C)终止当前作业。所有计划的slurm作业也将终止,phastest容器将自动退出。
PHASTEST进程终止后,需要手动删除已停止的容器。要删除所有容器和卷,请运行:
consoledocker compose stop docker container prune
或
consoledocker compose down
若要使PHASTEST进程在作业终止后自动停止所有容器,可将docker-entrypoint.sh文件的64-78行替换为以下代码片段,并使用docker build -t phastest-docker .命令重新构建镜像:
console# 容器启动后,子节点将持续运行,直到用户手动停止容器。 # 快捷方便,但如果在slurm作业完成前通过SIGINT(Ctrl+C)终止phastest容器,可能导致调度问题。 # exec /usr/sbin/slurmd -Dvvv # 主phastest容器停止后,所有子节点也将停止。 # 防止slurmctld在子节点仍运行时中断导致的调度问题。 exec /usr/sbin/slurmd -Dvvv & while true do if [[ ! $(scontrol ping | grep "UP") ]]; then echo "---> Slurm节点守护进程(slurmd)已不再活动。退出..." exit 0 fi done
若PHASTEST容器通过Ctrl+C终止,强烈建议使用docker compose down删除集群,然后通过docker compose run重新创建容器。
要删除所有容器和卷,运行:
consoledocker-compose stop docker-compose rm -f docker container prune
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务