Skip to content
This repository was archived by the owner on Aug 23, 2024. It is now read-only.

Commit 22a637f

Browse files
committed
Merge tag '2.1.0' into develop
Major update to underlying algs, performance and approach to calling. 2.1.0 should be used over any other 2.0 branch.
2 parents eee9b53 + 6559c30 commit 22a637f

File tree

86 files changed

+150
-126829
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+150
-126829
lines changed

.dockerignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
/examples/
33
/images/
44
/git-hooks/
5-
/*.*
5+
/CHANGES.md
6+
/README.md
67
/LICENSE

.travis.yml

-1
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,3 @@ script:
4444
- docker run -t --rm dockstore-cgpwgs alleleCounter --version
4545
- docker run -t --rm dockstore-cgpwgs brass.pl -version
4646
- docker run -t --rm dockstore-cgpwgs ascat.pl -version
47-
- docker run -t --rm dockstore-cgpwgs battenberg.pl -version

CHANGES.md

+20
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# CHANGES
22

3+
## 2.1.0
4+
5+
* Update base image to dockstore-cgpwxs:3.1.6 (from 3.0.3)
6+
* Includes, memory footprint reduction for Caveman flagging
7+
* Significant speedup in inde input generation
8+
* Parallel flagging for SNV
9+
* Fragment based SNV/Indel calling
10+
* Upgrade allele counter and brass
11+
* Reduce number of layers in final image.
12+
* Remove some legacy env vars from wrappers
13+
* Battenberg removed
14+
* Was only included to do base allele counts not complete analysis
15+
* Underlying data files are not supported for new builds or other species
16+
* Contact [original authors](https://github.com/Wedge-Oxford/battenberg) for ongoing support
17+
* Wrapper script didn't explicitly specify sex SNP loci file (ASCAT)
18+
* no impact for GRCh37 other species/build would have used wrong sex chromosome SNPs
19+
* CaVEMan step wasn't being passed normal contamination value, scientific impact:
20+
* previously `caveman.pl` default of `0.1` was applied
21+
* this will now honor the value from ASCAT (`1-$rho`)
22+
323
## 2.0.2
424

525
* Correct skipqc flag

Dockerfile

+37-34
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM quay.io/wtsicgp/dockstore-cgpwxs:3.0.3 as builder
1+
FROM quay.io/wtsicgp/dockstore-cgpwxs:3.1.6 as builder
22

33
USER root
44

@@ -58,39 +58,42 @@ MAINTAINER [email protected]
5858

5959
LABEL vendor="Cancer Genome Project, Wellcome Trust Sanger Institute"
6060
LABEL uk.ac.sanger.cgp.description="CGP WGS pipeline for dockstore.org"
61-
LABEL uk.ac.sanger.cgp.version="2.0.2"
62-
63-
RUN bash -c 'apt-get update -yq >& this.log || (cat this.log 1>&2 && exit 1)'
64-
RUN bash -c 'apt-get install -qy --no-install-recommends lsb-release >& this.log || (cat this.log 1>&2 && exit 1)'
65-
66-
RUN echo "deb http://cran.rstudio.com/bin/linux/ubuntu `lsb_release -cs`/" >> /etc/apt/sources.list
67-
RUN gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
68-
RUN gpg -a --export E084DAB9 | apt-key add -
69-
70-
RUN bash -c 'apt-get update -yq >& this.log || (cat this.log 1>&2 && exit 1)'
71-
RUN bash -c 'apt-get install -yq --no-install-recommends\
72-
apt-transport-https\
73-
locales\
74-
curl\
75-
ca-certificates\
76-
libperlio-gzip-perl\
77-
libssh2-1\
78-
bzip2\
79-
psmisc\
80-
time\
81-
zlib1g\
82-
liblzma5\
83-
libncurses5\
84-
libcairo2\
85-
gfortran\
86-
r-base\
87-
exonerate\
88-
libboost-iostreams-dev\
89-
p11-kit\
90-
>& this.log || (cat this.log 1>&2 && exit 1)'
91-
92-
RUN bash -c 'locale-gen en_US.UTF-8 >& this.log || (cat this.log 1>&2 && exit 1)'
93-
RUN bash -c 'update-locale LANG=en_US.UTF-8 >& this.log || (cat this.log 1>&2 && exit 1)'
61+
LABEL uk.ac.sanger.cgp.version="2.1.0"
62+
63+
RUN apt-get update -yq && \
64+
apt-get install -qy --no-install-recommends lsb-release
65+
66+
RUN echo "deb http://cran.rstudio.com/bin/linux/ubuntu `lsb_release -cs`/" >> /etc/apt/sources.list && \
67+
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9 && \
68+
gpg -a --export E084DAB9 | apt-key add -
69+
70+
RUN apt-get update -yq && \
71+
apt-get install -yq --no-install-recommends \
72+
apt-transport-https \
73+
locales \
74+
curl \
75+
ca-certificates \
76+
libperlio-gzip-perl \
77+
libssh2-1 \
78+
bzip2 \
79+
psmisc \
80+
time \
81+
zlib1g \
82+
liblzma5 \
83+
libncurses5 \
84+
libcairo2 \
85+
gfortran \
86+
r-base \
87+
exonerate \
88+
libboost-iostreams-dev \
89+
p11-kit \
90+
unattended-upgrades && \
91+
unattended-upgrade -d -v && \
92+
apt-get remove -yq unattended-upgrades && \
93+
apt-get autoremove -yq
94+
95+
RUN locale-gen en_US.UTF-8 && \
96+
update-locale LANG=en_US.UTF-8
9497

9598
ENV OPT /opt/wtsi-cgp
9699
ENV PATH $OPT/bin:$OPT/biobambam2/bin:$PATH

README.md

+40-80
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,17 @@ the [Dockstore.org](https://dockstore.org/) framework.
1212
| --------------------------------------------- | ----------------------------------------------- |
1313
| [![Master Badge][travis-master]][travis-base] | [![Develop Badge][travis-develop]][travis-base] |
1414

15-
<!-- TOC depthFrom:2 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 -->
16-
17-
- [Usage](#usage)
18-
- [Usable Cores](#usable-cores)
19-
- [Other uses](#other-uses)
20-
- [Native docker](#native-docker)
21-
- [Singularity](#singularity)
22-
- [Verifying your deployment](#verifying-your-deployment)
23-
- [Example data](#example-data)
24-
- [Diagram of internals](#diagram-of-internals)
25-
- [Development environment](#development-environment)
26-
- [Release process](#release-process)
27-
- [LICENCE](#licence)
28-
29-
<!-- /TOC -->
15+
* [Usage](#usage)
16+
* [Usable Cores](#usable-cores)
17+
* [Other uses](#other-uses)
18+
* [Native docker](#native-docker)
19+
* [Singularity](#singularity)
20+
* [Verifying your deployment](#verifying-your-deployment)
21+
* [Example data](#example-data)
22+
* [Diagram of internals](#diagram-of-internals)
23+
* [Development environment](#development-environment)
24+
* [Release process](#release-process)
25+
* [LICENCE](#licence)
3026

3127
## Usage
3228

@@ -40,14 +36,14 @@ You should see the usage for the `ds-cgpwgs.pl` script for all parameters (or th
4036
Required input files are
4137

4238
1. Tumour BAM file
43-
1. Normal BAM file
44-
1. Core reference archive (e.g. [core_ref_GRCh37d5.tar.gz][ftp-ref])
45-
1. WXS reference archive (e.g. [SNV_INDEL_ref_GRCh37d5.tar.gz][ftp-ref])
46-
1. WGS reference archive (e.g. [CNV_SV_ref_GRCh37d5_brass6+.tar.gz][ftp-ref])
47-
1. VAGrENT (annotation) reference archive (e.g. [VAGrENT_ref_GRCh37d5_ensembl_75.tar.gz][ftp-ref])
48-
1. Subclonal reference archive ([SUBCL_ref_GRCh37d5.tar.gz][ftp-ref])
39+
2. Normal BAM file
40+
3. Core reference archive (e.g. [core_ref_GRCh37d5.tar.gz][ftp-ref])
41+
4. WXS reference archive (e.g. [SNV_INDEL_ref_GRCh37d5.tar.gz][ftp-ref])
42+
5. WGS reference archive (e.g. [CNV_SV_ref_GRCh37d5_brass6+.tar.gz][ftp-ref])
43+
6. VAGrENT (annotation) reference archive (e.g. [VAGrENT_ref_GRCh37d5_ensembl_75.tar.gz][ftp-ref])
44+
7. Subclonal reference archive ([SUBCL_ref_GRCh37d5.tar.gz][ftp-ref])
4945
* Only needed if `skipbb` is `false`
50-
1. QC reference archive (e.g. [qcGenotype_GRCh37d5.tar.gz][ftp-ref])
46+
8. QC reference archive (e.g. [qcGenotype_GRCh37d5.tar.gz][ftp-ref])
5147

5248
Inputs 1&2 are expected to have been mapped using [dockstore-cgpmap][dockstore-cgpmap]
5349

@@ -56,12 +52,12 @@ your own reference files. Much of this information is available on the individu
5652
pages (or the subsequently linked protocols papers).
5753

5854
* Specific to dockstore-cgpwgs:
59-
* [BRASS][brass-wiki]
60-
* [ascatNgs][ascatngs-wiki]
55+
* [BRASS][brass-wiki]
56+
* [ascatNgs][ascatngs-wiki]
6157
* Inherited from dockstore-cgpwxs:
62-
* [cgpCaVEManWrapper][caveman-wiki]
63-
* [cgpPindel][cgppindel-wiki]
64-
* [VAGrENT][vagrent-wiki]
58+
* [cgpCaVEManWrapper][caveman-wiki]
59+
* [cgpPindel][cgppindel-wiki]
60+
* [VAGrENT][vagrent-wiki]
6561

6662

6763
### Usable Cores
@@ -80,54 +76,18 @@ If not set detects available cores on system.
8076
All of the tools installed as part of [dockstore-cgpmap][dockstore-cgpmap] and
8177
[dockstore-cgpwxs][dockstore-cgpwxs] and the above packages are available for direct use.
8278

83-
```
84-
export CGPWGS_VER=X.X.X
85-
docker pull quay.io/wtsicgp/dockstore-cgpwgs:$CGPWGS_VER
86-
docker --rm -ti [--volume ...] quay.io/wtsicgp/dockstore-cgpwgs:$CGPWGS_VER bash
87-
```
79+
See the [docker guide in the wiki][cgpmap-wiki-docker] for more details.
8880

8981
### Singularity
9082

91-
The resulting docker container has been tested with Singularity. The command to exec is:
83+
The resulting docker container has been tested with Singularity.
9284

93-
```
94-
ds-cgpwgs.pl -h
95-
```
96-
97-
Expected use would be along the lines of:
98-
99-
```
100-
export CGPWGS_VER=X.X.X
101-
singularity pull docker://quay.io/wtsicgp/dockstore-cgpwgs:$CGPWGS_VER
102-
103-
singularity exec\
104-
--workdir /.../workspace \
105-
--home /.../workspace:/home \
106-
--bind /.../ref/human:/var/spool/ref:ro \
107-
--bind /.../example_data/cgpwgs:/var/spool/data:ro \
108-
dockstore-cgpwgs-${CGPWGS_VER}.simg \
109-
ds-cgpwgs.pl \
110-
-reference /var/spool/ref/core_ref_GRCh37d5.tar.gz \
111-
-annot /var/spool/ref/VAGrENT_ref_GRCh37d5_ensembl_75.tar.gz \
112-
-snv_indel /var/spool/ref/SNV_INDEL_ref_GRCh37d5-fragment.tar.gz \
113-
-tumour /var/spool/data/COLO-829_ex.cram \
114-
...
115-
```
116-
117-
For a system automatically attaching _all local mount points_ (not default singularity behaviour)
118-
you need not specify any `exec` params (workdir, home, bind) but you should specify the `-outdir`
119-
option for `ds-cgpwgs.pl` to prevent data being written to your home directory.
120-
121-
By default results are written to the home directory of the container so ensure you bind
122-
a large volume and set the `-home` variable. As indicated above the location can be overridden
123-
via the options of `ds-cgpwgs.pl`
85+
See the [docker guide in the wiki][cgpmap-wiki-singularity] for more details.
12486

12587
## Verifying your deployment
12688

12789
The `examples/` tree contains test json files populated with data that can be used to verify the
128-
tool. More details can be found [here](examples/README.md).
129-
130-
The `expected/` tree contains the expected output for each tool. More details can be found [here](expected/README.md).
90+
tool.
13191

13292
## Example data
13393

@@ -148,7 +108,7 @@ will need to be manually cleaned to keep the repo size down.
148108

149109
Activate the hooks with
150110

151-
```
111+
```bash
152112
git config core.hooksPath git-hooks
153113
```
154114

@@ -157,21 +117,19 @@ git config core.hooksPath git-hooks
157117
This project is maintained using HubFlow.
158118

159119
1. Make appropriate changes
160-
1. Build image locally
161-
1. Run all example inputs and verify any changes are acceptable
162-
1. Update `expected/` tree with output of last step
163-
1. Bump version in `Dockerfile` and `Dockstore.cwl`
164-
1. Push changes
165-
1. Check state on Travis
166-
1. Update expected datasets
167-
1. Generate the release (add notes to GitHub)
168-
1. Confirm that image has been built on [quay.io][quay-builds]
169-
1. Update the [dockstore][dockstore-cgpwgs] entry, see [their docs][dockstore-get-started].
120+
2. Build image locally
121+
3. Run all example inputs and verify any changes are acceptable
122+
4. Bump version in `Dockerfile` and `Dockstore.cwl`
123+
5. Push changes
124+
6. Check state on Travis
125+
7. Generate the release (add notes to GitHub)
126+
8. Confirm that image has been built on [quay.io][quay-builds]
127+
9. Update the [dockstore][dockstore-cgpwgs] entry, see [their docs][dockstore-get-started].
170128

171129
## LICENCE
172130

173-
```
174-
Copyright (c) 2017-2018 Genome Research Ltd.
131+
```none
132+
Copyright (c) 2017-2019 Genome Research Ltd.
175133
176134
Author: Cancer Genome Project <[email protected]>
177135
@@ -208,6 +166,8 @@ identical to a statement that reads ‘Copyright (c) 2005, 2006, 2007, 2008,
208166
[caveman-wiki]: https://github.com/cancerit/cgpCaVEManWrapper/wiki
209167
[ascatngs-wiki]: https://github.com/cancerit/ascatNgs/wiki
210168
[vagrent-wiki]: https://github.com/cancerit/VAGrENT/wiki
169+
[cgpmap-wiki-docker]: https://github.com/cancerit/dockstore-cgpwgs/wiki/Running-under-docker
170+
[cgpmap-wiki-singularity]: https://github.com/cancerit/dockstore-cgpwgs/wiki/Running-under-singularity
211171

212172
<!-- Travis -->
213173
[travis-base]: https://travis-ci.org/cancerit/dockstore-cgpwgs

build/opt-build.sh

+2-20
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ fi
99
set -u
1010

1111
### alleleCount
12-
VER_ALLELECOUNT="v4.0.0"
12+
VER_ALLELECOUNT="v4.0.2"
1313

1414
### cgpNgsQc
1515
VER_CGPNGSQC="v1.5.1"
@@ -23,13 +23,10 @@ SRC_ASCAT="https://raw.githubusercontent.com/Crick-CancerGenomics/ascat/v2.5.1/A
2323
VER_GRASS="v2.1.1"
2424

2525
### BRASS
26-
VER_BRASS="v6.1.2"
26+
VER_BRASS="v6.2.1"
2727
SOURCE_BLAT="http://users.soe.ucsc.edu/~kent/src/blatSrc35.zip"
2828
SRC_FASTA36="https://github.com/wrpearson/fasta36/archive/fasta-v36.3.8g.tar.gz"
2929

30-
### cgpBattenberg
31-
VER_CGPBB="v3.3.0"
32-
3330
if [ "$#" -lt "1" ] ; then
3431
echo "Please provide an installation path such as /opt/ICGC"
3532
exit 1
@@ -220,21 +217,6 @@ if [ ! -e $SETUP_DIR/BRASS.success ]; then
220217
touch $SETUP_DIR/BRASS.success
221218
fi
222219

223-
### cgpBattenberg
224-
if [ ! -e $SETUP_DIR/cgpBB.success ]; then
225-
curl -sSL --retry 10 https://github.com/cancerit/cgpBattenberg/archive/${VER_CGPBB}.tar.gz > distro.tar.gz
226-
rm -rf distro/*
227-
tar --strip-components 1 -C distro -xzf distro.tar.gz
228-
cd distro/Rsupport
229-
./setupR.sh $INST_PATH
230-
cd $SETUP_DIR/distro/perl
231-
cpanm --no-interactive --notest --mirror http://cpan.metacpan.org --notest -l $INST_PATH --installdeps .
232-
cpanm -v --no-interactive --mirror http://cpan.metacpan.org -l $INST_PATH .
233-
cd $SETUP_DIR
234-
rm -rf distro.* distro/*
235-
touch $SETUP_DIR/cgpBB.success
236-
fi
237-
238220
cd $HOME
239221
rm -rf $SETUP_DIR
240222

build/rlib-build.R

+1-9
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,4 @@ ipak(c("poweRlaw"))
2828
ipak(c("zlibbioc"))
2929
ipak(c("RColorBrewer"))
3030

31-
# add for BB
32-
ipak(c("stringi"))
33-
ipak(c("readr"))
34-
ipak(c("doParallel"))
35-
ipak(c("ggplot2"))
36-
ipak(c("gridExtra"))
37-
ipak(c("gtools"))
38-
39-
install_github("sb43/copynumber", ref="f1688edc154f1a0e3aacf7781090afe02882f623")
31+
install_github("Irrationone/copynumber", ref="87d2663fe6b11c03cf6006b4ee9ed70450eacb5a")

cwls/cgpwgs.cwl

+1-15
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ doc: |
2525

2626
requirements:
2727
- class: DockerRequirement
28-
dockerPull: "quay.io/wtsicgp/dockstore-cgpwgs:2.0.2"
28+
dockerPull: "quay.io/wtsicgp/dockstore-cgpwgs:2.1.0"
2929

3030
hints:
3131
- class: ResourceRequirement
@@ -62,13 +62,6 @@ inputs:
6262
prefix: -cnv_sv
6363
separate: true
6464

65-
subcl:
66-
type: File
67-
doc: "Supporting files for allele counts used by Battenberg Subclonal CNV analysis"
68-
inputBinding:
69-
prefix: -subcl
70-
separate: true
71-
7265
qcset:
7366
type: File
7467
doc: "Supporting files for QC tools"
@@ -134,13 +127,6 @@ inputs:
134127
separate: true
135128
shellQuote: true
136129

137-
skipbb:
138-
type: boolean?
139-
doc: "Skip Battenberg allele counts"
140-
inputBinding:
141-
prefix: -skipbb
142-
separate: true
143-
144130
skipqc:
145131
type: boolean?
146132
doc: "Disable genotype and verifyBamID steps"

0 commit comments

Comments
 (0)