From 9547714c5fbe725cc9c92e3f46e271d5181c3190 Mon Sep 17 00:00:00 2001 From: Foivos Gypas <fgypas@gmail.com> Date: Mon, 14 May 2018 13:49:01 +0200 Subject: [PATCH] Added mapping steps in snakemake process_data pipeline --- .../segemehl/0.2.0/Dockerfile | 34 +-- snakemake/process_data/Snakefile | 281 ++++-------------- snakemake/process_data/config.yaml | 9 +- snakemake/process_data/dag.png | Bin 15088 -> 17856 bytes 4 files changed, 78 insertions(+), 246 deletions(-) rename {snakemake/docker => docker}/segemehl/0.2.0/Dockerfile (53%) diff --git a/snakemake/docker/segemehl/0.2.0/Dockerfile b/docker/segemehl/0.2.0/Dockerfile similarity index 53% rename from snakemake/docker/segemehl/0.2.0/Dockerfile rename to docker/segemehl/0.2.0/Dockerfile index 26d608d..f9e20e2 100644 --- a/snakemake/docker/segemehl/0.2.0/Dockerfile +++ b/docker/segemehl/0.2.0/Dockerfile @@ -23,25 +23,15 @@ ENV SOFTWARE_VERSION 0.2.0 ##### INSTALL ##### RUN apt-get update -y \ - && apt-get install -y wget python build-essential libz-dev gcc libgl1-mesa-dev - -## Do your install stuff, merge with '&&' whenever possible, don't create unnecessary layers -# && wget https://.../v${SOFTWARE_VERSION}/software-${SOFTWARE_VERSION}.tar.gz \ -# && tar -zxvf software-${SOFTWARE_VERSION}.tar.gz \ -# && cd software \ -# && make \ -## Copy binaries to location in PATH -# && cp bin/* /usr/bin \ -## Remove files no longer needed -# && cd .. \ -# && rm -r /intermediate/folder software-${SOFTWARE_VERSION}.tar.gz \ -## Clean up -# && apt-get purge -y wget \ -# && apt-get autoremove -y && apt-get clean \ -# && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \ -# -###### SET PATH (if not in /usr/bin/) ##### -#ENV PATH /path/to/binary:$PATH -# -###### WORKING DIRECTORY ##### -#WORKDIR /data/ + && apt-get install -y wget make gcc build-essential zlib1g-dev libncurses5-dev samtools msmtp zlib1g-dev make libncurses5-dev libxml2-dev \ + && wget http://www.bioinf.uni-leipzig.de/Software/segemehl/segemehl_0_2_0.tar.gz \ + && tar xzvf segemehl_0_2_0.tar.gz \ + && cd segemehl_0_2_0/segemehl/ \ + && make \ + && cd ../.. \ + && cp segemehl_0_2_0/segemehl/segemehl.x /usr/local/bin \ + && cp segemehl_0_2_0/segemehl/lack.x /usr/local/bin \ + && rm -rf segemehl_0_2_0* segemehl_0_2_0* \ + && apt-get purge -y wget \ + && apt-get autoremove -y && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/snakemake/process_data/Snakefile b/snakemake/process_data/Snakefile index 8923e9b..0f2528d 100644 --- a/snakemake/process_data/Snakefile +++ b/snakemake/process_data/Snakefile @@ -9,7 +9,7 @@ localrules: create_output_and_log_directories, concat_samples, finish rule finish: input: - reads = expand(os.path.join(config["output_dir"], "{sample}/pro.filtered.fasta.gz"), sample=config["sample"]) + sam = expand(os.path.join(config["output_dir"], "{sample}/transcripts.mapped.sam"), sample=config["sample"]) ################################################################################# ### Create output and log directories @@ -131,7 +131,7 @@ rule fastq_to_fasta: input: reads = os.path.join(config["output_dir"], "{sample}/pro.filtered.fastq.gz"), output: - reads = os.path.join(config["output_dir"], "{sample}/pro.filtered.fasta.gz"), + reads = os.path.join(config["output_dir"], "{sample}/pro.filtered.fasta"), params: v = "-v", qual = "-Q33", @@ -149,226 +149,69 @@ rule fastq_to_fasta: {params.qual} \ {params.n} \ {params.r} \ - {params.z} \ -i <(zcat {input.reads}) \ -o {output.reads}) &> {log}" -# ################################################################################# -# ### Trim 3' adapters -# ################################################################################# - -# rule trim_3p_adapter: -# input: -# flag = config["dir_created"], -# reads = os.path.join(config["input_dir"], "{sample}" + config["input_reads_pattern"]), -# output: -# reads = os.path.join(config["output_dir"], "{sample}/trim_3p_adapter.fastq.gz"), -# params: -# adapter = lambda wildcards: config[ wildcards.sample ]['adapter'], -# error_rate = config["error_rate"], -# minimum_length = config["minimum_length"], -# overlap = config["overlap"], -# cluster_log = os.path.join(config["cluster_log"], "trim_3p_adapter_{sample}.log"), -# activate = config["activate"], -# env = config["env"] -# log: -# os.path.join(config["local_log"], "trim_3p_adapter_{sample}.log") -# shell: -# "(set +u; source {params.activate} {params.env}; set -u; \ -# cutadapt \ -# --adapter {params.adapter} \ -# --error-rate {params.error_rate} \ -# --minimum-length {params.minimum_length} \ -# --overlap {params.overlap} \ -# {input.reads} | gzip > {output.reads}) 2> {log}" - -# ################################################################################# -# ### Concatenate fastq files -# ################################################################################# - -# rule concat_samples: -# input: -# reads = expand(os.path.join(config["output_dir"], "{sample}/trim_3p_adapter.fastq.gz"),sample=config["sample"]) -# output: -# reads = os.path.join(config["output_dir"],"merged_reads.fastq.gz") -# params: -# cluster_log = os.path.join(config["cluster_log"], "concat_samples.log"), -# activate = config["activate"], -# env = config["env"] -# log: -# os.path.join(config["local_log"], "concat_samples.log") -# shell: -# "(set +u; source {params.activate} {params.env}; set -u; \ -# cat {input.reads} > {output.reads}) 2> {log}" - -# ################################################################################# -# ### Align reads STAR -# ################################################################################# - -# rule align_reads_STAR: -# input: -# index = config["STAR_index"], -# reads = os.path.join(config["output_dir"],"merged_reads.fastq.gz"), -# gtf = config["gtf"] -# output: -# outputfile = os.path.join(config["output_dir"], "STAR_Aligned.out.bam") -# params: -# outFileNamePrefix = os.path.join(config["output_dir"], "STAR_"), -# cluster_log = os.path.join(config["cluster_log"], "align_reads_STAR.log"), -# activate = config["activate"], -# env = config["env"] -# threads: 8 -# log: -# os.path.join(config["local_log"],"align_reads_STAR.log") -# shell: -# "(set +u; source {params.activate} {params.env}; set -u; \ -# STAR --runMode alignReads \ -# --twopassMode Basic \ -# --runThreadN {threads} \ -# --genomeDir {input.index} \ -# --sjdbGTFfile {input.gtf} \ -# --readFilesIn {input.reads} \ -# --readFilesCommand zcat \ -# --outFileNamePrefix {params.outFileNamePrefix} \ -# --outSAMtype BAM Unsorted) 2> {log}" - -# ################################################################################# -# ### Sort alignment file -# ################################################################################# - -# rule sort_bam: -# input: -# bam = os.path.join(config["output_dir"], "STAR_Aligned.out.bam") -# output: -# bam = os.path.join(config["output_dir"], "STAR_Aligned.out.sorted.bam") -# params: -# cluster_log = os.path.join(config["cluster_log"], "sort_bam.log"), -# activate = config["activate"], -# env = config["env"] -# threads: 8 -# log: -# os.path.join(config["local_log"],"sort_bam.log") -# shell: -# "(set +u; source {params.activate} {params.env}; set -u; \ -# samtools sort -@ {threads} {input.bam} > {output.bam}) 2> {log}" - -# ################################################################################# -# ### Index alignment file -# ################################################################################# - -# rule samtools_index: -# input: -# bam = os.path.join(config["output_dir"], "STAR_Aligned.out.sorted.bam") -# output: -# bai = os.path.join(config["output_dir"], "STAR_Aligned.out.sorted.bam.bai") -# params: -# cluster_log = os.path.join(config["cluster_log"], "samtools_index.log"), -# activate = config["activate"], -# env = config["env"] -# log: -# os.path.join(config["local_log"],"samtools_index.log") -# shell: -# "(set +u; source {params.activate} {params.env}; set -u; \ -# samtools index {input.bam} > {output.bai}) 2> {log}" +################################################################################# +### Map reads to other genes (rRNA, tRNA, etc...) +################################################################################# -# ################################################################################## -# ### Quantify -# ################################################################################## +rule map_to_other_genes: + input: + reads = os.path.join(config["output_dir"], "{sample}/pro.filtered.fasta"), + index = config["other_RNAs_index"], + sequence = config["other_RNAs_sequence"] + output: + sam = os.path.join(config["output_dir"], "{sample}/other_genes.mapped.sam"), + reads = os.path.join(config["output_dir"], "{sample}/other_genes.unmapped.fasta") + params: + silent = "--silent", + accuracy = "90", + cluster_log = os.path.join(config["cluster_log"], "map_to_other_genes_{sample}.log") + log: + os.path.join(config["local_log"], "map_to_other_genes_{sample}.log") + threads: 8 + singularity: + "docker://fgypas/segemehl:0.2.0" + shell: + "(segemehl.x \ + {params.silent} \ + -i {input.index} \ + -d {input.sequence} \ + -q {input.reads} \ + --accuracy {params.accuracy} \ + --threads {threads} \ + -o {output.sam} \ + -u {output.reads} ) &> {log}" -# rule salmon_quant: -# input: -# flag = config["dir_created"], -# reads = os.path.join(config["output_dir"], "{sample}/trim_3p_adapter.fastq.gz"), -# gtf = config["filtered_gtf"], -# index = config["filtered_transcripts_salmon_index"] -# output: -# output = os.path.join(config["output_dir"], "{sample}/salmon_quant"), -# tr_estimates = os.path.join(config["output_dir"], "{sample}/salmon_quant/quant.sf"), -# gn_estimates = os.path.join(config["output_dir"], "{sample}/salmon_quant/quant.genes.sf") -# params: -# libType = "A", -# fldMean = "300", -# fldSD = "100", -# activate = config["activate"], -# env = config["env"], -# cluster_log = os.path.join(config["cluster_log"], "salmon_quant_{sample}.log") -# log: -# os.path.join(config["local_log"], "salmon_quant_{sample}.log") -# threads: 6 -# shell: -# "(set +u; source {params.activate} {params.env}; set -u; \ -# salmon quant \ -# --index {input.index} \ -# --libType {params.libType} \ -# --unmatedReads {input.reads} \ -# --seqBias \ -# --geneMap {input.gtf} \ -# --fldMean {params.fldMean} \ -# --fldSD {params.fldSD} \ -# --useVBOpt \ -# --threads {threads} \ -# --output {output.output}) > {log}" +################################################################################# +### Map reads to other genes (rRNA, tRNA, etc...) +################################################################################# -# ################################################################################### -# #### Map reads to rRNA -# ################################################################################### -# # -# #rule map_reads_to_rRNA: -# # input: -# # rRNA = config["rRNA"], -# # rRNA_index = config["rRNA_index"], -# # reads = os.path.join(config["output_dir"], "{sample}/trim_quality.fastq.gz") -# # output: -# # mapped_reads_to_rRNA = os.path.join(config["output_dir"], "{sample}/mapped_reads_to_rRNA.sam"), -# # unmapped_reads_to_rRNA = os.path.join(config["output_dir"], "{sample}/unmapped_reads_to_rRNA.fq.gz") -# # params: -# # activate = config["activate"], -# # env = config["env"], -# # cluster_log = os.path.join(config["cluster_log"], "map_reads_to_rRNA_{sample}.log"), -# # unmapped_reads_to_rRNA = os.path.join(config["output_dir"], "{sample}/unmapped_reads_to_rRNA.fq") -# # log: -# # os.path.join(config["local_log"], "map_reads_to_rRNA_{sample}.log") -# # threads: 4 -# # shell: -# # "(set +u; source {params.activate} {params.env}; set -u; \ -# # segemehl.x \ -# # -i {input.rRNA_index} \ -# # -d {input.rRNA} \ -# # -q {input.reads} \ -# # --accuracy 90 \ -# # --threads {threads} \ -# # -o {output.mapped_reads_to_rRNA} \ -# # -u {params.unmapped_reads_to_rRNA}; \ -# # gzip {params.unmapped_reads_to_rRNA}) 2> {log}" -# # -# #################################################################################### -# ##### Map reads to transcripts -# #################################################################################### -# ## -# ##rule map_reads_to_transcripts_segemehll: -# ## input: -# ## transcripts = config["filtered_transcripts"], -# ## index = config["segemehl_filtered_transcripts_index"], -# ## reads = os.path.join(config["output_dir"], "{sample}/trim_quality.fastq.gz") -# ## output: -# ## mapped_reads_to_rRNA = os.path.join(config["output_dir"], "{sample}/mapped_reads_to_rRNA.sam"), -# ## unmapped_reads_to_rRNA = os.path.join(config["output_dir"], "{sample}/unmapped_reads_to_rRNA.fq.gz") -# ## params: -# ## activate = config["activate"], -# ## env = config["env"], -# ## cluster_log = os.path.join(config["cluster_log"], "map_reads_to_rRNA_{sample}.log"), -# ## unmapped_reads_to_rRNA = os.path.join(config["output_dir"], "{sample}/unmapped_reads_to_rRNA.fq") -# ## log: -# ## os.path.join(config["local_log"], "map_reads_to_rRNA_{sample}.log") -# ## threads: 4 -# ## shell: -# ## "(set +u; source {params.activate} {params.env}; set -u; \ -# ## segemehl.x \ -# ## -i {input.rRNA_index} \ -# ## -d {input.rRNA} \ -# ## -q {input.reads} \ -# ## --accuracy 90 \ -# ## --threads {threads} \ -# ## -o {output.mapped_reads_to_rRNA} \ -# ## -u {params.unmapped_reads_to_rRNA}; \ -# ## gzip {params.unmapped_reads_to_rRNA}) 2> {log}" +rule map_to_transcripts: + input: + reads = os.path.join(config["output_dir"], "{sample}/pro.filtered.fasta"), + index = config["transcripts_index"], + sequence = config["transcripts_sequence"] + output: + sam = os.path.join(config["output_dir"], "{sample}/transcripts.mapped.sam"), + reads = os.path.join(config["output_dir"], "{sample}/transcripts.unmapped.fasta") + params: + silent = "--silent", + accuracy = "90", + cluster_log = os.path.join(config["cluster_log"], "map_to_transcripts_{sample}.log") + log: + os.path.join(config["local_log"], "map_to_transcripts_{sample}.log") + threads: 8 + singularity: + "docker://fgypas/segemehl:0.2.0" + shell: + "(segemehl.x \ + {params.silent} \ + -i {input.index} \ + -d {input.sequence} \ + -q {input.reads} \ + --accuracy {params.accuracy} \ + --threads {threads} \ + -o {output.sam} \ + -u {output.reads} ) &> {log}" diff --git a/snakemake/process_data/config.yaml b/snakemake/process_data/config.yaml index 324a1bf..10a986d 100644 --- a/snakemake/process_data/config.yaml +++ b/snakemake/process_data/config.yaml @@ -2,7 +2,10 @@ ############################################################################## ### Annotation ############################################################################## - + other_RNAs_sequence: "../annotation/txome_rRNAs_joao.fa" + other_RNAs_index: "../annotation/txome_rRNAs_joao.idx" + transcripts_sequence: "../annotation/hg38_refseq_20171127_rep.fa" + transcripts_index: "../annotation/hg38_refseq_20171127_rep.idx" ############################################################################## ### Output and log directory ############################################################################## @@ -17,8 +20,4 @@ input_reads_pattern: ".fastq.gz" sample: ["example"] example: {adapter: GATCGGAAGAGCACA} - ############################################################################## - ### Parameters for independent rules/jobs - ############################################################################## - ... diff --git a/snakemake/process_data/dag.png b/snakemake/process_data/dag.png index 972eeb28d9a2651dff35aae195a955d3326737e8..2adc7095107d6deb94fd8a170a15ae20b466b454 100644 GIT binary patch literal 17856 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 Pfq}u()z4*}Q$iB}u8Xj` literal 15088 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 -- GitLab