From db57e4495da88e4469615c3d18eb6b6511735293 Mon Sep 17 00:00:00 2001 From: Angeline Aguinaldo Date: Thu, 12 Nov 2020 20:18:05 -0500 Subject: [PATCH] initial commit --- .gitignore | 90 +++++++++ Dockerfile | 82 ++++++++ README.md | 125 +++++++++++++ data/iss_model_iSeq_min120.npz | Bin 0 -> 180754 bytes data/strawman_envassay.tsv | 10 + environment.yml | 65 +++++++ scripts/install.sh | 87 +++++++++ scripts/remapOxfordFastq.sh | 82 ++++++++ scripts/separate_seqs.py | 42 +++++ scripts/sim_module_wrapper.sh | 330 +++++++++++++++++++++++++++++++++ scripts/simulate.sh | 148 +++++++++++++++ 11 files changed, 1061 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 data/iss_model_iSeq_min120.npz create mode 100644 data/strawman_envassay.tsv create mode 100644 environment.yml create mode 100644 scripts/install.sh create mode 100644 scripts/remapOxfordFastq.sh create mode 100644 scripts/separate_seqs.py create mode 100644 scripts/sim_module_wrapper.sh create mode 100644 scripts/simulate.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..18327d5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,90 @@ +**/data/metasim-strawman_envassay.tsv +**/data/test +tmp +src + +### Intellij+all ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### Intellij+all Patch ### +# Ignores the whole .idea folder and all .iml files +# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360 + +.idea/ + +# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023 + +*.iml +modules.xml +.idea/misc.xml +*.ipr + +# Sonarlint plugin +.idea/sonarlint diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..84157c3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,82 @@ +# docker build -t meta_simulator:latest . + +FROM python:3.8-slim + +# Explicit User (top of file to avoid conflicts down the line with IDs) +# Number should be same as meta_system to prevent conflicts... +ENV APP_USER simulator +ENV APP_WORK_DIR /home/${APP_USER} +ENV CONDA_VERSION 2020.07 +RUN groupadd -r -g 999 ${APP_USER} && useradd -m -r -g ${APP_USER} -u 999 ${APP_USER} + +# https://github.com/tianon/gosu/releases +# https://github.com/krallin/tini +RUN set -eux; \ + apt-get update; \ + apt-get install -y gosu tini; \ + rm -rf /var/lib/apt/lists/*; \ + gosu nobody true + +# Install System Level Dependencies (Scripts, Simulator, guppy basecaller) +RUN set -eux; \ + apt-get update; \ + apt-get install -y libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6; \ + apt-get install --no-install-recommends -y bc git wget curl gawk gzip parallel build-essential libidn11; \ + rm -rf /var/lib/apt/lists/* + +# Setup Conda +# https://docs.anaconda.com/anaconda/install/linux/ +ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 +ENV PATH /opt/conda/bin:$PATH +RUN set -eux; \ + mkdir -p /opt/conda; \ + chown ${APP_USER}:${APP_USER} /opt/conda; \ + gosu ${APP_USER} wget --quiet https://repo.anaconda.com/archive/Anaconda3-${CONDA_VERSION}-Linux-x86_64.sh -O ${APP_WORK_DIR}/anaconda.sh; \ + gosu ${APP_USER} /bin/bash ${APP_WORK_DIR}/anaconda.sh -b -u -p /opt/conda; \ + rm ${APP_WORK_DIR}/anaconda.sh; \ + ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh + +# Copy code to working directory +COPY --chown=${APP_USER}:${APP_USER} scripts ${APP_WORK_DIR}/scripts/ +COPY --chown=${APP_USER}:${APP_USER} data/iss_model_iSeq_min120.npz ${APP_WORK_DIR}/data/iss_model_iSeq_min120.npz +COPY --chown=${APP_USER}:${APP_USER} data/strawman_envassay.tsv ${APP_WORK_DIR}/data/strawman_envassay.tsv +COPY --chown=${APP_USER}:${APP_USER} environment.yml ${APP_WORK_DIR} + +# Switch User (this is fine for now because volumes mounted are 999 writable) +USER ${APP_USER} + +# Tune Working Directory +WORKDIR ${APP_WORK_DIR} + +# Install Conda dependencies for META Simulator +RUN set -eux; \ + echo ". /opt/conda/etc/profile.d/conda.sh" | tee -a ~/.bashrc; \ + echo "conda activate base" | tee -a ~/.bashrc; \ + . /opt/conda/etc/profile.d/conda.sh; \ + conda env create -f environment.yml + +# Run install script for DeepSim, change permissions of shell files +RUN set -eux; \ + . /opt/conda/etc/profile.d/conda.sh; \ + conda activate simulator; \ + chmod +x scripts/sim_module_wrapper.sh; \ + chmod +x scripts/install.sh; \ + ${APP_WORK_DIR}/scripts/install.sh + +# Install other dependencies for DeepSim +RUN set -eux; \ + . /opt/conda/etc/profile.d/conda.sh; \ + conda activate tensorflow_cdpm; \ + pip install tensorflow==1.2.1; \ + pip install tflearn==0.3.2; \ + pip install tqdm==4.19.4; \ + pip install scipy==0.18.1; \ + pip install h5py==2.7.1; \ + pip install numpy==1.13.1; \ + pip install scikit-learn==0.20.3; \ + pip install biopython==1.74 + +# Enable Process Ripper +ENTRYPOINT ["/usr/bin/tini", "--"] + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..7193e29 --- /dev/null +++ b/README.md @@ -0,0 +1,125 @@ +# Metagenomics Evaluation & Testing Analysis (META) Simulator + +Compares open-source metagenomic classification tool performance (precision, sensitivity, runtime) across various +sequencing platforms ([Illumina MiSeq/iSeq](https://www.illumina.com/), [Oxford Nanopore MinION](https://nanoporetech.com/)) and use cases + (metagenomic profiles). + +## Summary + + - [Getting Started](#getting-started) + - [Running](#running) + - [License](#license) + +## Getting Started + +These instructions will get you a copy of the project up and running on +your local machine for development and testing purposes. + +### Prerequisites + +The META system has been designed to run on Linux (specifically, tested on Ubuntu 18.04) and in Docker containers. +The following packages are required: + +* [Docker-ce 19.03](https://docs.docker.com/engine/) + +Here is an example of how to install these on Ubuntu 18.04: + +```bash +# Install Docker engine (reference: https://docs.docker.com/engine/install/ubuntu/) +sudo apt-get remove docker docker-engine docker.io containerd runc +sudo apt-get update +sudo apt-get install \ + apt-transport-https \ + ca-certificates \ + curl \ + gnupg-agent \ + software-properties-common +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +sudo add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) \ + stable" +sudo apt-get update +sudo apt-get install docker-ce docker-ce-cli containerd.io +sudo docker run hello-world # to verify successful install +``` + +### Installing + +To build the META Simulator, run the following from the root directory of `meta_simulator`: +```bash +docker build -t meta_simulator:latest . +``` + +### Integrating with Docker-based Meta System + +To integrate the META simulator with the Docker-based Meta System, you will need to export the meta_simulator into a docker tarfile and save it in the `meta_system/data/docker` directory. + +1. To export the meta_simulator, run the following command: + ```bash + docker save -o meta_simulator.tar meta_simulator:latest + ``` +2. Move `meta_simulator.tar` to `meta_system/data/docker` +3. To make sure it loads on `meta_system` run `make load-docker` on `meta_system` + +## Running + +The META Simulator requires an abundance profile TSV. An *abundance profile* is expressed as a tab-delimited text file (TSV) where the first column contains the leaf taxonomic ID, the second column contains the corresponding abundance proportion (must sum to 1.000000), and the third column designates the organism as being foreground (`1`) or background (`0`). There should be no headers in the abundance profile TSV. An example is shown below: +```TSV +400667 0.10 1 +435590 0.10 1 +367928 0.10 1 +864803 0.10 1 +1091045 0.10 1 +349101 0.10 1 +1282 0.10 1 +260799 0.10 1 +1529886 0.10 1 +198094 0.10 1 +``` +An example TSV is included within the Docker container in `data/test/strawman_envassay.tsv`. + +The META Simulator accepts the following arguments: + +* `-t` number of threads to use for simulations +* `-i` list of taxid with associated abundance (totalling 1.0) +* `-p` sequencing platform to simulate reads for (case sensitive) + * The options are: + * `iseq` Illumina iSeq 100 + * `miseq` Illumina MiSeq (assuming both illumina platforms have spot count of 8M, and taking 1/100 of this) [80,000] + * `r9` Oxford Nanopore R9 flowcell (MIN106) - best performance at 50Gbp output (will assume 20Gbp and 20kb avg read length = 1M reads) [10,000] + * `flg` Oxford Nanopore Flongle flowcell (FLG001) - best performance at 2Gbp output (1/25 of r9) (assuming 10% of r9 output) [1,000] +* `-o` Output directory (combined fastq file for classification will be at `$outdir/simulated.fastq`) + +### Deep Simulator +To run DeepSimulator ([Nanopore R9 flowcell](https://store.nanoporetech.com/us/flowcells/spoton-flow-cell-mk-i-r9-4.html)) using META Simulator, run: + +```bash +docker run meta_simulator:latest bash scripts/sim_module_wrapper.sh -t 2 -i data/strawman_envassay.tsv -p r9 -o data/test +``` + +To run DeepSimulator ([Nanopore Flongle flowcell](https://store.nanoporetech.com/us/flowcells/flongle-flow-cell.html)) using META Simulator, run: + +```bash +docker run meta_simulator:latest bash scripts/sim_module_wrapper.sh -t 2 -i data/strawman_envassay.tsv -p flg -o data/test +``` + +### InsilicoSeq +To run InsilicoSeq ([Illumina MiSeq](https://www.illumina.com/systems/sequencing-platforms/miseq.html)) using META Simulator, run: + +```bash +docker run meta_simulator:latest bash scripts/sim_module_wrapper.sh -t 2 -i data/strawman_envassay.tsv -p miseq -o data/test +``` + +To run InsilicoSeq ([Illumina iSeq](https://www.illumina.com/systems/sequencing-platforms/iseq.html)) using META Simulator, run: +```bash +docker run meta_simulator:latest bash scripts/sim_module_wrapper.sh -t 2 -i data/strawman_envassay.tsv -p iseq -o data/test +``` + +If you wish to run the simulator with your own abundance profile, use the [Docker bind mount](https://docs.docker.com/storage/bind-mounts/) `-v` flag for `docker run +` to mount the volume containing your abundance profile TSV. + +## License + +This project is licensed under [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0). +Copyright under Johns Hopkins University Applied Physics Laboratory. diff --git a/data/iss_model_iSeq_min120.npz b/data/iss_model_iSeq_min120.npz new file mode 100644 index 0000000000000000000000000000000000000000..0f40d4e3d8129f40d7f5f08c0dcfa2d2c0bd7b99 GIT binary patch literal 180754 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%0A+>{8nh}XE~O{vuBXw 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 literal 0 HcmV?d00001 diff --git a/data/strawman_envassay.tsv b/data/strawman_envassay.tsv new file mode 100644 index 0000000..67ce83d --- /dev/null +++ b/data/strawman_envassay.tsv @@ -0,0 +1,10 @@ +400667 0.10 +435590 0.10 +367928 0.10 +864803 0.10 +1091045 0.10 +349101 0.10 +1282 0.10 +260799 0.10 +1529886 0.10 +198094 0.10 diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000..3fe142b --- /dev/null +++ b/environment.yml @@ -0,0 +1,65 @@ +name: simulator +channels: + - bioconda + - defaults +dependencies: + - _libgcc_mutex=0.1=main + - asn1crypto=1.3.0=py36_0 + - biopython=1.76=py36h7b6447c_0 + - blas=1.0=mkl + - bzip2=1.0.8=h7b6447c_0 + - ca-certificates=2020.1.1=0 + - certifi=2019.11.28=py36_0 + - cffi=1.14.0=py36h2e261b9_0 + - chardet=3.0.4=py36_1003 + - cryptography=2.8=py36h1ba5d50_0 + - curl=7.68.0=hbc83047_0 + - future=0.18.2=py36_0 + - idna=2.8=py36_0 + - insilicoseq=1.4.5=py_0 + - intel-openmp=2020.0=166 + - joblib=0.14.1=py_0 + - krb5=1.17.1=h173b8e3_0 + - ld_impl_linux-64=2.33.1=h53a641e_7 + - libcurl=7.68.0=h20c2e04_0 + - libdeflate=1.0=h14c3975_1 + - libedit=3.1.20181209=hc058e9b_0 + - libffi=3.2.1=hd88cf55_4 + - libgcc-ng=9.1.0=hdf63c60_0 + - libgfortran-ng=7.3.0=hdf63c60_0 + - libssh2=1.8.2=h1ba5d50_0 + - libstdcxx-ng=9.1.0=hdf63c60_0 + - mkl=2020.0=166 + - mkl-service=2.3.0=py36he904b0f_0 + - mkl_fft=1.0.15=py36ha843d7b_0 + - mkl_random=1.1.0=py36hd6b4f25_0 + - ncurses=6.1=he6710b0_1 + - numpy=1.18.1=py36h4f9e942_0 + - numpy-base=1.18.1=py36hde5b4d6_1 + - openssl=1.1.1d=h7b6447c_4 + - pandas=1.0.1=py36h0573a6f_0 + - pip=20.0.2=py36_1 + - pycparser=2.19=py36_0 + - pyopenssl=19.1.0=py36_0 + - pysam=0.15.3=py36hda2845c_1 + - pysocks=1.7.1=py36_0 + - python=3.6.10=h0371630_0 + - python-dateutil=2.8.1=py_0 + - pytz=2019.3=py_0 + - readline=7.0=h7b6447c_5 + - requests=2.22.0=py36_1 + - scipy=1.4.1=py36h0b6359f_0 + - setuptools=45.2.0=py36_0 + - six=1.14.0=py36_0 + - sqlite=3.31.1=h7b6447c_0 + - tk=8.6.8=hbc83047_0 + - urllib3=1.25.8=py36_0 + - wheel=0.34.2=py36_0 + - xz=5.2.4=h14c3975_4 + - zlib=1.2.11=h7b6447c_3 + - pip: + - bioseq==0.2.3 + - h5py==2.10.0 + - ont-fast5-api==3.0.1 + - progressbar33==2.4 + diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100644 index 0000000..eb3cee9 --- /dev/null +++ b/scripts/install.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +# ********************************************************************** +# Copyright (C) 2020 Johns Hopkins University Applied Physics Laboratory +# +# All Rights Reserved. +# For any other permission, please contact the Legal Office at JHU/APL. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ********************************************************************** + +####Define ENV variables +run_dir=$PWD +g="$(which python)" +baseBin=$(dirname ${g}) +src_bin="${run_dir}/src" +mkdir $src_bin +CONDA_BASE=$(conda info --base) +source "$CONDA_BASE/etc/profile.d/conda.sh" +script_location="$(perl -MCwd=abs_path -le 'print abs_path(shift)' $(which $(basename $0)))" +##########Install DeepSimulator########################################## +git clone https://github.com/lykaust15/DeepSimulator.git $src_bin/DeepSimulator +cd $src_bin/DeepSimulator +find "$PWD" -name "*download*.sh" -print0 | while read -d $'\0' fn; do sed -Ei "s/source activate/conda activate/g" $fn ; done +find "$PWD" -name "*install.sh" -print0 | while read -d $'\0' fn; do sed -Ei "s/source activate/conda activate/g" $fn ; done +find "$PWD" -name "*install.sh" -print0 | while read -d $'\0' fn; do sed -Ei "s/source deactivate/conda deactivate/g" $fn ; done +echo $PWD +grep -q "source $CONDA_BASE/etc/profile.d/conda.sh" install.sh +if [[ $? != 0 ]] ; then + echo "source $CONDA_BASE/etc/profile.d/conda.sh" | cat - install.sh > temp && mv temp install.sh +fi +bash install.sh +#-> 2. install basecaller +#--| 2.1 install albacore_2.3.1 +cd base_caller/albacore_2.3.1/ + ./download_and_install.sh +cd ../../ + +#--| 2.2 install guppy_3.1.5 +cd base_caller/guppy_3.1.5/ + ./download_and_install.sh +cd ../../ + +cd $run_dir + +#######Ont guppy upgrade to 3.4.5######################################## +wget https://americas.oxfordnanoportal.com/software/analysis/ont-guppy-cpu_3.4.5_linux64.tar.gz -P src/ + +mkdir $src_bin/DeepSimulator/base_caller/guppy_3.4.5 +tar -xvzf src/ont-guppy-cpu_3.4.5_linux64.tar.gz --directory $src_bin/DeepSimulator/base_caller/guppy_3.4.5 + +rm -rf src/ont-guppy-cpu_3.4.5_linux64.tar.gz + + +#Enable fast mode (less accurate) for cpu basecalling +sed -Ei "s/hac/fast/g" $src_bin/DeepSimulator/deep_simulator.sh +sed -Ei "s/guppy=guppy_3\.[0-9]*\.[0-9]*/guppy=guppy_3\.4\.5/g" $src_bin/DeepSimulator/deep_simulator.sh +sed -Ei "s/source deactivate/conda deactivate/g" $src_bin/DeepSimulator/deep_simulator.sh + +#Create a new deepsim script that exits early i.e. there is no basecalling. It only makes fast5 files +cp $src_bin/DeepSimulator/deep_simulator.sh $src_bin/DeepSimulator/deep_simulator_fast5only.sh +sed -Ei "s/guppy=guppy_3\.[0-9]*\.[0-9]*/exit 1/g" $src_bin/DeepSimulator/deep_simulator_fast5only.sh + + +#Symlink the two files into the conda environment bin folder +ln -sf $src_bin/DeepSimulator/deep_simulator.sh\ + $baseBin/ +ln -sf $src_bin/DeepSimulator/deep_simulator_fast5only.sh\ + $baseBin/ + + +#because albacore doesnt work in the deepsim install script, redo it +source activate basecall +wget https://mirror.oxfordnanoportal.com/software/analysis/ont_albacore-2.3.1-cp36-cp36m-manylinux1_x86_64.whl \ +-P $src_bin/ +pip install $src_bin/ont_albacore-2.3.1-cp36-cp36m-manylinux1_x86_64.whl +rm $src_bin/*albacore* diff --git a/scripts/remapOxfordFastq.sh b/scripts/remapOxfordFastq.sh new file mode 100644 index 0000000..e0b626a --- /dev/null +++ b/scripts/remapOxfordFastq.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +# ********************************************************************** +# Copyright (C) 2020 Johns Hopkins University Applied Physics Laboratory +# +# All Rights Reserved. +# For any other permission, please contact the Legal Office at JHU/APL. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ********************************************************************** + +# FUNCTIONS +usage() +{ +cat << EOF + +Help message for remapOxfordFastq.sh: + + DESCRIPTION + +NOTES: + - WARNING: + + +USAGE: +bash scripts/remapOxfordFastq.sh -i data/fullDeepSim/metasim-strawman_envassay.tsv/r9/ -o pass_mapped.fastq + + +OPTIONS: + -h help show this message + -i FASTQ Input fastq containing directory from sim_module deepsim script run + -o FASTQ output fastq with mapped (3rd column) as runid + + +NOTES: + This script requires the input to be the metasim output folder at first depth/child (40067, 1282, etc.) where each accession/seq header is a folder within those with the pass.fastq file in that + +____________________________________________________________________________________________________ +References: + 1. O. Tange (2011): GNU Parallel - The Command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47. + +EOF +} + + + + +# ARGUMENTS +# parse args +while getopts "ho:i:" OPTION +do + case $OPTION in + h) usage; exit 1 ;; + o) output_file=$OPTARG ;; + i) INPUT=$OPTARG ;; + ?) usage; exit ;; + esac +done +# check args +if [[ -z "$INPUT" ]]; then printf "%s\n" "Please specify input directory containing fasta file headers as directory with deepsim output (pass.fastq) (-i)."; exit; fi +if [[ -z "$output_file" ]]; then printf "%s\n" "Please specify output filename in the same directory as the pass.fastq file (-o)."; exit; fi +if [[ "$output_file" == "pass.fastq" ]]; then printf "%s\n" "Please specify output file name different than the pass.fastq filename."; exit; fi + +for file in $(find $INPUT -maxdepth 5 -name "pass.fastq"); do # Not recommended, will break on whitespace + dir=$(dirname $file) + baseDir=$(basename $dir) + # echo $dir $baseDir + awk -v name=$baseDir 'BEGIN{li=0; inc=0;}{if( NR%4 == 1 ) {++li; print "@"name"_"li}else{print}}' $file > $dir"/"$output_file + #awk -v name=$baseDir 'BEGIN{li=0; inc=0;}{if( NR%4 == 1 ) {++li; print "@"name"_"li}}' $file + + +done diff --git a/scripts/separate_seqs.py b/scripts/separate_seqs.py new file mode 100644 index 0000000..c610897 --- /dev/null +++ b/scripts/separate_seqs.py @@ -0,0 +1,42 @@ +# ********************************************************************** +# Copyright (C) 2020 Johns Hopkins University Applied Physics Laboratory +# +# All Rights Reserved. +# For any other permission, please contact the Legal Office at JHU/APL. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ********************************************************************** + +import sys +import argparse +import csv + +##########################Take in Args###################################################### +parser = argparse.ArgumentParser(description = "Parse a fasta file and retrieve random set of short sequences (cut up from FASTA, can be multiline) ") +parser.add_argument('-i', required = True, type=str, nargs='+', help = 'Input FASTA file, can containing multiple fastas ') +parser.add_argument('-n', required = True, type=str, nargs='+', help = 'Number of total reads you want') +parser.add_argument('-o', required = True, type=str, nargs='+', help = 'Output dir') + + +args = parser.parse_args() +############################################################## +from Bio import SeqIO +count = 0 +for seq_record in SeqIO.parse(vars(args)['i'][0], "fasta"): + count += len(seq_record.seq) +for seq_record in SeqIO.parse(vars(args)['i'][0], "fasta"): + # print(str(seq_record.seq)) + + fp = open(vars(args)['o'][0]+"/"+seq_record.id+".fasta","w") + fp.write(">"+seq_record.id+"\n"+str(seq_record.seq)) + fp.close() diff --git a/scripts/sim_module_wrapper.sh b/scripts/sim_module_wrapper.sh new file mode 100644 index 0000000..c6ef61c --- /dev/null +++ b/scripts/sim_module_wrapper.sh @@ -0,0 +1,330 @@ +#!/bin/bash + +# ********************************************************************** +# Copyright (C) 2020 Johns Hopkins University Applied Physics Laboratory +# +# All Rights Reserved. +# For any other permission, please contact the Legal Office at JHU/APL. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ********************************************************************** + +# FUNCTIONS +usage() +{ +cat << EOF + +Help message for sim_module: + + DESCRIPTION + +NOTES: + - WARNING: + + +USAGE: + bash sim_module_wrapper.sh -i + +bash scripts/sim_module_wrapper.sh -t 10 -i data/test.tsv -p iseq + + +OPTIONS: + -h help show this message + -H STR Home directory specification for the sim_module_wrapper.sh file (OPTIONAL) + -t INT number of threads to use for simulations + -i TSV list of taxid with associated abundance (totalling 1.0) + TAXID can be at any taxonomic level, however the first accession + found when searching the 'taxid' column of "assembly_summary_refseq.txt" + will be used as the reference for simulating reads + -p STR sequencing platform to simulate reads for (case sensitive) + available options [total reads simulated]: + iseq Illumina iSeq 100 (assuming both illumina platforms have spot count of 8M, and taking 1/100 of this) [80,000] + miseq Illumina MiSeq [80,000] + r9 Oxford Nanopore R9 flowcell (MIN106) - best performance at 50Gbp output (will assume 20Gbp and 20kb avg read length = 1M reads) [10,000] + flg Oxford Nanopore Flongle flowcell (FLG001) - best performance at 2Gbp output (1/25 of r9) (assuming 10% of r9 output) [1,000] + pending options: + r10 Oxford Nanopore R10 flowcell (MIN107) <- not implemented + -j INT If using Deep Simulator (r9,flg) specify if you want to only generate fast5 files. + Available Options: + 1 Full process from fast5 generation to fastq/basecalling + 2 Exit early. Generated only fast5 files + -o DIR Output directory (combined fastq file for classification will be at "$outdir/simulated.fastq") + + +NOTES: + Input abundance profile (abundance based on proportion bps of reads, not genome size) + +____________________________________________________________________________________________________ +References: + 1. O. Tange (2011): GNU Parallel - The Command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47. + +EOF +} + + + + +# ARGUMENTS +# parse args +while getopts "ht:i:p:r:j:H:o:" OPTION +do + case $OPTION in + h) usage; exit 1 ;; + t) THREADS=$OPTARG ;; + i) INPUT=$OPTARG ;; + p) PLATFORM=$OPTARG ;; + H) HOME_DIR=$OPTARG ;; + r) READSCOUNT=$OPTARG;; + j) r9cfg=$OPTARG;; + o) OUTPUT=$OPTARG;; + ?) usage; exit ;; + esac +done +# check args +if [[ -z "$THREADS" ]]; then printf "%s\n" "Please specify number of threads (-t)."; exit; fi +if [[ -z "$INPUT" ]]; then printf "%s\n" "Please specify input tsv (-i)."; exit; fi +if [[ -z "$PLATFORM" ]]; then printf "%s\n" "Please specify sequencing platform (-p)."; exit; fi +#if [[ -z $READSCOUNT ]]; then READSCOUNT=10000; fi; # 20200520, readcount will be based on platform type +if [[ -z $HOME_DIR ]]; then HOME_DIR=$PWD; fi +if [[ -z $r9cfg ]]; then r9cfg=1; fi +if [[ -z $OUTPUT ]]; then printf "%s\n" "Please specify a final output directory (-o)."; exit; fi +if [[ ! -d "$OUTPUT" ]]; then mkdir -p "$OUTPUT"; fi + +#Activate the correct environment for simulator (iss and deepsim) + + +# setup other variables +absolute_path_x="$(readlink -fn -- "$0"; echo x)" +absolute_path_of_script="${absolute_path_x%x}" +scriptdir=$(dirname "$absolute_path_of_script") +runtime=$(date +"%Y%m%d%H%M%S%N") +dn=$(dirname "$INPUT") +bn=$(basename "$INPUT") +#outdir="$dn/metasim-$bn" +outdir="$OUTPUT" +tmp="$outdir/tmp" +if [[ ! -d "$tmp" ]]; then + mkdir -p "$tmp" +fi + + +# MAIN +echo "Checking that abundance profile sums to 1.000000 (input.tsv column 2)." +check=$(awk -F'\t' '{x+=$2}END{printf("%f",x)}' "$INPUT" | cut -c1-8) +if [[ "$check" != "1.000000" ]]; then + echo "Input abundances sum to $check" + echo "They must sum to 1 within a tolerance of <1 millionth (i.e. 1.000000). Exiting."; exit +else + echo "Check successful." +fi +# get updated assembly summary refseq (asr) +echo "Pulling latest 'assembly_summary_refseq.txt files." +asr="$tmp/assembly_summary_refseq.txt" +for k in "archaea" "bacteria" "fungi" "invertebrate" "other" "plant" "protozoa" "vertebrate_mammalian" "vertebrate_other" "viral"; do + echo "downloading refseq summary for $k" + if [[ ! -f "$asr.tmp-$k" ]]; then + wget ftp://ftp.ncbi.nlm.nih.gov/genomes/refseq/$k/assembly_summary.txt --output-document "$asr.tmp-$k" + fi +done 2> /dev/null +# combine all +find "$tmp" -maxdepth 1 -name "*assembly_summary_refseq.txt.tmp-*" -exec cat {} + > "$asr" + + +asri="$tmp/asr_input.tsv" +awk -F'\t' '{if(FNR==NR){rs[$6]=$0}else{printf("%s\n",rs[$1])}}' "$asr" "$INPUT" > "$asri" +# check if any accession are missing from the overlap +# find overlap between it and the input +check=$(comm -23 <(cut -f1 "$INPUT" | sort) <(cut -f6 "$asri" | sort)) +if [[ "$check" != "" ]]; then + echo "The following accessions did not have a corresponding" + echo "path in the assembly summary refseq file:" + echo "$check" + echo "Please remove or subsitute the accession(s) above, and resubmit."; exit +fi + + +# pull ftp paths and download reference genomes for accessions in input tsv +# 1 assembly_accession +# 6 taxid <- strain if available, otherwise is species taxid +# 7 species_taxid +# 8 organism_name +# 9 infraspecific_name +# 20 ftp_path +mkdir -p "$outdir/$PLATFORM" +while read x; do + acc=$(printf "$x" | cut -f1) + taxid=$(printf "$x" | cut -f6) + name=$(printf "$x" | cut -f8) + path=$(printf "$x" | cut -f20) + bn=$(basename "$path") + echo " wgetting: $acc, $taxid, $name" + + + + wget "$path/${bn}_genomic.fna.gz" --output-document "$outdir/$taxid.fasta.gz" 2> /dev/null + gunzip -f "$outdir/$taxid.fasta.gz" + # put all sequence strings under each header into a single line + awk '{if(NR == 1){printf("%s\n", $0)}else{if(substr($0,1,1) == ">"){printf("\n%s\n", $0)} else {printf("%s", $0)}}}END{printf("\n")}' "$outdir/$taxid.fasta" > "$outdir/$taxid.fasta.tmp" + # only retain contigs/assemblies >1 Kbp + sed $'$!N;s/\\\n/\t/' "$outdir/$taxid.fasta.tmp" | awk -F'\t' '{if(length($2)>=1000){printf("%s\n%s\n",$1,$2)}}' > "$outdir/$taxid.fasta" + rm "$outdir/$taxid.fasta.tmp" + + + + + abu=$(grep -P "^$taxid\t" "$INPUT" | cut -f2) + # calculate number reads based on abundance in input and on: + # ILLUMINA (~4-8 million reads output), output 8 million reads + # MISEQ 2 x 150bp [80,000] + # ISEQ 2 x 150f [80,000] + # OXFORD MINION (r9 ~20Gbp @ 20Kb avg read length), output 1 million reads + # R9 rapid library kit RAD004 [10,000] + # FLG rapid library kit RAD004 [1,000] + # R10 ligation library kit LSK009 [n/a] + + + # InSilicoSeq + # --cpus , -p + # number of cpus to use. (default: 2). + # --genomes [ ...], -g [ ...] + # Input genome(s) from where the reads will originate + # --draft [ ...] + # Input draft genome(s) from where the reads will + # originate + # If you have draft genome files containing contigs, you can give them to the --draft option: + # --n_reads , -n + # Number of reads to generate (default: 1000000). Allows + # suffixes k, K, m, M, g and G (ex 0.5M for 500000). + # --model , -m + # Error model file. (default: None). Use HiSeq, NovaSeq + # or MiSeq for a pre-computed error model provided with + # the software, or a file generated with iss model. If + # you do not wish to use a model, use --mode basic or + # --mode perfect. The name of the built-in models are + # case insensitive. + # --output , -o + # Output file prefix (Required) + + if [[ "$PLATFORM" == "iseq" ]]; then + count=$(printf "$abu" | awk '{printf("%.0f",$0*80000)}') + echo "Simulating $count reads for $taxid, $name, $PLATFORM, at abundance of $abu" + model=$HOME_DIR"/data/iss_model_iSeq_min120.npz" + source activate simulator + iss generate -p "$THREADS" --draft "$outdir/$taxid.fasta" -n "$count" -m "$model" -o "$outdir/$PLATFORM/$taxid" 2> "$outdir/error.log" + elif [[ "$PLATFORM" == "miseq" ]]; then + count=$(printf "$abu" | awk '{printf("%.0f",$0*80000)}') + echo "Simulating $count reads for $taxid, $name, $PLATFORM, at abundance of $abu" + model="MiSeq" + source activate simulator + iss generate -p "$THREADS" --draft "$outdir/$taxid.fasta" -n "$count" -m "$model" -o "$outdir/$PLATFORM/$taxid" 2> "$outdir/error.log" + elif [[ "$PLATFORM" == "r9" || "$PLATFORM" == "flg" ]]; then + + if [[ "$PLATFORM" == "r9" ]]; then + # making r9 total reads default 10,000 + count=$(printf "$abu" | awk '{printf("%.0f",$0*10000)}') + elif [[ "$PLATFORM" == "flg" ]]; then + # making flg total reads default 1,000 + count=$(printf "$abu" | awk '{printf("%.0f",$0*1000)}') + fi + + echo "Simulating $count reads for $taxid, $name, $PLATFORM, at abundance of $abu" + r9ScriptLocation=$HOME_DIR"/scripts/" + + totalCountNucleotides=$( grep "^[^>]" "$outdir/$taxid.fasta" | tr -d "\n" | wc -c ) + seqs=($( grep -R "^>" "$outdir/${taxid}.fasta" | tr " " "|" )) + total=${#seqs[*]} + if [ ! -d $r9ScriptLocation"../tmp" ]; then + mkdir $r9ScriptLocation"../tmp" + fi + if [ -d $r9ScriptLocation"../tmp/seqs" ]; then + rm -rf $r9ScriptLocation"../tmp/seqs" + fi + mkdir $r9ScriptLocation"../tmp/seqs/" + if [ -d $outdir/"$PLATFORM/$taxid" ]; then + rm -rf $outdir/"$PLATFORM/$taxid" + fi + if [ ! -d $outdir/"$PLATFORM/logs" ]; then + mkdir $outdir/"$PLATFORM/logs" + fi + if [ -f "$outdir/$PLATFORM/logs/pythonLog.txt" ]; then + rm "$outdir/$PLATFORM/logs/pythonLog.txt" + fi + if [ -f "$outdir/$PLATFORM/logs/simulationLog.txt" ]; then + rm "$outdir/$PLATFORM/logs/simulationLog.txt" + fi + mkdir -p $outdir/$PLATFORM/$taxid + source activate simulator + python "$r9ScriptLocation/"separate_seqs.py -i $outdir/$taxid.fasta -o $r9ScriptLocation"../tmp/seqs/" -n "$count" >> "$outdir/$PLATFORM/logs/pythonLog.txt" 2>&1 + conda deactivate + files=() + while IFS= read -r -d $'\0'; do + files+=("$REPLY") + done < <(find ${r9ScriptLocation}"/../tmp/seqs/" -name "*.fasta" -print0) + for (( i=0; i < "${#files[@]}" ; i++ )) + do + length=$( grep -e '^[^>]' ${files[$i]} | tr -d "\n" | wc -c ) + count_seq=$( echo "scale=20; 0.5+($count*$length)/$totalCountNucleotides" | bc -l | xargs printf %.0f ) + echo "count_seq equals $count_seq" + bash "$r9ScriptLocation"/simulate.sh \ + -i ${files[$i]} \ + -n $count_seq \ + -o "$outdir/$PLATFORM/$taxid" \ + -c $THREADS \ + -g "CPU" \ + -d $HOME_DIR"/src/DeepSimulator" \ + -j $r9cfg + + find "$outdir/$PLATFORM/$taxid" -name "fast5" -type d -exec rm -rf "{}" \; + done >> "$outdir/$PLATFORM/logs/simulationLog.txt" 2>&1 + rm -rf ${r9ScriptLocation}"/../tmp/seqs/*" + echo "done with this file $outdir $taxid" + + + fi + # NOTES: + # name your output fastq per taxid with the taxid, such that "sed 's/_R.*//'" will return ONLY the taxid + +done < "$asri" + + + + + +if [[ "$PLATFORM" == "r9" || "$PLATFORM" == "flg" ]]; then + echo "merging all $PLATFORM fastq files" + bash "$HOME_DIR/scripts/remapOxfordFastq.sh" \ + -i "$outdir/$PLATFORM/" \ + -o "pass_mapped.fastq" && find "$outdir/$PLATFORM/" \ + -maxdepth 5 \ + -name "pass_mapped.fastq" \ + -exec cat {} + > $outdir"/simulated.fastq" + mv "$outdir/simulated.fastq" "$OUTPUT/" + rm -rf "$outdir/$PLATFORM" +elif [[ "$PLATFORM" == "iseq" || "$PLATFORM" == "miseq" ]]; then + echo "fixing headers and combining fastqs" + # rename headers for 'taxid' + find "$outdir/$PLATFORM" -maxdepth 1 -name "*fastq" | while read fq; do + bn=$(basename "$fq" | sed 's/_R.*//') + sed $'$!N;s/\\\n/\t/' "$fq" | sed $'$!N;s/\\\n/\t/' | awk -v name="$bn" -F'\t' '{printf("@%s\n%s\n%s\n%s\n",name,$2,$3,$4)}' > "$fq.tmp" + done + # merge all fastq + find "$outdir/$PLATFORM" -maxdepth 1 -name "*fastq.tmp" -exec cat {} + > "$outdir/$PLATFORM/fastq.merged" + # rename headers for 'taxid-readID' + sed $'$!N;s/\\\n/\t/' "$outdir/$PLATFORM/fastq.merged" | sed $'$!N;s/\\\n/\t/' | awk -F'\t' '{printf("%s-%s\n%s\n%s\n%s\n",$1,NR,$2,$3,$4)}' > "$outdir/simulated.fastq" + mv "$outdir/simulated.fastq" "$OUTPUT/" + rm -rf "$outdir/$PLATFORM" +fi + + + + diff --git a/scripts/simulate.sh b/scripts/simulate.sh new file mode 100644 index 0000000..147deda --- /dev/null +++ b/scripts/simulate.sh @@ -0,0 +1,148 @@ +# ********************************************************************** +# Copyright (C) 2020 Johns Hopkins University Applied Physics Laboratory +# +# All Rights Reserved. +# For any other permission, please contact the Legal Office at JHU/APL. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ********************************************************************** + +usage() +{ +cat << EOF + + DESCRIPTION: This script will run deep simulator using either CPU or GPU to make a set of reads for a single fasta file. Future Updates below + +USAGE: + bash simulate.sh -i absolute path to fasta file + -c number of cpu nodes you want + -n Number of reads for simulation + -g [CPU/GPU/ALBACORE] + -o data/fullDeepSim/pass_mapped_merged.fastq +