-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.aarch64
89 lines (68 loc) · 3.25 KB
/
Dockerfile.aarch64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#FROM quay.io/broadsword/recount-unify-aarch64-base:1.0.0
FROM 315553526860.dkr.ecr.us-east-2.amazonaws.com/recount-unify-aarch64:1.1.2base
USER root
WORKDIR /
RUN pip install biopython==1.78
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y && apt-get install python2.7 python-dev -y
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py && /usr/bin/python2.7 get-pip.py
RUN /usr/local/bin/pip install numpy
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip" && \
unzip awscliv2.zip && \
chmod a+x ./aws/install && \
./aws/install
#for multi-ssd spanning filesystem creation
RUN apt-get update -y && apt-get install mdadm --no-install-recommends -y
RUN apt-get update --fix-missing -y && apt install sudo lsof psmisc time -y
RUN useradd -rm -d /home/recount2 -s /bin/bash -g root -G sudo -u 1000 recount && chpasswd recount:recount
#RUN useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1000 ubuntu
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
#need latest megadepth to do fast summing across samples BigWigs for AUC check against what was rejoined
RUN mkdir -p /recount-unify/rejoin
RUN wget https://github.com/ChristopherWilks/megadepth/releases/download/1.2.0/megadepth_dynamic.aarch64 -O /recount-unify/rejoin/megadepth120
RUN chmod a+rx /recount-unify/rejoin/megadepth120
COPY rejoin/ /recount-unify/rejoin/
COPY merge/ /recount-unify/merge/
COPY scripts/ /recount-unify/scripts/
COPY log_qc/ /recount-unify/log_qc/
COPY annotate/ /recount-unify/annotate/
COPY sample_ids/ /recount-unify/sample_ids/
COPY metadata/ /recount-unify/metadata/
COPY recount-pump/metadata/scripts /recount-unify/recount-pump/metadata/scripts/
# install Snakefile
COPY Snakefile /recount-unify/Snakefile
COPY Snakefile.study_jxs.recount_only /recount-unify/Snakefile.study_jxs.recount_only
RUN chmod a+r /recount-unify/Snakefile
RUN chmod a+r /recount-unify/Snakefile.study_jxs.recount_only
# install Unifier main run scripts
COPY workflow.bash.recount_jxns_only /recount-unify/workflow.bash.recount_jxns_only
RUN chmod a+rx /recount-unify/workflow.bash.recount_jxns_only
COPY run_recount_unify_within_container.sh /recount-unify/
RUN chmod a+rx /recount-unify/run_recount_unify_within_container.sh
COPY worker.sh /recount-unify/
RUN chmod a+rx /recount-unify/worker.sh
COPY run_workers.sh /recount-unify/
RUN chmod a+rx /recount-unify/run_workers.sh
COPY check_and_create_fs_for_ephemeral_disks.sh /recount-unify/check_and_create_fs_for_ephemeral_disks.sh
RUN chmod a+rx /recount-unify/check_and_create_fs_for_ephemeral_disks.sh
COPY monorail_unifier_log.sh /recount-unify/
RUN chmod a+rx /recount-unify/monorail_unifier_log.sh
COPY monorail-external/get_unify_refs.sh /
RUN chmod a+rx /get_unify_refs.sh
COPY get_unify_refs.additional.sh /recount-unify/
RUN chmod a+rx /recount-unify/get_unify_refs.additional.sh
RUN echo 'pigz --stdout -p2 -d $1' > /usr/bin/pcat
RUN chmod a+rx /usr/bin/pcat
WORKDIR /recount-unify/rejoin/
RUN make clean
RUN make all
WORKDIR /recount-unify/merge/
RUN make clean
RUN make all
WORKDIR /recount-unify/scripts/
RUN make clean
RUN make all
USER recount
WORKDIR /home/recount
ENV PATH="/monorail_bin:/monorail_bin/bin:/opt/conda/bin:${PATH}"
ENTRYPOINT ["bash", "-c", "/recount-unify/run_workers.sh"]