Skip to content

Commit 6ba7f81

Browse files
authored
Merge pull request #416 from lcdb/v1.12rc
V1.12rc
2 parents 53de923 + 3ddf9cb commit 6ba7f81

File tree

15 files changed

+626
-544
lines changed

15 files changed

+626
-544
lines changed

.circleci/config.yml

Lines changed: 56 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ variables:
55
# default settings for all steps
66
defaults: &defaults
77
docker:
8-
- image: ubuntu:20.04
8+
- image: ubuntu:latest
99

1010
# --------------------------------------------------------------------------
1111
# The caching dramatically speeds up testing time, because we can do the
@@ -28,7 +28,7 @@ variables:
2828
save_cache:
2929
key: v5-{{ checksum "env.yml" }}-{{ checksum "env-r.yml" }}
3030
paths:
31-
- /opt/mambaforge
31+
- /opt/miniforge
3232

3333
# this file is created by sra-tools upon installation by conda, and so
3434
# needs to be included in the cache otherwise fastq-dump thinks it's
@@ -48,6 +48,7 @@ variables:
4848
name: Set path
4949
command: |
5050
# x11-utils required to avoid R::png() segfaulting
51+
export DEBIAN_FRONTEND=noninteractive
5152
apt update && apt install -y \
5253
curl \
5354
git \
@@ -73,7 +74,7 @@ variables:
7374
7475
# Note that if we don't escape \$PATH, we'll be stuck with the exact
7576
# PATH defined here, which will break anything needing conda envs.
76-
echo "export PATH=\$PATH:/opt/mambaforge/bin" >> $BASH_ENV
77+
echo "export PATH=\$PATH:/opt/miniforge/bin" >> $BASH_ENV
7778
source $BASH_ENV
7879
7980
@@ -85,28 +86,16 @@ variables:
8586
command: |
8687
source $BASH_ENV
8788
echo $PATH
88-
# /opt/mambaforge will only exist if there was a cache restore; otherwise we'll make it here.
89+
# /opt/miniforge will only exist if there was a cache restore; otherwise we'll make it here.
8990
#
90-
# Use mambaforge which comes with mamba.
91-
if [ ! -e /opt/mambaforge ]; then
92-
curl -L https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh > mambaforge.sh
93-
bash mambaforge.sh -b -p /opt/mambaforge
94-
source "/opt/mambaforge/etc/profile.d/conda.sh"
95-
source "/opt/mambaforge/etc/profile.d/mamba.sh"
91+
if [ ! -e /opt/miniforge ]; then
92+
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
93+
bash Miniforge3-$(uname)-$(uname -m).sh -b -p /opt/miniforge
94+
source "/opt/miniforge/etc/profile.d/conda.sh"
9695
conda activate
9796
9897
which conda
99-
which mamba
100-
mamba --version
101-
102-
# Note that mambaforge doesn't come with the defaults channel, but
103-
# we're adding it here at the beginning to simulate what most users
104-
# probably have locally (and following the bioconda docs). Using
105-
# strict channel priority means we should [theoretically] never
106-
# pull packages from defaults because they all exist on
107-
# conda-forge.
108-
conda config --system --add channels defaults
109-
98+
conda --version
11099
conda config --system --add channels bioconda
111100
conda config --system --add channels conda-forge
112101
conda config --system --set channel_priority strict
@@ -115,10 +104,10 @@ variables:
115104
# https://docs.conda.io/projects/conda-build/en/latest/resources/link-scripts.html,
116105
# post-link scripts should not depend on any installed or
117106
# to-be-installed conda packages...but they do.
118-
mamba install -n base r-base yq
107+
conda install -n base r-base yq
119108
120-
time mamba env create -n $LCDBWF_ENV --file env.yml
121-
time mamba env create -n $LCDBWF_ENV_R --file env-r.yml
109+
time conda env create -n $LCDBWF_ENV --file env.yml
110+
time conda env create -n $LCDBWF_ENV_R --file env-r.yml
122111
fi
123112
124113
# --------------------------------------------------------------------------
@@ -127,7 +116,7 @@ variables:
127116
run:
128117
name: Download example data
129118
command: |
130-
source /opt/mambaforge/etc/profile.d/conda.sh
119+
source /opt/miniforge/etc/profile.d/conda.sh
131120
conda activate $LCDBWF_ENV
132121
conda info --envs
133122
conda config --show
@@ -151,7 +140,7 @@ variables:
151140
cp $ORIG/workflows/rnaseq/run_test.sh $DEPLOY/workflows/rnaseq/run_test.sh
152141
cp $ORIG/workflows/rnaseq/run_downstream_test.sh $DEPLOY/workflows/rnaseq/run_downstream_test.sh
153142
cp $ORIG/workflows/references/run_test.sh $DEPLOY/workflows/references/run_test.sh
154-
cp $ORIG/workflows/colocalization/run_test.sh $DEPLOY/workflows/colocalization/run_test.sh
143+
# cp $ORIG/workflows/colocalization/run_test.sh $DEPLOY/workflows/colocalization/run_test.sh
155144
156145
mkdir $DEPLOY/ci
157146
mkdir $DEPLOY/test
@@ -172,7 +161,7 @@ variables:
172161
run:
173162
name: Run pytest suite and testthat suite
174163
command: |
175-
source /opt/mambaforge/etc/profile.d/conda.sh
164+
source /opt/miniforge/etc/profile.d/conda.sh
176165
conda activate $LCDBWF_ENV
177166
# run unit tests and doctests for the modules in lib
178167
test/lcdb-wf-test unit_tests --pytest
@@ -194,9 +183,9 @@ variables:
194183
name: chipseq workflow
195184
command: |
196185
cd $DEPLOY/workflows/chipseq
197-
source /opt/mambaforge/etc/profile.d/conda.sh
186+
source /opt/miniforge/etc/profile.d/conda.sh
198187
conda activate $LCDBWF_ENV
199-
$DEPLOY/test/lcdb-wf-test chipseq --run-workflow --use-conda -j2 -k -p -r
188+
$DEPLOY/test/lcdb-wf-test chipseq --run-workflow --use-conda -j2 -k -p
200189
$DEPLOY/test/lcdb-wf-test chipseq --trackhub
201190
202191
# --------------------------------------------------------------------------
@@ -208,10 +197,10 @@ variables:
208197
name: chipseq misc
209198
command: |
210199
cd $DEPLOY/workflows/chipseq
211-
source /opt/mambaforge/etc/profile.d/conda.sh
200+
source /opt/miniforge/etc/profile.d/conda.sh
212201
conda activate $LCDBWF_ENV
213202
214-
./run_test.sh --use-conda -j2 -k -p -r \
203+
./run_test.sh --use-conda -j2 -k -p \
215204
--configfile $ORIG/test/test_configs/test_chipseq_regression.yaml \
216205
--config sampletable=$ORIG/test/test_configs/chipseq_one_run.tsv \
217206
merged_bigwigs="{}" \
@@ -237,9 +226,9 @@ variables:
237226
run:
238227
name: references workflow
239228
command: |
240-
source /opt/mambaforge/etc/profile.d/conda.sh
229+
source /opt/miniforge/etc/profile.d/conda.sh
241230
conda activate $LCDBWF_ENV
242-
$DEPLOY/test/lcdb-wf-test references --run-workflow --configfile=config/config.yaml -j2 -p -r -k --orig $ORIG
231+
$DEPLOY/test/lcdb-wf-test references --run-workflow --configfile=config/config.yaml -j2 -p -k --orig $ORIG
243232
244233
# --------------------------------------------------------------------------
245234
# Standard RNA-seq workflow
@@ -248,10 +237,10 @@ variables:
248237
name: rnaseq workflow
249238
command: |
250239
cd $DEPLOY
251-
source /opt/mambaforge/etc/profile.d/conda.sh
240+
source /opt/miniforge/etc/profile.d/conda.sh
252241
conda activate $LCDBWF_ENV
253242
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow -n
254-
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --use-conda -j2 -k -p -r --orig $ORIG
243+
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --use-conda -j2 -k -p --orig $ORIG
255244
256245
$DEPLOY/test/lcdb-wf-test rnaseq --trackhub --orig $ORIG
257246
@@ -276,32 +265,32 @@ variables:
276265
command: |
277266
ORIG=$(pwd)
278267
cd $DEPLOY
279-
source /opt/mambaforge/etc/profile.d/conda.sh
268+
source /opt/miniforge/etc/profile.d/conda.sh
280269
conda activate $LCDBWF_ENV
281270
282271
# Check the help for test/lcdb-wf-test to see what args these
283272
# provide; some of them use the --until argument to restrict the
284273
# rules that are run. Note the use of --orig $ORIG to use the test
285274
# configs from the original clone rather than the deployed directory.
286-
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --sra-pe -k -r -p -j2 --use-conda --orig $ORIG
287-
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --sra-se -k -r -p -j2 --use-conda --orig $ORIG
288-
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --strandedness-pe -k -r -p -j2 --use-conda --orig $ORIG
289-
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --star-2pass -k -r -p -j2 --use-conda --orig $ORIG
290-
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --star-1pass -k -r -p -j2 --use-conda --orig $ORIG
291-
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --pe -k -r -p -j2 --use-conda --orig $ORIG
275+
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --sra-pe -k -p -j2 --use-conda --orig $ORIG
276+
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --sra-se -k -p -j2 --use-conda --orig $ORIG
277+
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --strandedness-pe -k -p -j2 --use-conda --orig $ORIG
278+
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --star-2pass -k -p -j2 --use-conda --orig $ORIG
279+
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --star-1pass -k -p -j2 --use-conda --orig $ORIG
280+
$DEPLOY/test/lcdb-wf-test rnaseq --run-workflow --pe -k -p -j2 --use-conda --orig $ORIG
292281
293282
294283
295284
# --------------------------------------------------------------------------
296285
# Standard colocalization workflow
297-
colocalization-step: &colocalization-step
298-
run:
299-
name: colocalization workflow
300-
command: |
301-
cd $DEPLOY/workflows/colocalization
302-
source /opt/mambaforge/etc/profile.d/conda.sh
303-
conda activate $LCDBWF_ENV
304-
$DEPLOY/test/lcdb-wf-test colocalization --run-workflow -k -r -p -j2 --use-conda --orig $ORIG
286+
# colocalization-step: &colocalization-step
287+
# run:
288+
# name: colocalization workflow
289+
# command: |
290+
# cd $DEPLOY/workflows/colocalization
291+
# source /opt/miniforge/etc/profile.d/conda.sh
292+
# conda activate $LCDBWF_ENV
293+
# $DEPLOY/test/lcdb-wf-test colocalization --run-workflow -k -p -j2 --use-conda --orig $ORIG
305294

306295
# --------------------------------------------------------------------------
307296
# Syntax note: All of the steps above, with their "&step-name" labels, can be
@@ -410,14 +399,14 @@ jobs:
410399
- *get-data
411400
- *rnaseq-misc-step
412401

413-
colocalization:
414-
<<: *defaults
415-
steps:
416-
- checkout
417-
- *restore_cache
418-
- *set-path
419-
- *get-data
420-
- *colocalization-step
402+
# colocalization:
403+
# <<: *defaults
404+
# steps:
405+
# - checkout
406+
# - *restore_cache
407+
# - *set-path
408+
# - *get-data
409+
# - *colocalization-step
421410

422411
references:
423412
<<: *defaults
@@ -438,9 +427,9 @@ jobs:
438427
- run:
439428
name: Install sphinx
440429
command: |
441-
source /opt/mambaforge/etc/profile.d/conda.sh
430+
source /opt/miniforge/etc/profile.d/conda.sh
442431
conda activate lcdb-wf-test
443-
mamba install -y sphinx make yaml
432+
conda install -y sphinx make yaml
444433
- run:
445434
name: OK for unknown github host
446435
command: mkdir -p ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config
@@ -450,7 +439,7 @@ jobs:
450439
- run:
451440
name: Build and upload docs
452441
command: |
453-
source /opt/mambaforge/etc/profile.d/conda.sh
442+
source /opt/miniforge/etc/profile.d/conda.sh
454443
conda activate lcdb-wf-test
455444
ci/build-docs.sh
456445
- store_artifacts:
@@ -466,7 +455,7 @@ jobs:
466455
- run:
467456
name: Report environment
468457
command: |
469-
source /opt/mambaforge/etc/profile.d/conda.sh
458+
source /opt/miniforge/etc/profile.d/conda.sh
470459
conda env export -n lcdb-wf-test > /tmp/env.yaml
471460
conda env export -n lcdb-wf-test-r > /tmp/env-r.yaml
472461
- store_artifacts:
@@ -504,10 +493,10 @@ workflows:
504493
requires:
505494
- initial-setup
506495
- pytest
507-
- colocalization:
508-
requires:
509-
- initial-setup
510-
- pytest
496+
# - colocalization:
497+
# requires:
498+
# - initial-setup
499+
# - pytest
511500
- build-docs:
512501
requires:
513502
- initial-setup
@@ -518,4 +507,4 @@ workflows:
518507
- chipseq
519508
- chipseq-misc
520509
- references
521-
- colocalization
510+
# - colocalization

docs/changelog.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,51 @@
11
Changelog
22
=========
33

4+
v1.12
5+
-----
6+
7+
- Fixed render_r1_r2 function(s) in Snakefiles (#413) which cleans up some
8+
Snakefile functions
9+
10+
- add Plodia interpunctella reference config (#417) which adds some
11+
postprocessing functionality for dealing with references in zip files, and
12+
adds references for Plodia interpunctella
13+
14+
- Make ``strand_arg`` a param (#415) which moves strandedness arguments to
15+
params: directive, letting jobs re-run if strandedness changed in config.
16+
Previously, rules needed to be manually re-run after changing strandedness in
17+
config.
18+
19+
- Update ``plotting.R`` (#423) to fix a typo in the (infrequently-used)
20+
lcdbwf::vargenes_heatmap() function
21+
22+
- Change SRA fastq directory (#418) which improves how SRA-configured runs are
23+
handled, addressing #408
24+
25+
- Use tempdir, if configured, for STAR (#425) which allows STAR to use a temp
26+
dir if configured
27+
28+
v1.11
29+
-----
30+
31+
- Add samtools stats and samtools flagstat (#397) for additional QC options
32+
33+
- Generate RDS object ready for carnation (#399), which overhauls the way
34+
output Rds objects are made from RNA-seq downstream RMarkdown files. This
35+
prepares for integration with Carnation, an interactive web interface
36+
currently still in development but being used internally Rds files are
37+
dramatically smaller after stripping out superfluous data Better support for
38+
running rnaseq.Rmd followed by functional-enrichment.Rmd, and/or
39+
gene-patterns.Rmd without overwriting existing Rds files.
40+
41+
- Limit background genes in overrepresentation analysis in
42+
functional-enrichment.Rmd (#401) to support universe of expressed genes by
43+
default when running functional enrichment, while also supporting
44+
customization if needed.
45+
46+
- Implemented LRT functionality (#396) to support LRT in the lcdb::make_results
47+
machinery
48+
449
v1.10.3
550
-------
651

0 commit comments

Comments
 (0)