奇点参数与我的生物信息学工具参数冲突

Singularity arguments conflict with my bioinformatics tool arguments

编辑:信息管理给出的文档很烂,旧版本的奇点,现在参数的顺序不同,问题解决了。

为了使我的工具更便携,并且因为我必须在集群上使用它,所以我必须为 docker 提供我的生物信息学工具。工具位于 here。 docker hub 是 007ptar007/metadbgwas,如果你想体验一下。 Dockerfile 在 repo 中,让每个人都更容易使用:

FROM ubuntu:latest
ENV DEBIAN_FRONTEND=noninteractive
USER root
COPY ./install_docker.sh ./
RUN chmod +x ./install_docker.sh && sh ./install_docker.sh
ENTRYPOINT ["/MetaDBGWAS/metadbgwas.sh"]
ENV PATH="/MetaDBGWAS/:${PATH}"

并且 install_docker.sh 脚本包含:

apt-get update
apt install -y libgatbcore-dev libhdf5-dev libboost-all-dev libpstreams-dev zlib1g-dev g++ cmake git r-base-core
Rscript -e "install.packages(c('ape', 'phangorn'))"
Rscript -e "install.packages('https://raw.githubusercontent.com/sgearle/bugwas/master/build/bugwas_1.0.tar.gz', repos=NULL, type='source')"
git clone --recursive https://github.com/Louis-MG/MetaDBGWAS.git
cd MetaDBGWAS
sed -i "51i#include <limits>" ./REINDEER/blight/robin_hood.h #temporary fix for REINDEER compilation
sh install.sh

问题: 我的工具解析命令行,需要一个详细的(-v,或--verbose)参数。它还需要拒绝未知的参数;该工具未使用的任何内容都会导致在标准输出中打印帮助消息并退出。要使用该工具,我需要在数据存在的情况下安装卷;使用 -v /path/to/files:/input 选项:

singularity run docker://007ptar007/metadbgwas --volumes '/path/to/data:/inputd/:/input' --files /input --strains /input/strains --threads 8 --output ~/output

但我的工具将此视为错误的 -v 选项值或将 --volume 视为未知选项。我无法在我的工具上更改它。我该如何解决这个冲突?

您需要在您想要 运行 的图像名称(例如您在命令中指定的 docker 图像)之前放置任何用于奇异性的参数 - 例如卷安装 - :

singularity run -v '/path/to/data:/input' docker://007ptar007/metadbgwas --files /input --strains /input/strains --threads 8 --output ~/output