diff --git a/tools/accel_align/accel_align.rule.snakefile b/tools/accel_align/accel_align.rule.snakefile
index 1ac570d87221e5b5af8a15e37f780d95c2f95913..e80bf361073438f95beea37653ab4026b7d0fdcc 100755
--- a/tools/accel_align/accel_align.rule.snakefile
+++ b/tools/accel_align/accel_align.rule.snakefile
@@ -11,7 +11,7 @@ if config["SeOrPe"] == "PE":
             config["<step_name>__accel_align_threads"]
         params:
             command = config["<step_name>__accel_align_PE_command"],
-            output_dir = config["results_dir"]+"/"+config["<step_name>__accel_align_PE_output_dir"],
+            tmp_sam = config["results_dir"]+"/"+config["<step_name>__accel_align_PE_output_dir"]+"/{sample}.sam",
             #indexPrefix =  config["<step_name>__accel_align_index_output_dir"]+"/index",
             #/patho_index/indexName.fna.hash 
             indexPrefix = lambda w, input: os.path.splitext([x for x in input.index if 'hash' in x][0])[0],
@@ -26,12 +26,13 @@ if config["SeOrPe"] == "PE":
             "-p {params.accel_align_insert_size} "
             "{params.accel_align_alignment_free} "
             "{params.accel_align_alignment_free} "
-            "-o {params.output_dir} "
+            "-o {params.tmp_sam}  "
             "{params.indexPrefix} "
             "{input.read} {input.read2} 2> {log}; "
-            "samtools view -b {params.output_dir} 2>> {log} "
+            "samtools view -b {params.tmp_sam}/ 2>> {log} "
             "| samtools sort -@ {threads} > {output.bam} 2>> {log} && "
-            "samtools index -@ {threads} {output.bam} 2>> {log}"
+            "samtools index -@ {threads} {output.bam} 2>> {log}; "
+            "rm -f {params.tmp_sam} "
 
 
 elif config["SeOrPe"] == "SE":
@@ -46,7 +47,7 @@ elif config["SeOrPe"] == "SE":
         threads:
             config["<step_name>__accel_align_threads"]
         params:
-            output_dir = config["results_dir"]+"/"+config["<step_name>__accel_align_SE_output_dir"],
+            tmp_sam = config["results_dir"]+"/"+config["<step_name>__accel_align_PE_output_dir"]+"/{sample}.sam",
             command = config["<step_name>__accel_align_PE_command"],
             accel_align_seed_length = config["<step_name>__accel_align_seed_length"],
             accel_align_softclipping = "-s" if config["<step_name>__accel_align_softclipping"] else "",
@@ -59,9 +60,10 @@ elif config["SeOrPe"] == "SE":
             "-l {params.accel_align_seed_length} "
             "{params.accel_align_alignment_free} "
             "{params.accel_align_alignment_free} "
-            "-o {params.output_dir} "
+            "-o {params.tmp_sam} "
             "{params.indexPrefix} "
             "{input.read} 2> {log}; "
-            "| samtools view -b {params.output_dir} 2>> {log} "
+            "| samtools view -b {params.tmp_sam} 2>> {log} "
             "| samtools sort -@ {threads} > {output.bam} 2>> {log} && "
-            "samtools index -@ {threads} {output.bam} 2>> {log}"
+            "samtools index -@ {threads} {output.bam} 2>> {log}; "
+            "rm -f {params.tmp_sam} "