Skip to content
Snippets Groups Projects

Refactor: Use only local files. Use chr19 in test_files.

Closed Iris Mestres Pascual requested to merge 34-use-local-files into dev
1 file
+ 129
63
Compare changes
  • Side-by-side
  • Inline
+ 129
63
@@ -8,7 +8,6 @@
# USAGE (from the file's directory):
#
# snakemake \
# --snakefile="quanitfy.smk" \
# --cores 4 \
# --use-singularity \
# --singularity-args "--bind $PWD/../" \
@@ -16,9 +15,6 @@
# --rerun-incomplete \
# --verbose
#
# IMPORTANT when executing this file alone:
## * You must modify the config.yaml.
## * Uncomment the configfile line.
################################################################################
import os
@@ -133,6 +129,72 @@ rule sort_alignments:
) &> {log}"
###############################################################################
### Sort isomiRs
###############################################################################
rule sort_isomirs:
input:
isomirs=config["isomirs_anno"],
output:
isomir=os.path.join(
config["output_dir"], "sorted_isomirs.bed"
),
params:
cluster_log=os.path.join(
config["cluster_log"], "sortisomirs.log"
),
log:
os.path.join(config["local_log"], "sortisomirs.log"),
resources:
mem=4,
threads=8,
singularity:
"docker://zavolab/ubuntu:18.04"
shell:
"(sort \
-k1,1 \
-k2,2n \
{input.isomirs} \
> {output.isomir} \
) &> {log}"
###############################################################################
### pre miRNAs intersection
###############################################################################
rule intersect_pre_mirna:
input:
alignment=os.path.join(
config["output_dir"], "{sample}", "sorted.alignments.bed12"
),
mirna=config["pre_mirnas_anno"],
output:
intersect=os.path.join(
config["output_dir"], "{sample}", "intersect_pre_mirna.bed"
),
params:
cluster_log=os.path.join(
config["cluster_log"], "intersection_pre_mirna_{sample}.log"
),
log:
os.path.join(config["local_log"], "intersection_pre_mirna_{sample}.log"),
singularity:
"docker://zavolab/bedtools:2.27.0"
shell:
"(bedtools intersect \
-wao \
-s \
-F 1 \
-sorted \
-b {input.alignment} \
-a {input.mirna} \
> {output.intersect} \
) &> {log}"
###############################################################################
### miRNAs intersection
###############################################################################
@@ -161,6 +223,7 @@ rule intersect_mirna:
-wao \
-s \
-F 1 \
-f 1 \
-sorted \
-b {input.alignment} \
-a {input.mirna} \
@@ -173,34 +236,37 @@ rule intersect_mirna:
###############################################################################
# rule intersect_isomirs:
# input:
# alignment=os.path.join(
# config["output_dir"], "{sample}", "sorted.alignments.bed12"
# ),
# isomirs=config["isomirs_anno"],
# output:
# intersect=os.path.join(
# config["output_dir"], "{sample}", "intersect_isomirs.bed"
# ),
# params:
# cluster_log=os.path.join(
# config["cluster_log"], "intersection_isomirs_{sample}.log"
# ),
# log:
# os.path.join(config["local_log"], "intersection_isomirs_{sample}.log"),
# singularity:
# "docker://zavolab/bedtools:2.27.0"
# shell:
# "(bedtools intersect \
# -wao \
# -s \
# -F 1 \
# -sorted \
# -b {input.alignment} \
# -a {input.isomirs} \
# > {output.intersect} \
# ) &> {log}"
rule intersect_isomirs:
input:
alignment=os.path.join(
config["output_dir"], "{sample}", "sorted.alignments.bed12"
),
isomirs=os.path.join(
config["output_dir"], "sorted_isomirs.bed"
),
output:
intersect=os.path.join(
config["output_dir"], "{sample}", "intersect_isomirs.bed"
),
params:
cluster_log=os.path.join(
config["cluster_log"], "intersection_isomirs_{sample}.log"
),
log:
os.path.join(config["local_log"], "intersection_isomirs_{sample}.log"),
singularity:
"docker://zavolab/bedtools:2.27.0"
shell:
"(bedtools intersect \
-wao \
-s \
-F 1 \
-f 1 \
-sorted \
-b {input.alignment} \
-a {input.isomirs} \
> {output.intersect} \
) &> {log}"
###############################################################################
@@ -216,7 +282,7 @@ rule quant_mirna:
script=os.path.join(config["scripts_dir"], "mirna_quantification.py"),
output:
table=os.path.join(
config["output_dir"], "TABLES", "miRNA_counts_{sample}"
config["output_dir"], "TABLES", "miRNA_counts_{sample}"
),
params:
cluster_log=os.path.join(
@@ -246,7 +312,7 @@ rule quant_mirna:
rule quant_mirna_pri:
input:
intersect=os.path.join(
config["output_dir"], "{sample}", "intersect_mirna.bed"
config["output_dir"], "{sample}", "intersect_pre_mirna.bed"
),
script=os.path.join(config["scripts_dir"], "mirna_quantification.py"),
output:
@@ -286,34 +352,34 @@ rule quant_mirna_pri:
###############################################################################
# rule quant_isomirs:
# input:
# intersect=os.path.join(
# config["output_dir"], "{sample}", "intersect_isomirs.bed"
# ),
# script=os.path.join(config["scripts_dir"], "mirna_quantification.py"),
# output:
# table=os.path.join(
# config["output_dir"], "TABLES", "isomirs_counts_{sample}"
# ),
# params:
# cluster_log=os.path.join(
# config["cluster_log"], "quant_isomirs_{sample}.log"
# ),
# prefix=os.path.join(
# config["output_dir"], "TABLES", "isomirs_counts_{sample}"
# ),
# log:
# os.path.join(config["local_log"], "quant_isomirs_{sample}.log"),
# singularity:
# "docker://zavolab/python:3.6.5"
# shell:
# "(python \
# {input.script} \
# -i {input.intersect} \
# --uniq=miRNA \
# -p={params.prefix} \
# ) &> {log}"
rule quant_isomirs:
input:
intersect=os.path.join(
config["output_dir"], "{sample}", "intersect_isomirs.bed"
),
script=os.path.join(config["scripts_dir"], "mirna_quantification.py"),
output:
table=os.path.join(
config["output_dir"], "TABLES", "isomirs_counts_{sample}"
),
params:
cluster_log=os.path.join(
config["cluster_log"], "quant_isomirs_{sample}.log"
),
prefix=os.path.join(
config["output_dir"], "TABLES", "isomirs_counts_{sample}"
),
log:
os.path.join(config["local_log"], "quant_isomirs_{sample}.log"),
singularity:
"docker://zavolab/python:3.6.5"
shell:
"(python \
{input.script} \
-i {input.intersect} \
--uniq=miRNA \
-p={params.prefix} \
) &> {log}"
###############################################################################
@@ -350,4 +416,4 @@ rule merge_tables:
--output_file {output.table} \
--prefix {params.prefix} \
--verbose \
) &> {log}"
\ No newline at end of file
) &> {log}"
Loading