From 93e24e418eafba95827078676363575e67e62dbe Mon Sep 17 00:00:00 2001 From: Kenzo-Hugo Hillion <hillion.kenzo@gmail.com> Date: Mon, 2 Aug 2021 12:12:19 +0200 Subject: [PATCH] start bedtools bamtofastq --- tools/bedtools/bamtofastq_pairs/Snakefile | 24 +++++++++++++++++++ .../bamtofastq_pairs/example_usage/Snakefile | 19 +++++++++++++++ .../example_usage/config.yaml | 14 +++++++++++ .../example_usage/Snakefile | 2 +- 4 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 tools/bedtools/bamtofastq_pairs/Snakefile create mode 100644 tools/bedtools/bamtofastq_pairs/example_usage/Snakefile create mode 100644 tools/bedtools/bamtofastq_pairs/example_usage/config.yaml diff --git a/tools/bedtools/bamtofastq_pairs/Snakefile b/tools/bedtools/bamtofastq_pairs/Snakefile new file mode 100644 index 0000000..55878f8 --- /dev/null +++ b/tools/bedtools/bamtofastq_pairs/Snakefile @@ -0,0 +1,24 @@ +__bedtools_bamtofastq_pairs_bedtools_exec_command = config.get( + 'bedtools_bamtofastq_pairs', {} +).get('bedtools_exec_command', 'bedtools') +__bedtools_bamtofastq_pairs_modules = config.get('bedtools_bamtofastq_pairs', {}).get('modules') + +rule bedtools_bamtofastq_pairs: + input: + __bedtools_bamtofastq_pairs_input + output: + forward = __bedtools_bamtofastq_pairs_output_forward, + reverse = __bedtools_bamtofastq_pairs_output_reverse + params: + exec_command = __bedtools_bamtofastq_pairs_bedtools_exec_command, + modules = __bedtools_bamtofastq_pairs_modules + run: + command = [] + if params.modules: + command.append("module load {params.modules}") + command.append( + "{params.exec_command} bamtofastq -i {input} -fq {output.forward}.fastq -fq2 {output.reverse}.fastq" + ) + command.append("gunzip {output}_1.fastq") + command.append("gunzip {output}_2.fastq") + shell(" && ".join(command)) \ No newline at end of file diff --git a/tools/bedtools/bamtofastq_pairs/example_usage/Snakefile b/tools/bedtools/bamtofastq_pairs/example_usage/Snakefile new file mode 100644 index 0000000..11262fc --- /dev/null +++ b/tools/bedtools/bamtofastq_pairs/example_usage/Snakefile @@ -0,0 +1,19 @@ +configfile: "config.yaml" + +# ==== Snakefile path ==== +__bedtools_bamtofastq_pairs_rules = config.get("snakefiles", {}).get("bedtools_bamtofastq_pairs") + +__main_output_dir = config.get('output_dir', 'output') + +# ==== Main config ==== +SAMPLES = config.get('samples') +__input_dir = config.get('input_dir', 'data') + +# ==== Bedtools bamtofastq ==== +__bedtools_bamtofastq_pairs_output_dir = f"{__main_output_dir}/bedtools_bamtofastq_pairs" +__bedtools_bamtofastq_pairs_input = "{dir}/{{sample}}.bam".format(dir=__input_dir, sample="{sample}") +__bedtools_bamtofastq_pairs_output = "{dir}/{{sample}}".format(dir=__bedtools_bamtofastq_pairs_output_dir, sample="{sample}") +include: __bedtools_bamtofastq_pairs_rules + +rule all: + input: expand("{dir}/{{sample}}_unmapped.bam".format(dir=__bedtools_bamtofastq_pairs_output_dir), sample=SAMPLES) diff --git a/tools/bedtools/bamtofastq_pairs/example_usage/config.yaml b/tools/bedtools/bamtofastq_pairs/example_usage/config.yaml new file mode 100644 index 0000000..b576b74 --- /dev/null +++ b/tools/bedtools/bamtofastq_pairs/example_usage/config.yaml @@ -0,0 +1,14 @@ +snakefiles: + bedtools_bamtofastq_pairs: /pasteur/zeus/projets/p02/metasig/gitlab/snakemake/tools/bedtools/bamtofastq_pairs/Snakefile + +input_dir: /some/input/directory +output_dir: /some/output/directory + +samples: +- test_00000 +- test_00001 +- test_00002 + +bedtools_bamtofastq_pairs: + bedtools_exec_command: bedtools + modules: bedtools diff --git a/tools/samtools/extract_unmapped_pairs/example_usage/Snakefile b/tools/samtools/extract_unmapped_pairs/example_usage/Snakefile index dabd02c..d998d29 100644 --- a/tools/samtools/extract_unmapped_pairs/example_usage/Snakefile +++ b/tools/samtools/extract_unmapped_pairs/example_usage/Snakefile @@ -16,4 +16,4 @@ __extract_unmapped_pairs_output = "{dir}/{{sample}}_unmapped.bam".format(dir=__e include: __extract_unmapped_pairs_rules rule all: - input: expand("{dir}/{{sample}}_unmapped.bam".format(dir=__input_dir), sample=SAMPLES) + input: expand("{dir}/{{sample}}_unmapped.bam".format(dir=__extract_unmapped_pairs_output_dir), sample=SAMPLES) -- GitLab