diff --git a/scripts/labkey_to_snakemake.py b/scripts/labkey_to_snakemake.py
index defefe3d57d86fd7dc2c96f0bb2002b1031127b7..41fbb3e1455a47fb7377805ef602314d0836c46a 100755
--- a/scripts/labkey_to_snakemake.py
+++ b/scripts/labkey_to_snakemake.py
@@ -228,9 +228,13 @@ def main():
         snakemake_table.loc[index, 'soft_clip'] = options.soft_clip
         snakemake_table.loc[index, 'pass_mode'] = options.pass_mode
         snakemake_table.loc[index, 'libtype'] = options.libtype
+
         if options.trim_polya is True:
-            snakemake_table.loc[index, 'fq1_polya'] = trim_polya(
+            fq1_polya_3p, fq1_polya_5p = trim_polya(
                 row[input_dict.loc['mate1_direction', 'labkey']])
+            snakemake_table.loc[index, 'fq1_polya_3p'] = fq1_polya_3p
+            snakemake_table.loc[index, 'fq1_polya_5p'] = fq1_polya_5p
+
         snakemake_table.loc[index, 'kallisto_directionality'] = \
             get_kallisto_directionality(
                 row[input_dict.loc['mate1_direction', 'labkey']])
@@ -247,8 +251,10 @@ def main():
                 input_dict.loc['fq2_5p', 'labkey']]
 
             if options.trim_polya is True:
-                snakemake_table.loc[index, 'fq2_polya'] = trim_polya(
+                fq2_polya_3p, fq2_polya_5p = trim_polya(
                     row[input_dict.loc['mate2_direction', 'labkey']])
+                snakemake_table.loc[index, 'fq2_polya_3p'] = fq2_polya_3p
+                snakemake_table.loc[index, 'fq2_polya_5p'] = fq2_polya_5p
 
     snakemake_table.fillna('XXXXXXXXXXXXX', inplace=True)
     snakemake_table = snakemake_table.astype(
@@ -322,14 +328,15 @@ def get_kallisto_directionality(directionality):
 
 def trim_polya(sense):
     if sense == 'SENSE':
-        polya = 'AAAAAAAAAAAAAAAAA'
+        polya_3p = 'AAAAAAAAAAAAAAAAA'
+        polya_5p = 'XXXXXXXXXXXXXXXXX'
     elif sense == 'ANTISENSE':
-        polya = 'TTTTTTTTTTTTTTTTT'
-    elif sense == 'RANDOM':
-        polya = 'AAAAAAAAAAAAAAAAA'
+        polya_3p = 'XXXXXXXXXXXXXXXXX'
+        polya_5p = 'TTTTTTTTTTTTTTTTT'
     else:
-        polya = 'XXXXXXXXXXXXXXXXX'
-    return polya
+        polya_3p = 'XXXXXXXXXXXXXXXXX'
+        polya_5p = 'XXXXXXXXXXXXXXXXX'
+    return polya_3p, polya_5p
 
 
 if __name__ == '__main__':
diff --git a/workflow/rules/paired_end.snakefile.smk b/workflow/rules/paired_end.snakefile.smk
index f7326c3d4beb697cee7388ebbcad26489a9269c6..72685e3cc85d32c8a5d221df40bc6075ff9426e6 100644
--- a/workflow/rules/paired_end.snakefile.smk
+++ b/workflow/rules/paired_end.snakefile.smk
@@ -143,9 +143,13 @@ rule pe_remove_polya_cutadapt:
 
     params:
         polya_3_mate1 = lambda wildcards:
-            samples_table.loc[wildcards.sample, 'fq1_polya'],
+            samples_table.loc[wildcards.sample, 'fq1_polya_3p'],
+        polya_5_mate1 = lambda wildcards:
+            samples_table.loc[wildcards.sample, 'fq1_polya_5p'],
         polya_3_mate2 = lambda wildcards:
-            samples_table.loc[wildcards.sample, 'fq2_polya']
+            samples_table.loc[wildcards.sample, 'fq2_polya_3p'],
+        polya_5_mate2 = lambda wildcards:
+            samples_table.loc[wildcards.sample, 'fq2_polya_5p']
 
     singularity:
         "docker://zavolab/cutadapt:1.16-slim"
@@ -173,7 +177,9 @@ rule pe_remove_polya_cutadapt:
         -e 0.1 \
         -O 1 \
         -a {params.polya_3_mate1} \
+        -g {params.polya_5_mate1} \
         -A {params.polya_3_mate2} \
+        -G {params.polya_5_mate2} \
         -o {output.reads1} \
         -p {output.reads2} \
         {input.reads1} \
diff --git a/workflow/rules/single_end.snakefile.smk b/workflow/rules/single_end.snakefile.smk
index 415634d037d816603e171f038b9286d82c07add6..3e09fc0c00b96ee3b2ac4f7756e6914fc5d6c656 100644
--- a/workflow/rules/single_end.snakefile.smk
+++ b/workflow/rules/single_end.snakefile.smk
@@ -108,7 +108,9 @@ rule remove_polya_cutadapt:
 
     params:
         polya_3 = lambda wildcards:
-            samples_table.loc[wildcards.sample, "fq1_polya"]
+            samples_table.loc[wildcards.sample, "fq1_polya_3p"],
+        polya_5 = lambda wildcards:
+            samples_table.loc[wildcards.sample, "fq1_polya_5p"]
 
     singularity:
         "docker://zavolab/cutadapt:1.16-slim"
@@ -135,6 +137,7 @@ rule remove_polya_cutadapt:
         -O 1 \
         -m 10  \
         -a {params.polya_3} \
+        -g {params.polya_5} \
         -o {output.reads} \
         {input.reads};) \
         1> {log.stdout} 2> {log.stderr}"