Switch to side-by-side view

--- a
+++ b/exseek/snakefiles/differential_expression.snakemake
@@ -0,0 +1,55 @@
+include: 'common.snakemake'
+
+compare_groups = config['compare_groups']
+
+def get_all_inputs(wildcards):
+    inputs = []
+    inputs += expand('{output_dir}/differential_expression/{count_method}/{compare_group}/{diffexp_method}.txt',
+            output_dir=output_dir, count_method=config['count_method'], compare_group=compare_groups, diffexp_method=config['diffexp_method'])
+    if has_batch_info:
+        inputs += expand('{output_dir}/differential_expression_with_batch/{batch_index}/{count_method}/{compare_group}/{diffexp_method}.txt',
+                output_dir=output_dir, batch_index=config['batch_index'], count_method=config['count_method'], compare_group=compare_groups, diffexp_method=config['diffexp_method'])
+    return inputs
+
+rule all:
+    input:
+        get_all_inputs
+
+rule differential_expression:
+    input:
+        matrix='{output_dir}/matrix_processing/filter.{count_method}.txt',
+        classes=data_dir + '/sample_classes.txt'
+    output:
+        '{output_dir}/differential_expression/{count_method}/{compare_group}/{diffexp_method}.txt'
+    params:
+        positive_class=lambda wildcards: compare_groups[wildcards.compare_group][1],
+        negative_class=lambda wildcards: compare_groups[wildcards.compare_group][0]
+    shell:
+        '''{bin_dir}/differential_expression.R \
+            -i {input.matrix} --classes {input.classes} \
+            --method {wildcards.diffexp_method} \
+            --positive-class "{params.positive_class}" \
+            --negative-class "{params.negative_class}" \
+            -o {output}
+        '''
+
+rule differential_expression_with_batch:
+    input:
+        matrix='{output_dir}/matrix_processing/filter.{count_method}.txt',
+        classes=data_dir + '/sample_classes.txt',
+        batch_info=data_dir + '/batch_info.txt'
+    output:
+        '{output_dir}/differential_expression_with_batch/{batch_index}/{count_method}/{compare_group}/{diffexp_method}.txt'
+    params:
+        positive_class=lambda wildcards: compare_groups[wildcards.compare_group][1],
+        negative_class=lambda wildcards: compare_groups[wildcards.compare_group][0],
+        batch_index=config['batch_index']
+    shell:
+        '''{bin_dir}/differential_expression.R \
+            -i {input.matrix} --classes {input.classes} \
+            --method {wildcards.diffexp_method} \
+            --positive-class "{params.positive_class}" \
+            --negative-class "{params.negative_class}" \
+            --batch {input.batch_info} --batch-index {wildcards.batch_index} \
+            -o {output}
+        '''
\ No newline at end of file