From 2b1aaec6a5443880c71b517b3eb039a9d4caef12 Mon Sep 17 00:00:00 2001 From: BIOPZ-Gypas Foivos <foivos.gypas@unibas.ch> Date: Mon, 19 Nov 2018 17:56:08 +0100 Subject: [PATCH] Addition of scripts that couts the number of reads in the CDS in the process data pipeline. --- snakemake/prepare_annotation/dag.png | Bin 24701 -> 0 bytes snakemake/process_data/Snakefile | 24 ++++++++++++++++++++++-- snakemake/process_data/config.yaml | 1 + 3 files changed, 23 insertions(+), 2 deletions(-) delete mode 100644 snakemake/prepare_annotation/dag.png diff --git a/snakemake/prepare_annotation/dag.png b/snakemake/prepare_annotation/dag.png deleted file mode 100644 index 2bd5f04eaaf11d89e3c5bb55dd5bfd49f74cebea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24701 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 diff --git a/snakemake/process_data/Snakefile b/snakemake/process_data/Snakefile index 1e96622..6805b3e 100644 --- a/snakemake/process_data/Snakefile +++ b/snakemake/process_data/Snakefile @@ -1,7 +1,7 @@ configfile: "config.yaml" #from snakemake.utils import listfiles -localrules: create_output_and_log_directories, remove_multimappers, read_length_histogram, finish +localrules: create_output_and_log_directories, remove_multimappers, read_length_histogram, count_reads, sfinish ################################################################################# ### Finish rule @@ -9,7 +9,8 @@ localrules: create_output_and_log_directories, remove_multimappers, read_length_ rule finish: input: - sam = expand(os.path.join(config["output_dir"], "{sample}/read_length/read_length_histogram.pdf"), sample=config["sample"]) + pdf = expand(os.path.join(config["output_dir"], "{sample}/read_length/read_length_histogram.pdf"), sample=config["sample"]), + counts = expand(os.path.join(config["output_dir"], "{sample}/counts.tsv"), sample=config["sample"]) ################################################################################# ### Create output and log directories @@ -246,3 +247,22 @@ rule read_length_histogram: "(python scripts/plot_read_lengths.py \ --sam {input.sam} \ --outdir {params.dir}) & > {log}" + +################################################################################ +### Count reads +################################################################################ + +rule count_reads: + input: + sam = os.path.join(config["output_dir"], "{sample}/transcripts.mapped.unique.sam"), + transcript_id_gene_id_CDS = config["transcript_id_gene_id_CDS"] + output: + counts = os.path.join(config["output_dir"], "{sample}/counts.tsv") + threads: 1 + singularity: + "docker://perl:5.24-slim" + shell: + "(perl scripts/xp-count-reads-ribseq.pl \ + {input.sam} \ + {input.transcript_id_gene_id_CDS} \ + > {output.counts})" diff --git a/snakemake/process_data/config.yaml b/snakemake/process_data/config.yaml index fb70bb0..c2b5488 100644 --- a/snakemake/process_data/config.yaml +++ b/snakemake/process_data/config.yaml @@ -6,6 +6,7 @@ other_RNAs_index: "../prepare_annotation/results/other_RNAs_sequence.idx" transcripts_sequence: "../prepare_annotation/results/longest_pc_transcript_per_gene.fa" transcripts_index: "../prepare_annotation/results/longest_pc_transcript_per_gene.idx" + transcript_id_gene_id_CDS: "../prepare_annotation/results/transcript_id_gene_id_CDS.tsv" ############################################################################## ### Output and log directory ############################################################################## -- GitLab