CALeDNA container (build with npm i mkcontainer -g)
| #! /bin/bash | |
| #$ -S /bin/bash | |
| #$ -q std.q | |
| #$ -cwd | |
| #$ -N anacapa-co1-mock-blca | |
| #$ -j y | |
| #$ -o anacapa-co1-mock-blca-out.qlog | |
| #$ -e anacapa-co1-mock-blca-err.qlog | |
| #$ -l mem_free=48G | |
| #$ -pe smp 1 | |
| #$ -V | |
| /opt/singularity-2.4.2/bin/singularity exec -B /act /home/mogden2/anacapa-1.0.0.img /bin/bash -c "time /home/mogden2/Anacapa-git/Anacapa_db/anacapa_bowtie2_blca.sh -o /home/mogden2/results-mock -d /home/mogden2/Anacapa-git/Anacapa_db -k /home/mogden2/Anacapa-git/Anacapa_db/scripts/merced-hpc-headers.sh -u mogden2" |
| #! /bin/bash | |
| #$ -S /bin/bash | |
| #$ -q std.q | |
| #$ -cwd | |
| #$ -N anacapa-co1-mock | |
| #$ -j y | |
| #$ -o anacapa-co1-mock-out.qlog | |
| #$ -e anacapa-co1-mock-err.qlog | |
| #$ -l mem_free=48G | |
| #$ -pe smp 1 | |
| #$ -V | |
| time /opt/singularity-2.4.2/bin/singularity exec -B /act /home/mogden2/anacapa-1.1.0.img /bin/bash -c "time /home/mogden2/Anacapa-git/Anacapa_db/anacapa_QC_dada2.sh -i /home/mogden2/Mock_CO1_Leray_Knowlton/CO1_Leray_and_Knowlton_fastq-2x300 -o /home/mogden2/results-mock -d /home/mogden2/Anacapa-git/Anacapa_db -k /home/mogden2/Anacapa-git/Anacapa_db/scripts/merced-hpc-headers.sh -f /home/mogden2/Mock_CO1_Leray_Knowlton/forward_CO1_p.txt -r /home/mogden2/Mock_CO1_Leray_Knowlton/reverse_CO1_p.txt -a nextera -t MiSeq" |
| CUTADAPT="/usr/local/anacapa/anaconda/bin/cutadapt" | |
| MUSCLE="/usr/local/bin/muscle" | |
| MODULE_SOURCE="" | |
| FASTX_TOOLKIT="" | |
| ANACONDA_PYTHON="" | |
| BOWTIE2="" | |
| ATS="" | |
| R="" | |
| PYTHONWNUMPY="" | |
| GCC="" | |
| LOCALMODE=TRUE |
| #!/usr/bin/bash | |
| mkdir mnt cache | |
| set -e | |
| mkcontainer-generate | |
| make CACHE=$PWD/cache | |
| sudo losetup -Pf container.img --show | |
| sudo mount /dev/loop0p1 mnt # todo detect correct one from --show above | |
| sudo singularity build --writable singularity.img mnt | |
| sudo umount mnt | |
| sudo losetup -D # todo figure out how to detach only ours from above, not all |
| ENV NSPAWN_BOOTSTRAP_IMAGE_SIZE=10GB | |
| FROM ubuntu:xenial | |
| # set unlimited bash history | |
| # nspawn needs resolv.conf to be set up for internet to work | |
| # password gets changed so we can login later | |
| RUN mkdir /usr/local/anacapa && \ | |
| cd /usr/local/anacapa && \ | |
| echo "export HISTFILESIZE=" >> .bashrc && \ | |
| echo "export HISTSIZE=" >> .bashrc && \ | |
| rm -f /etc/resolv.conf && echo '8.8.8.8' > /etc/resolv.conf && \ | |
| echo "root:root" | chpasswd && \ | |
| # install apt + npm dependencies | |
| RUN apt-get install software-properties-common apt-transport-https curl wget git libssl-dev libcurl4-openssl-dev libxml2-dev -y && \ | |
| apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 && \ | |
| add-apt-repository 'deb [arch=amd64,i386] https://cran.rstudio.com/bin/linux/ubuntu xenial/' && \ | |
| add-apt-repository universe && \ | |
| apt-get update && \ | |
| apt-get install r-base -y && \ | |
| wget -P /tmp/ "http://repo.continuum.io/archive/Anaconda2-5.0.1-Linux-x86_64.sh" && \ | |
| bash "/tmp/Anaconda2-5.0.1-Linux-x86_64.sh" -b -p /usr/local/anacapa/anaconda && \ | |
| echo "export PATH=/usr/local/anacapa/anaconda/bin:\$PATH" >> /usr/local/anacapa/.bashrc && \ | |
| curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - && \ | |
| apt-get install -y nodejs && \ | |
| npm i dat -g | |
| # download scripts from this gist and install R modules | |
| RUN cd /usr/local/anacapa && \ | |
| . /usr/local/anacapa/.bashrc && \ | |
| git clone https://gist.github.com/maxogden/7ad5c0e81ee003fde843f6a133d94b86 gist && \ | |
| mv gist/run.sh run.sh && \ | |
| chmod +x run.sh && \ | |
| Rscript --vanilla gist/install-deps.R && \ | |
| chmod o+w /usr/local/lib/R/site-library | |
| # install python modules | |
| RUN cd /usr/local/anacapa & \ | |
| . /usr/local/anacapa/.bashrc && \ | |
| pip install biopython cutadapt && \ | |
| conda config --add channels r && \ | |
| conda config --add channels defaults && \ | |
| conda config --add channels conda-forge && \ | |
| conda config --add channels bioconda && \ | |
| conda install -yqc bioconda phyloseq ecopcr obitools blast bowtie2 | |
| # install hoffman software | |
| RUN cd /usr/local/anacapa && \ | |
| dat clone $HOFFMANDEPS hoffman-deps && \ | |
| tar xzvf hoffman-deps/fastx_toolkit.tar.gz && \ | |
| mkdir -p /u/local && \ | |
| ln -s /usr/local/anacapa/apps /u/local/apps && \ | |
| echo "export PATH=/usr/local/anacapa/apps/fastx_toolkit/0.0.13.2/gcc-4.4.6/bin/:\$PATH" >> .bashrc && \ | |
| tar xzvf hoffman-deps/libgtextutils.tar.gz && \ | |
| echo "/usr/local/anacapa/apps/libgtextutils/0.6.1/gcc-4.4.6/lib/" > /etc/ld.so.conf.d/libgtextutils.conf && \ | |
| ldconfig && \ | |
| tar xzvf hoffman-deps/bowtie2-2.2.9.tar.gz && \ | |
| echo "export PATH=/usr/local/anacapa/apps/bowtie2/2.2.9:\$PATH" >> .bashrc && \ | |
| cp hoffman-deps/muscle3.8.31_i86linux64 /usr/local/bin/muscle && \ | |
| chmod +x /usr/local/bin/muscle |
| # Manage packages ----- | |
| #1. Download packages from CRAN | |
| .cran_packages <- c("ggplot2", "plyr", "dplyr","seqRFLP", "reshape2", "tibble", "devtools", "Matrix", "mgcv", "readr", "stringr") | |
| .inst <- .cran_packages %in% installed.packages() | |
| if (any(!.inst)) { | |
| install.packages(.cran_packages[!.inst], repos = "http://cran.rstudio.com/") | |
| } | |
| # 2. Download packages from biocLite | |
| .bioc_packages <- c("phyloseq", "genefilter", "impute", "Biostrings") | |
| .inst <- .bioc_packages %in% installed.packages() | |
| if (any(!.inst)) { | |
| source("http://bioconductor.org/biocLite.R") | |
| biocLite(.bioc_packages[!.inst]) | |
| } | |
| .dada_version = "1.6.0" | |
| .dada_version_gh = "v1.6" | |
| if("dada2" %in% installed.packages()){ | |
| if(packageVersion("dada2") == .dada_version) { | |
| cat("congrats, right version of dada2") | |
| } else { | |
| devtools::install_github("benjjneb/dada2", ref=.dada_version_gh) | |
| } | |
| } | |
| if(!("dada2" %in% installed.packages())){ | |
| # if the user doesn't have dada2 installed, install version 1.6 from github | |
| devtools::install_github("benjjneb/dada2", ref=.dada_version_gh) | |
| } | |
| library("dada2") | |
| cat(paste("dada2 package version:", packageVersion("dada2"))) | |
| if(packageVersion("dada2") != '1.6.0') { | |
| stop("Please make sure you have dada version ", .dada_version, " installed") | |
| } |
| # works on ucmerced | |
| DADA2_PAIRED_HEADER="#!/bin/bash\n#$ -q std.q\n#$ -cwd\n#$ -l mem_free=48G\n#$ -pe smp 1\n#$ -N paired_dada2\n#$ -M ${UN}\n#$ -o ${OUT}/Run_info/run_logs/paired.out\n#$ -e ${OUT}/Run_info/run_logs/paired.err" | |
| DADA2_UNPAIRED_F_HEADER="#!/bin/bash\n#$ -q std.q\n#$ -cwd\n#$ -l mem_free=48G\n#$ -pe smp 1\n#$ -N unpaired_F_dada2\n#$ -M ${UN}\n#$ -o ${OUT}/Run_info/run_logs/unpaired_F.out\n#$ -e ${OUT}/Run_info/run_logs/unpaired_F.err" | |
| DADA2_UNPAIRED_R_HEADER="#!/bin/bash\n#$ -q std.q\n#$ -cwd\n#$ -l mem_free=48G\n#$ -pe smp 1\n#$ -N unpaired_R_dada2\n#$ -M ${UN}\n#$ -o ${OUT}/Run_info/run_logs/unpaired_R.out\n#$ -e ${OUT}/Run_info/run_logs/unpaired_R.err" | |
| B2_HEADER="#!/bin/bash\n#$ -q std.q\n#$ -cwd\n#$ -l mem_free=48G\n#$ -pe smp 1\n#$ -N bowtie2_blca \n#$ -M ${UN}\n#$ -o ${OUT}/Run_info/run_logs/bowtie2_blca${MB}.out \n#$ -e ${OUT}/Run_info/run_logs/bowtie2_blca${MB}.alignment_stats" | |
| BLCA_HEADER="#!/bin/bash\n#$ -q std.q\n#$ -cwd\n#$ -l mem_free=48G\n#$ -pe smp 1\n#$ -N BLCA_${MB} \n#$ -M ${UN}\n#$ -o ${OUT}/Run_info/run_logs/blca${MB}.out\n#$ -e ${OUT}/Run_info/run_logs/blca${MB}.err" |
| #!/bin/bash | |
| dat clone $TAXON taxonref20171118 | |
| dat clone $DATA CO1_mock_data | |
| find anacapa-git -name "*.sh" | xargs chmod +x | |
| cd anacapa-git/Anacapa_db | |
| ls ../taxonref/*_filtered* | xargs -L 1 tar xzvf | |
| mv 12S_db_filtered_to_remove_ambigous_taxonomy 12S | |
| mv 16S_db_filtered_to_remove_ambigous_taxonomy 16S | |
| mv 18S_db_filtered_to_remove_ambigous_taxonomy 18S | |
| mv FITS_db_filtered_to_remove_ambigous_taxonomy FITS | |
| mv PITS_db_filtered_to_remove_ambigous_taxonomy PITS | |
| mv CO1_db_filtered_to_remove_ambigous_taxonomy CO1 | |
| cp ../../gist/anacapa_config.sh scripts/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment