diff --git a/workflow/rules/prepare.smk b/workflow/rules/prepare.smk
index f16c715df8cad8ef00d7d6253814663215ee9e8c..937770f808e75de34cb6e76a8b7fe99a2a4a1913 100644
--- a/workflow/rules/prepare.smk
+++ b/workflow/rules/prepare.smk
@@ -458,6 +458,35 @@ rule gfftobed:
         ) &> {log}"
 
 
+###############################################################################
+### Extract pre-miRNA
+###############################################################################
+
+
+rule filter_pre_mirs:
+    input:
+        bed=os.path.join(
+            config["output_dir"], "{organism}", "mirna_filtered.bed"
+        ),
+    output:
+        bed=os.path.join(
+            config["output_dir"], "{organism}", "pre_mirna_filtered.bed"
+        ),
+    params:
+        cluster_log=os.path.join(
+            config["cluster_log"], "{organism}", "filter_pre_mirs.log"
+        ),
+        precursor="miRNA_primary_transcript",
+    log:
+        os.path.join(
+            config["local_log"], "{organism}", "filter_pre_mirs.log"
+        ),
+    singularity:
+        "docker://zavolab/ubuntu:18.04"
+    shell:
+        "(grep {params.precursor} {input.bed} > {output.bed}) &> {log}"
+
+
 ###############################################################################
 ### Extract mature miRNA
 ###############################################################################
@@ -580,6 +609,7 @@ rule iso_anno:
         "(bedtools slop \
         -i {input.bed} \
         -g {input.chrsize} \
+        -s \
         -l {params.bp_5p} \
         -r {params.bp_3p} \
         > {output.bed} \