diff --git a/Snakefile b/Snakefile index 441a403b833eac2758e40d79439c6ee4a91370d0..8f8b8b4cd69e6c791871e6f54f9ecf5af3b375b6 100755 --- a/Snakefile +++ b/Snakefile @@ -123,16 +123,19 @@ else: adapters_output = input_data -#---------------------------------- -# bowtie2 MAPPING on Ribo only -#---------------------------------- +#----------------------------------------- +# Estimate ribosomal rate in samples +#----------------------------------------- if config["genome"]["rRNA_mapping"] : sortmerna_input = adapters_output sortmerna_fasta = config["genome"]["ribo_fasta_file"] - sortmerna_outfile_rRNA = "02-Mapping/Ribo/{SAMPLE}_rRNA.fastq" - sortmerna_outfile_no_rRNA = "02-Mapping/Ribo/{SAMPLE}_norRNA.fastq" + sortmerna_outfile_rRNA = ["02-Mapping/Ribo/{{SAMPLE}}_rRNA{}.fastq".format(rt1)] + sortmerna_outfile_no_rRNA = ["02-Mapping/Ribo/{{SAMPLE}}_norRNA{}.fastq".format(rt1)] + if paired: + sortmerna_outfile_rRNA += ["02-Mapping/Ribo/{{SAMPLE}}_rRNA{}.fastq".format(rt2)] + sortmerna_outfile_no_rRNA += ["02-Mapping/Ribo/{{SAMPLE}}_norRNA{}.fastq".format(rt2)] sortmerna_logs_err = "02-Mapping/Ribo/logs/{SAMPLE}_mapping.err" sortmerna_logs_out = "02-Mapping/Ribo/logs/{SAMPLE}_mapping.out" final_output.extend(expand(sortmerna_outfile_no_rRNA, SAMPLE=samples)) diff --git a/workflow/rules/sortmerna.rules b/workflow/rules/sortmerna.rules index 6837b05ba3dc79ac1956b7706f2d270ea03dd408..0afde1069bec0bb37701b0fc18809a018af65526 100755 --- a/workflow/rules/sortmerna.rules +++ b/workflow/rules/sortmerna.rules @@ -44,17 +44,20 @@ rule sortmerna: shell: """ set +o pipefail + tmp="{input.fastq}" infiles=($tmp) + fasta="{input.fasta}" idxdir=$(dirname ${{fasta}})"/sortmerna/" - - + if [[ ${{#infiles[@]}} -eq 2 ]]; then sortmerna --ref ${{fasta}} --idx-dir ${{idxdir}} --workdir {params.tmpdir} -threads {threads} --reads ${{infiles[0]}} --reads ${{infiles[1]}} --aligned {output.rRNA} --fastx --out2 --paired_out --other {output.no_rRNA} -v > {log.out} 2> {log.err} - mv {output.no_rRNA}.fastq {output.no_rRNA} - mv {output.rRNA}.fastq {output.rRNA} + mv {output.no_rRNA}_fwd.fastq {output.no_rRNA}[0] + mv {output.no_rRNA}_rev.fastq {output.no_rRNA}[1] + mv {output.rRNA}_fwd.fastq {output.rRNA}[0] + mv {output.rRNA}_rev.fastq {output.rRNA}[1] else sortmerna --ref ${{fasta}} --idx-dir ${{idxdir}} --workdir {params.tmpdir} -threads {threads} --reads ${{infiles[0]}} --aligned {output.rRNA} --fastx --other {output.no_rRNA} -v > {log.out} 2> {log.err} diff --git a/workflow/rules/star_mapping_pass1.rules b/workflow/rules/star_mapping_pass1.rules index 3929b94624a1859e2acda2b8287cdbd935a5182d..b23a131494808d4a2b72377c3a5e13cda4d7788a 100755 --- a/workflow/rules/star_mapping_pass1.rules +++ b/workflow/rules/star_mapping_pass1.rules @@ -45,10 +45,8 @@ rule star_mapping_pass1: star_mapping_pass1_logs shell: """ - tmp="{input}" - infiles=($tmp) - if [[ ${{infiles[0]}} == "*.gz" ]] + if [[ {input.fastq[0]} =~ \.gz$ ]] then STAR --genomeDir {params.index} \ --readFilesIn {input.fastq} \