diff --git a/Snakefile b/Snakefile
index 3c5cbcb4fb5a4216974bb36b7038dffb852e6a1c..58ba2ed046ba624d20443dc363f3757c4f5a0ed1 100644
--- a/Snakefile
+++ b/Snakefile
@@ -1,8 +1,48 @@
+rule align_and_count:
+	input:
+		data="{folder}/BF_TRITC_maxZ.zarr",
+		concentrations="{folder}/../concentrations.yaml",
+		template="/pasteur/appa/homes/aaristov/Anchor/Lena/Data/template16_pad100-adj.tif",
+		labels="/pasteur/appa/homes/aaristov/Anchor/Lena/Data/labels_bin2+100.tif"
+	output:
+		directory("{folder}/BF_TRITC_aligned.zarr")
+	log:
+		"{folder}/snakemake_align_n_count.log"
+	shell:
+		"srun -c 12 python align.py {input.data} {output} {input.concentrations} {input.template} {input.labels} 0" 
+	
+
 rule get_sizes_nd2:
 	input:
 		"{file}.nd2"
 	output:
 		"{file}-sizes.txt"
 	shell:
-		"python -c 'import nd2; print(nd2.ND2File({input}).sizes)' > {output}"
+		"python sizes.py {input} > {output}"
+
+rule combine_BF_TRITC_3D_maxZ:
+	input: 
+		bf="{folder}/BF-2D.zarr",
+		fluo="{folder}/TRITC-3D.zarr"
+	output:
+		directory("{folder}/BF_TRITC_maxZ.zarr")
+	shell:
+		"srun -c 12 --job-name=maxZ  python combine.py {input.bf} {input.fluo} {output}" 
+
+
+rule convert_nd2_zarr:
+	input:
+		"{file}D.nd2"
+	output:
+		directory("{file}D.zarr")
+	shell:
+		"srun -c 12 --job-name=nd2-zarr singularity exec -B /pasteur /pasteur/appa/homes/aaristov/Anchor/Containers/zarr-tools_latest.sif python -m zarr_tools {input}"
 
+
+rule deskew:
+	input:
+		"{zarr}-skewed.zarr"
+	output:
+		directory("{zarr}.zarr")
+	shell:
+		"srun -c 12 --job-name=deskew python deskew.py {input} {output}"
\ No newline at end of file