Skip to content

Commit ac8f588

Browse files
authored
Release 0.9.3 (#83)
1 parent 9413cbe commit ac8f588

8 files changed

Lines changed: 1215 additions & 385 deletions

File tree

Dockerfile

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
## build env ##
2+
FROM ubuntu:24.04 AS build
3+
4+
# get necessary libs
5+
RUN apt-get update && \
6+
apt install -y make wget gcc bzip2 libz-dev libbz2-dev liblzma-dev libcurl4-openssl-dev build-essential python3-dev pip libtool cmake git zlib1g-dev openjdk-11-jdk bash
7+
8+
# samtools
9+
RUN wget -O- "https://github.com/samtools/samtools/releases/download/1.21/samtools-1.21.tar.bz2" | tar -xj && \
10+
cd samtools-* && \
11+
./configure --without-curses && \
12+
make && \
13+
make install
14+
15+
# htslib
16+
RUN wget -O- "https://github.com/samtools/htslib/releases/download/1.20/htslib-1.20.tar.bz2" | tar -xj && \
17+
cd htslib-* && \
18+
./configure && \
19+
make && \
20+
make install
21+
22+
# minimap2
23+
RUN wget -O- "https://github.com/lh3/minimap2/archive/refs/tags/v2.28.tar.gz" | tar -zx && \
24+
cd minimap2-* && \
25+
make && \
26+
chmod a+x minimap2 && \
27+
mv minimap2 /usr/local/bin/
28+
29+
# mosdepth
30+
RUN wget "https://github.com/brentp/mosdepth/releases/download/v0.3.9/mosdepth" && \
31+
chmod a+x mosdepth && \
32+
mv mosdepth /usr/local/bin/
33+
34+
# bcftools
35+
RUN wget -O- "https://github.com/samtools/bcftools/releases/download/1.21/bcftools-1.21.tar.bz2" | tar -xj && \
36+
cd bcftools-* && \
37+
make && \
38+
make install && \
39+
mkdir -p /usr/local/libexec/bcftools/ && \
40+
mv /bcftools-1.21/plugins/* /usr/local/libexec/bcftools/
41+
42+
# whatshap
43+
RUN pip install whatshap==2.3 --break-system-packages
44+
45+
# minimod
46+
RUN wget -O- "https://github.com/warp9seq/minimod/releases/download/v0.3.0/minimod-v0.3.0-release.tar.gz" | tar -xz && \
47+
cd minimod-* && \
48+
./scripts/install-hts.sh && \
49+
make && \
50+
mv minimod /usr/local/bin/
51+
52+
# kentutils (bedGraphToBigWig only)
53+
RUN wget "http://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/bedGraphToBigWig" && \
54+
chmod a+x bedGraphToBigWig && \
55+
mv bedGraphToBigWig /usr/local/bin/
56+
57+
# cutesv
58+
RUN pip install cuteSV==2.1.1 --break-system-packages
59+
60+
# sniffles
61+
RUN pip install sniffles==2.6.0 --break-system-packages
62+
63+
# somalier
64+
RUN wget "https://github.com/brentp/somalier/releases/download/v0.2.19/somalier" && \
65+
chmod a+x somalier && \
66+
mv somalier /usr/local/bin/
67+
68+
# spectre
69+
RUN pip install spectre-cnv==0.2.1 --break-system-packages
70+
71+
# snf2json
72+
RUN pip install snf2json==0.1.0 --break-system-packages
73+
74+
# bedtools
75+
RUN wget "https://github.com/arq5x/bedtools2/releases/download/v2.31.0/bedtools.static" && \
76+
chmod a+x bedtools.static && \
77+
mv bedtools.static /usr/local/bin/bedtools
78+
79+
# racon
80+
RUN git clone --recursive https://github.com/lbcb-sci/racon.git racon && \
81+
cd racon && \
82+
git checkout tags/1.4.3 && \
83+
git submodule update --init --recursive && \
84+
mkdir build && \
85+
cd build && \
86+
cmake -DCMAKE_BUILD_TYPE=Release .. && \
87+
make
88+
89+
# jasmine
90+
RUN git clone --recurse-submodules https://github.com/bioinfomethods/Jasmine.git && \
91+
cd Jasmine && \
92+
git checkout tags/1.1.5-r1 && \
93+
./build_jar.sh && \
94+
sed -i '1s|^.*$|#!/bin/bash|' jasmine
95+
96+
## deploy env ##
97+
FROM ubuntu:24.04 AS deploy
98+
LABEL name="pipeface"
99+
LABEL description="docker image containing most software required for pipeface"
100+
LABEL version="0.0.1"
101+
LABEL maintainer.name="Leah Kemp"
102+
LABEL maintainer.email="leahmhkemp@gmail.com"
103+
104+
# get necessary libs
105+
RUN apt-get update && \
106+
apt install -y python3-dev libcurl4-openssl-dev openjdk-11-jdk
107+
108+
# copy required compiled tools
109+
COPY --from=build \
110+
/usr/local/bin/samtools \
111+
/usr/local/bin/bgzip \
112+
/usr/local/bin/tabix \
113+
/usr/local/bin/minimap2 \
114+
/usr/local/bin/mosdepth \
115+
/usr/local/bin/bcftools \
116+
/usr/local/bin/whatshap \
117+
/usr/local/bin/minimod \
118+
/usr/local/bin/bedGraphToBigWig \
119+
/usr/local/bin/cuteSV \
120+
/usr/local/bin/sniffles \
121+
/usr/local/bin/somalier \
122+
/usr/local/bin/spectre \
123+
/usr/local/bin/snf2json \
124+
/usr/local/bin/bedtools \
125+
/racon/build/bin/racon \
126+
/Jasmine/jasmine \
127+
/Jasmine/jasmine.jar \
128+
/Jasmine/jasmine_iris.jar \
129+
/usr/local/bin/
130+
131+
COPY --from=build \
132+
/usr/local/libexec/bcftools/* \
133+
/usr/local/libexec/bcftools/
134+
135+
COPY --from=build \
136+
/usr/local/lib/ \
137+
/usr/local/lib/
138+

README.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ sv_calling-.->sv_vcf_merging-.->joint_sv_annotation
130130
- [minimod](https://github.com/warp9seq/minimod?tab=readme-ov-file)
131131
- [ensembl-vep](https://github.com/Ensembl/ensembl-vep)
132132

133+
*[See the list of software and their versions used by this version of pipeface](./docs/software_versions.txt) as well as the [list of variant databases and their versions](./docs/database_versions.txt) if variant annotation is carried out (assuming the default [nextflow_pipeface.config](./config/nextflow_pipeface.config) file is used).*
134+
133135
## Main input files
134136

135137
### Required
@@ -190,17 +192,9 @@ sv_calling-.->sv_vcf_merging-.->joint_sv_annotation
190192
- Enables correct handling of the haploid nature of chrX and chrY for XY samples, along with PAR regions
191193
- Only supported for singletons at the moment
192194

193-
## Assumptions
194-
195-
- Running pipeline on Australia's [National Computational Infrastructure (NCI)](https://nci.org.au/)
196-
- Access to if89 project (to access software installs used by pipeface)
197-
- Access to xy86 project (to access variant databases used by pipeface, only required if running variant annotation)
198-
199-
*[See the list of software and their versions used by this version of pipeface](./docs/software_versions.txt) as well as the [list of variant databases and their versions](./docs/database_versions.txt) if variant annotation is carried out (assuming the default [nextflow_pipeface.config](./config/nextflow_pipeface.config) file is used).*
200-
201195
## Run it!
202196

203-
See a walkthrough for [running pipeface on NCI](./docs/run_on_nci.md).
197+
See a walkthrough for [setting up](./docs/setup.md) and [running pipeface on NCI](./docs/run_on_nci.md) or [another HPC](./docs/run_on_other_hpc.md).
204198

205199
## Credit
206200

config/nextflow_pipeface.config

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,30 @@ process {
5858
module = 'mosdepth/0.3.9'
5959
}
6060

61-
withName: 'clair3' {
61+
withName: 'clair3|clair3_haploid_aware' {
6262
queue = 'normal'
6363
cpus = '32'
6464
memory = '128GB'
6565
disk = '20GB'
6666
time = '16h'
67-
module = 'bedtools/2.31.0:bcftools/1.21:htslib/1.20:clair3/v1.0.9'
67+
module = 'clair3/v1.0.9'
68+
}
69+
70+
withName: 'clair3_pre_processing|clair3_post_processing' {
71+
queue = 'normal'
72+
cpus = '1'
73+
memory = '4GB'
74+
time = '30m'
75+
module = 'bedtools/2.31.0'
76+
}
77+
78+
withName: 'clair3_post_processing' {
79+
queue = 'normal'
80+
cpus = '1'
81+
memory = '4GB'
82+
disk = '10GB'
83+
time = '30m'
84+
module = 'bcftools/1.21:htslib/1.20'
6885
beforeScript = 'module use -a /g/data/if89/apps/modulefiles && module use -a /g/data/if89/shpcroot/modules && BCFTOOLS_PLUGINS=/apps/bcftools/1.12/libexec/bcftools'
6986
}
7087

@@ -101,7 +118,15 @@ process {
101118
memory = '128GB'
102119
disk = '10GB'
103120
time = '1h'
104-
module = 'deepvariant-gpu/1.8.0:bcftools/1.21:htslib/1.20'
121+
module = 'deepvariant-gpu/1.8.0'
122+
}
123+
124+
withName: 'filter_ref_call' {
125+
queue = 'normal'
126+
cpus = '1'
127+
memory = '4GB'
128+
time = '1h'
129+
module = 'bcftools/1.21'
105130
}
106131

107132
withName: 'split_multiallele|split_multiallele_duo|split_multiallele_trio' {
@@ -186,7 +211,15 @@ process {
186211
cpus = '1'
187212
memory = '96GB'
188213
time = '2h'
189-
module = 'glnexus/1.4.3:bcftools/1.21:htslib/1.20'
214+
module = 'glnexus/1.4.3'
215+
}
216+
217+
withName: 'glnexus_post_processing_duo|glnexus_post_processing_trio' {
218+
queue = 'normal'
219+
cpus = '1'
220+
memory = '4GB'
221+
time = '30m'
222+
module = 'bcftools/1.21:htslib/1.20'
190223
}
191224

192225
withName: 'sniffles' {

0 commit comments

Comments
 (0)