【发布时间】:2020-11-06 03:07:07
【问题描述】:
我正在尝试使用 docker 映像在 LSF 集群上运行此命令。但是,我不断收到以下错误。有人可以帮我解决这个问题吗?
命令:
export CUR_STEP="/usr/local/bbmap/demuxbyname.sh"; \
MEM=100; \
export sortedFQ="${BASE}/WXS_Aquilla/01-RAW/${PR}/${FULLSM}/paire_test_sorted.fastq"; \
export column=2; \
export DELIM=":"; \
export COLNUM=2; \
export sampleFQ="${BASE}/WXS_Aquilla/01-RAW/${PR}/${FULLSM}/ADNI_1380"
bsub \
-J "${FULLSM}_bbduk_demulti" \
-o "${BASE}/WXS_Aquilla/01-RAW/${PR}/${FULLSM}/${FULLSM}.${BAMBASE}_bbduk_demulti.%J" \
-u "${EMAIL}" \
-n1 -W 1440 \
-R "rusage[mem=120192]" \
-q research-hpc \
-a 'docker(an/bbduk:latest)' \
entrypoint.sh;
错误:
Status: Downloaded newer image for an/bbduk:latest
[20201106_025413] /usr/local/bbmap/demuxbyname.sh starting
java -ea -Xmx100g -Xms100g -cp /usr/local/bbmap/current/ jgi.DemuxByName2 -Xmx100g in=/gscmnt/gc2645/wgs/WXS_Aquilla/01-RAW/ADNI_WGS/ADNI_1380^LP6005117-DNA_G04^ADNI_WGS/paire_test_sorted.fastq delimiter=: column=2 out=/gscmnt/gc2645/wgs/WXS_Aquilla/01-RAW/ADNI_WGS/ADNI_1380^LP6005117-DNA_G04^ADNI_WGS/ADNI_1380%_#.fq
/usr/local/bbmap/demuxbyname.sh: line 149: java: command not found
Command exited with non-zero status 127
Command being timed: "/usr/local/bbmap/demuxbyname.sh -Xmx100g in=/gscmnt/gc2645/wgs/WXS_Aquilla/01-RAW/ADNI_WGS/ADNI_1380^LP6005117-DNA_G04^ADNI_WGS/paire_test_sorted.fastq delimiter=: column=2 out=/gscmnt/gc2645/wgs/WXS_Aquilla/01-RAW/ADNI_WGS/ADNI_1380^LP6005117-DNA_G04^ADNI_WGS/ADNI_1380%_#.fq"
我的 docker 文件如下所示:
FROM openjdk:8-jre
LABEL maintainer="AN <XXX@XXX.edu>"
LABEL org.label-schema.schema-version="1.0"
# LABEL org.label-schema.build-date=$BUILD_DATE
LABEL org.label-schema.name="XXX/bbduk"
LABEL org.label-schema.description="Image for creating interleaved fastq"
ENV BBMAP_VERSION 38.87
ENV BBMAP_DIR /usr/local/bbmap
WORKDIR /tmp
RUN apt-get update -y \
&& apt-get install --no-install-recommends -y \
make \
gcc \
g++ \
libz-dev \
libbz2-dev \
liblzma-dev \
ncurses-dev \
bc \
libnss-sss \
time
WORKDIR /usr/local
RUN set -eux; \
wget -O bbmap.tar.gz https://sourceforge.net/projects/bbmap/files/BBMap_${BBMAP_VERSION}.tar.gz/download \
&& tar -zxf bbmap.tar.gz \
&& rm bbmap.tar.gz
COPY ./entrypoint.sh /usr/local/bin/
## Add ENV for Shell scripts from BBMAP
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
# CMD ["/bin/bash"]
入口点.sh
#!/bin/bash
PATH=${BBMAP_DIR}:$PATH}
VERSION="2.0"
DATE="/bin/date +%s"
display_date () {
/bin/date -d @${1} +%Y%m%d_%H%M%S
}
date_diff () {
earlier=${1}
later=${2}
diff=$((${later}-${earlier}))
if [ ${diff} -gt 86400 ]; then
date -u -d @$((${diff}-86400)) +"%jd%-Hh%-Mm%-Ss"
else
date -u -d @${diff} +"%-Hh%-Mm%-Ss"
fi
}
quit () {
echo "[$(display_date $(${DATE}))] Run failed at ${1} step, exit code: 1"
# /bin/mail -r "docker@${HOSTNAME}" -s "${SYSTEM}: ${BAMFILE} FAIL at ${1} (${PBS_JOBID}${SLURM_JOBID}${LSB_JOBID})" "${EMAIL}" < /dev/null > /dev/null
if [ "${SHELLDROP}" -eq 1 ]; then echo "Dropping to shell"; exec "/bin/bash"; else exit 1; fi
}
# trap "{ echo \"[$(display_date $(${DATE}))] Terminated by SIGTERM \"; quit \"${CUR_STEP}\"; }" SIGTERM
trap "echo \"[$(display_date $(${DATE}))] Terminated by SIGTERM \" && sleep 10s" SIGTERM
if [ ! -z "${TIMING}" ]; then TIMING=(/usr/bin/time -v); fi
start=$(${DATE}); echo "[$(display_date ${start})] ${CUR_STEP} starting"
"${TIMING[@]}" "${CUR_STEP}" -Xmx${MEM}g in=${sortedFQ} delimiter=${DELIM} column=${COLNUM} out=${sampleFQ}%_#.fq
exitcode=$?
end=$(${DATE}); echo "[$(display_date ${end})] ${CUR_STEP} finished, exit code: ${exitcode}, step time $(date_diff ${start} ${end})"
exit ${exitcode}
【问题讨论】: