From b8ffb7b92a51df80ec588fc05eae29e35ff7739f Mon Sep 17 00:00:00 2001 From: Blaise Li <blaise.li__git@nsup.org> Date: Wed, 5 Feb 2020 12:49:36 +0100 Subject: [PATCH] Installing ipython and numpy in the container. numpy is to try to force numpy support in pyBedTools. --- PRO-seq/PRO-seq.snakefile | 2 +- RNA_Seq_Cecere/RNA-seq.snakefile | 2 +- Ribo-seq/Ribo-seq.snakefile | 4 ++-- singularity/Makefile | 1 + singularity/run_pipeline.def | 4 ++++ small_RNA-seq/small_RNA-seq.snakefile | 4 ++-- 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/PRO-seq/PRO-seq.snakefile b/PRO-seq/PRO-seq.snakefile index f7dca28..f8717af 100644 --- a/PRO-seq/PRO-seq.snakefile +++ b/PRO-seq/PRO-seq.snakefile @@ -1194,7 +1194,7 @@ rule merge_bigwig_reps: warn(f"The bigwig files without {chrom} will be skipped.\n") to_use = [bw for bw in bws if chrom in bw.chroms()] if to_use: - means = np.nanmean(np.vstack([bw.values(chrom, 0, chrom_len) for bw in to_use]), axis=0) + means = np.nanmean(np.vstack([bw.values(chrom, 0, chrom_len, numpy=True) for bw in to_use]), axis=0) else: means = np.zeros(chrom_len) # bin size is 10 diff --git a/RNA_Seq_Cecere/RNA-seq.snakefile b/RNA_Seq_Cecere/RNA-seq.snakefile index fd2c89c..a420f59 100644 --- a/RNA_Seq_Cecere/RNA-seq.snakefile +++ b/RNA_Seq_Cecere/RNA-seq.snakefile @@ -1510,7 +1510,7 @@ rule merge_bigwig_reps: warn(f"The bigwig files without {chrom} will be skipped.\n") to_use = [bw for bw in bws if chrom in bw.chroms()] if to_use: - means = np.nanmean(np.vstack([bw.values(chrom, 0, chrom_len) for bw in to_use]), axis=0) + means = np.nanmean(np.vstack([bw.values(chrom, 0, chrom_len, numpy=True) for bw in to_use]), axis=0) else: means = np.zeros(chrom_len) # bin size is 10 diff --git a/Ribo-seq/Ribo-seq.snakefile b/Ribo-seq/Ribo-seq.snakefile index fe5a3e0..f48f972 100644 --- a/Ribo-seq/Ribo-seq.snakefile +++ b/Ribo-seq/Ribo-seq.snakefile @@ -1871,7 +1871,7 @@ rule merge_bigwig_reps: warn(f"The bigwig files without {chrom} will be skipped.\n") to_use = [bw for bw in bws if chrom in bw.chroms()] if to_use: - means = np.nanmean(np.vstack([bw.values(chrom, 0, chrom_len) for bw in to_use]), axis=0) + means = np.nanmean(np.vstack([bw.values(chrom, 0, chrom_len, numpy=True) for bw in to_use]), axis=0) else: means = np.zeros(chrom_len) # bin size is 10 @@ -1909,7 +1909,7 @@ rule make_bigwig_ratios: for (chrom, chrom_len) in bw_out.chroms().items(): assert cond_bw.chroms()[chrom] == chrom_len #ratios = np.divide(cond_bw.values(chrom, 0, chrom_len), ref_bw.values(chrom, 0, chrom_len)) - ratios = np.log2(np.divide(cond_bw.values(chrom, 0, chrom_len), ref_bw.values(chrom, 0, chrom_len))) + ratios = np.log2(np.divide(cond_bw.values(chrom, 0, chrom_len, numpy=True), ref_bw.values(chrom, 0, chrom_len, numpy=True))) # bin size is 10 bw_out.addEntries(chrom, 0, values=np.nan_to_num(ratios[0::10]), span=10, step=10) bw_out.close() diff --git a/singularity/Makefile b/singularity/Makefile index fca3110..461090b 100644 --- a/singularity/Makefile +++ b/singularity/Makefile @@ -17,6 +17,7 @@ install: run_pipeline run_pipeline.sh workflows_shell.sh done ln -sfn $(PREFIX)_$(VERSION) $(PREFIX) +# TODO: Bind home on temporary directory at build time in order to decrease "pollution" risks? # Should depend on the rest of the repository. run_pipeline: run_pipeline.def nohup sh -c "yes | sudo singularity build run_pipeline run_pipeline.def > build.err 2>&1" & diff --git a/singularity/run_pipeline.def b/singularity/run_pipeline.def index b1ec5e1..be2ff9f 100644 --- a/singularity/run_pipeline.def +++ b/singularity/run_pipeline.def @@ -83,6 +83,10 @@ From:python:3.7-buster # (that will be mounted during singularity build) export PYTHONNOUSERSITE=1 python3.7 -m pip install --upgrade pip + # Useful for experimenting in shell mode + python3.7 -m pip install ipython + # Should be installed before pyBedTools for the latter to have numpy support + python3.7 -m pip install numpy # Needs to install before custom pybedtools # python3.7 -m pip install pysam # To get scipy properly built as requirement: diff --git a/small_RNA-seq/small_RNA-seq.snakefile b/small_RNA-seq/small_RNA-seq.snakefile index d2a5ee4..8321774 100644 --- a/small_RNA-seq/small_RNA-seq.snakefile +++ b/small_RNA-seq/small_RNA-seq.snakefile @@ -2841,7 +2841,7 @@ rule merge_bigwig_reps: raise to_use = [bw for bw in bws if chrom in bw.chroms()] if to_use: - means = np.nanmean(np.vstack([bw.values(chrom, 0, chrom_len) for bw in to_use]), axis=0) + means = np.nanmean(np.vstack([bw.values(chrom, 0, chrom_len, numpy=True) for bw in to_use]), axis=0) else: means = np.zeros(chrom_len) # bin size is 10 @@ -2882,7 +2882,7 @@ rule make_bigwig_ratios: for (chrom, chrom_len) in bw_out.chroms().items(): assert cond_bw.chroms()[chrom] == chrom_len #ratios = np.divide(cond_bw.values(chrom, 0, chrom_len), ref_bw.values(chrom, 0, chrom_len)) - ratios = np.log2(np.divide(cond_bw.values(chrom, 0, chrom_len), ref_bw.values(chrom, 0, chrom_len))) + ratios = np.log2(np.divide(cond_bw.values(chrom, 0, chrom_len, numpy=True), ref_bw.values(chrom, 0, chrom_len, numpy=True))) # bin size is 10 bw_out.addEntries(chrom, 0, values=np.nan_to_num(ratios[0::10]), span=10, step=10) bw_out.close() -- GitLab