mticlla/MetagenomicSnake:preqc
$ singularity pull shub://mticlla/MetagenomicSnake:preqc
Singularity Recipe
# Author(s): Monica R. Ticlla
# Afiliation(s):
# - Swiss Institute of Bioinformatics (SIB)
# - Swiss Tropical and Public Health Institute (SwissTPH)
# - University of Basel (UNIBAS)
Bootstrap: docker
From: centos:7
# ==============================================================================
# Global Help
# ==============================================================================
%help
This image contains software for quality control and preprocessing of sequencing
data. It was built with CentOS 7 as base OS and Python 3.6. Although this is a
companion container of the MetagenomicSnake workflow, it can also be used separately.
Usage:
- To list available Apps:
singularity apps <CONTAINER_PATH>
- To get help for a particular APP:
singularity help --app <APP_NAME> <CONTAINER_PATH>
- To run a particular APP:
singularity run --app <APP_NAME> <CONTAINER_PATH>
%labels
# ==============================================================================
# Labels
# ==============================================================================
AUTHOR mticlla@gmail.com
MAINTAINER mticlla@gmail.com
BUILD_VERSION v0.1
# ==============================================================================
# Global Environment
# ==============================================================================
%environment
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export LC_ALL=en_US.UTF-8
# ==============================================================================
# Global installation
# ==============================================================================
%post
# set environment variables for build time
echo "Setting environment variables for build time ..."
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export LC_ALL=en_US.UTF-8
# Install core packages
yum -y update
echo "Installing development tools ..."
yum -y groupinstall "Development tools"
yum -y makecache
yum -y install unzip
yum -y install which
yum -y install hg
yum -y install gcc
yum -y install gcc-c++
yum -y install zlib-devel
yum -y install libstdc++-static
yum -y install wget
yum -y install bzip2
yum -y install git
yum -y install make
yum -y install nano
yum -y install perl
# Install Java
yum -y install java-1.8.0-openjdk-devel
# Install pigz
yum -y install pigz
# Install conda
curl -sSL -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -p /opt/miniconda3 -b
rm -fr Miniconda3-latest-Linux-x86_64.sh
export PATH=/opt/miniconda3/bin:$PATH
echo "export PATH=/opt/miniconda3/bin:\$PATH" >> $SINGULARITY_ENVIRONMENT
conda update --yes -n base conda
conda install --yes gcc_linux-64
conda install --yes gxx_linux-64
conda install --yes python==3.6
%runscript
echo "This image has the following software installed:"
fastqc --version
echo "BBTools $(tail -n1 /scif/apps/BBTools/bbmap/README.md | cut -d' ' -f 2,3)"
multiqc --version
cutadapt --help| head -n1
fastp --version
echo -e "\nHow to use these programs?:"
echo "Example: singularity exec <CONTAINER_PATH> fastp --help"
echo -e "\nThese programs are also available as SCIF applications:"
ls /scif/apps | sort -u
echo -e "\nHow to use a SCIF APP?:"
echo "Example: singularity run --app FastQC <CONTAINER_PATH>\n"
# ==============================================================================
# SCIF Apps
# ==============================================================================
# FastQC
# ==============================================================================
%applabels FastQC
VERSION v0.11.8
%appenv FastQC
FASTQC_VERSION='0.11.8'
export FASTQC_VERSION
%appinstall FastQC
FASTQC_VERSION='0.11.8'
yum -y install java-1.8.0-openjdk-devel
wget https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v${FASTQC_VERSION}.zip
unzip fastqc_v${FASTQC_VERSION}.zip
rm fastqc_v${FASTQC_VERSION}.zip
cd FastQC/
chmod 755 fastqc
ln -s /scif/apps/FastQC/FastQC/fastqc /usr/local/bin/fastqc
%apphelp FastQC
From [FastQC website](http://www.bioinformatics.babraham.ac.uk/projects/fastqc):
FastQC aims to provide a simple way to do some quality control checks on raw
sequence data coming from high throughput sequencing pipelines. It provides a
modular set of analyses which you can use to give a quick impression of whether
your data has any problems of which you should be aware before doing any further
analysis.
%apprun FastQC
exec fastqc "$@"
%apptest FastQC
fastqc --version
if [ $? -ne 0 ] ; then
echo "FastQC installation failed!"
else
echo "FastQC installed successfully!"
fi
# BBTools
# ==============================================================================
%applabels BBTools
VERSION v38.39
%appenv BBTools
BBTOOLS_VERSION='38.39'
export BBTOOLS_VERSION
BBTOOLS=/scif/apps/BBTools/bbmap
export BBTOOLS
%appinstall BBTools
BBTOOLS_VS='38.39'
yum -y install java-1.8.0-openjdk-devel
wget https://sourceforge.net/projects/bbmap/files/BBMap_${BBTOOLS_VS}.tar.gz
tar -xzf BBMap_${BBTOOLS_VS}.tar.gz
rm BBMap_${BBTOOLS_VS}.tar.gz
ln -s /scif/apps/BBTools/bbmap /scif/apps/BBTools/bin
echo "export PATH=/scif/apps/BBTools/bbmap:\$PATH" >> $SINGULARITY_ENVIRONMENT
%apphelp BBTools
From [BBTools website](https://jgi.doe.gov/data-and-tools/bbtools/):
BBTools is a suite of fast, multithreaded bioinformatics tools designed for
analysis of DNA and RNA sequence data. BBTools can handle common sequencing
file formats such as fastq, fasta, sam, scarf, fasta+qual, compressed or raw,
with autodetection of quality encoding and interleaving. It is written in Java
and works on any platform supporting Java, including Linux, MacOS, and Microsoft
Windows and Linux; there are no dependencies other than Java (version 7 or higher).
Program descriptions and options are shown when running the shell scripts with
no parameters.
BBTools is open source and free for unlimited use, and is used regularly by
DOE JGI and other institutions around the world.
USAGE:
Once the container has been built, BBTools tools (e.g reformat.sh) can be used
in any of the following ways:
- Option 1:
singularity exec --app BBTools <SINGULARITY_CONTAINER_PATH> reformat.sh --help
- Option 2:
singularity exec <SINGULARITY_CONTAINER_PATH> reformat.sh --help
- Option 3 :from inside the container
reformat.sh --help
%apprun BBTools
echo -e "
BBTools v${BBTOOLS_VERSION} is a suite of tools designed for analysis of DNA
and RNA sequence data.For help, run:
singularity help --app BBTools <CONTAINER_PATH>
"
%apptest BBTools
export BBTOOLS=/scif/apps/BBTools/bbmap
${BBTOOLS}/stats.sh in=${BBTOOLS}/resources/phix174_ill.ref.fa.gz
if [ $? -ne 0 ] ; then
echo "BBTools installation failed!"
else
echo "BBTools installed successfully!"
fi
# MultiQC
# ==============================================================================
%appinstall MultiQC
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export LC_ALL=en_US.UTF-8
export PATH=/opt/miniconda3/bin:$PATH
git clone https://github.com/ewels/MultiQC.git
cd MultiQC/
pip install setuptools
python setup.py install
%apphelp MultiQC
From [MultiQC website](https://multiqc.info/docs/)
MultiQC is a reporting tool that parses summary statistics from results and log
files generated by other bioinformatics tools. MultiQC doesn't run other tools
for you - it's designed to be placed at the end of analysis pipelines or to be
run manually when you've finished running your tools.
When you launch MultiQC, it recursively searches through any provided file paths
and finds files that it recognizes. It parses relevant information from these
and generates a single stand-alone HTML report file. It also saves a directory
of data files with all parsed data for further downstream use.
%apprun MultiQC
exec multiqc "$@"
%apptest MultiQC
multiqc --version
if [ $? -ne 0 ] ; then
echo "MultiQC installation failed!"
else
echo "MultiQC installed successfully!"
fi
# cutadapt
# ==============================================================================
%applabel cutadapt
VERSION v2.3
%appinstall cutadapt
export PATH=/opt/miniconda3/bin:$PATH
pip install "cutadapt==2.3"
%apphelp cutadapt
From [Cuatadapt website](https://cutadapt.readthedocs.io/en/stable/index.html)
Cutadapt finds and removes adapter sequences, primers, poly-A tails and other
types of unwanted sequence from your high-throughput sequencing reads.
%apprun cutadapt
exec cutadapt "$@"
%apptest cutadapt
cutadapt --help| head -n1
if [ $? -ne 0 ] ; then
echo "cutadapt installation failed!"
else
echo "cutadapt installed successfully!"
fi
# fastp
# ==============================================================================
%appinstall fastp
git clone https://github.com/OpenGene/fastp.git
cd fastp
make
make install
%apphelp fastp
From [fastp website](https://github.com/OpenGene/fastp)
A tool designed to provide fast all-in-one preprocessing for FastQ files.
This tool is developed in C++ with multithreading supported to afford high
performance.
%apprun fastp
exec fastp "$@"
%apptest fastp
fastp --version
if [ $? -ne 0 ] ; then
echo "fastp installation failed!"
else
echo "fastp installed successfully!"
fi
Collection
- Name: mticlla/MetagenomicSnake
- License: None
View on Datalad
Metrics
key | value |
---|---|
id | /containers/mticlla-MetagenomicSnake-preqc |
collection name | mticlla/MetagenomicSnake |
branch | master |
tag | preqc |
commit | 17e16c0bc368a90cc4ba7ff48936e98e48011b53 |
version (container hash) | d685ffd621cef3499efdfd2078bf9663 |
build date | 2020-04-08T14:51:54.474Z |
size (MB) | 2162 |
size (bytes) | 859803679 |
SIF | Download URL (please use pull with shub://) |
Datalad URL | View on Datalad |
Singularity Recipe | Singularity Recipe on Datalad |
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.