diff --git a/.gitignore b/.gitignore
index 594b9fcf8636eab8969ec4ba52281df25bf2f684..859c9466ee7f648385faa7c6be12eb660bad86d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -326,7 +326,9 @@ pip-selfcheck.json
 # Custom additions
 .vscode
 .DS_Store
-snakemake/.*
 runs/.*
 !runs/PUT_YOUR_WORKFLOW_RUN_CONFIGS_HERE
+._.DS_Store
 .snakemake/
+logs/
+results/
diff --git a/images/workflow_dag.svg b/images/workflow_dag.svg
index 0a20c622abd4ecc5445ca54416183cc3e5dc9557..b35ad6d4cdc6a9780a85417bd74180ab91a7700b 100644
--- a/images/workflow_dag.svg
+++ b/images/workflow_dag.svg
@@ -1,95 +1,232 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.42.3 (20191010.1750)
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
  -->
 <!-- Title: snakemake_dag Pages: 1 -->
-<svg width="699pt" height="188pt"
- viewBox="0.00 0.00 699.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
+<svg width="1229pt" height="337pt"
+ viewBox="0.00 0.00 1228.50 337.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 333)">
 <title>snakemake_dag</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-184 695,-184 695,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-333 1224.5,-333 1224.5,4 -4,4"/>
 <!-- 0 -->
-<g id="node1" class="node">
-<title>0</title>
-<path fill="none" stroke="#d88d56" stroke-width="2" d="M357.5,-36C357.5,-36 327.5,-36 327.5,-36 321.5,-36 315.5,-30 315.5,-24 315.5,-24 315.5,-12 315.5,-12 315.5,-6 321.5,0 327.5,0 327.5,0 357.5,0 357.5,0 363.5,0 369.5,-6 369.5,-12 369.5,-12 369.5,-24 369.5,-24 369.5,-30 363.5,-36 357.5,-36"/>
-<text text-anchor="middle" x="342.5" y="-15.5" font-family="sans" font-size="10.00">finish</text>
+<g id="node1" class="node"><title>0</title>
+<path fill="none" stroke="#5692d8" stroke-width="2" d="M698.5,-36C698.5,-36 668.5,-36 668.5,-36 662.5,-36 656.5,-30 656.5,-24 656.5,-24 656.5,-12 656.5,-12 656.5,-6 662.5,-0 668.5,-0 668.5,-0 698.5,-0 698.5,-0 704.5,-0 710.5,-6 710.5,-12 710.5,-12 710.5,-24 710.5,-24 710.5,-30 704.5,-36 698.5,-36"/>
+<text text-anchor="middle" x="683.5" y="-15.5" font-family="sans" font-size="10.00">finish</text>
 </g>
 <!-- 1 -->
-<g id="node2" class="node">
-<title>1</title>
-<path fill="none" stroke="#56d873" stroke-width="2" d="M155,-108C155,-108 12,-108 12,-108 6,-108 0,-102 0,-96 0,-96 0,-84 0,-84 0,-78 6,-72 12,-72 12,-72 155,-72 155,-72 161,-72 167,-78 167,-84 167,-84 167,-96 167,-96 167,-102 161,-108 155,-108"/>
-<text text-anchor="middle" x="83.5" y="-93" font-family="sans" font-size="10.00">pe_fastqc</text>
-<text text-anchor="middle" x="83.5" y="-82" font-family="sans" font-size="10.00">sample: HNRNPC_control_rep1</text>
+<g id="node2" class="node"><title>1</title>
+<path fill="none" stroke="#56d8c9" stroke-width="2" d="M145,-108C145,-108 12,-108 12,-108 6,-108 0,-102 0,-96 0,-96 0,-84 0,-84 0,-78 6,-72 12,-72 12,-72 145,-72 145,-72 151,-72 157,-78 157,-84 157,-84 157,-96 157,-96 157,-102 151,-108 145,-108"/>
+<text text-anchor="middle" x="78.5" y="-93" font-family="sans" font-size="10.00">fastqc</text>
+<text text-anchor="middle" x="78.5" y="-82" font-family="sans" font-size="10.00">sample: HNRNPC_control_rep1</text>
 </g>
 <!-- 1&#45;&gt;0 -->
-<g id="edge1" class="edge">
-<title>1&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M146.53,-71.97C196.33,-58.51 264.12,-40.18 305.52,-29"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="306.45,-32.37 315.19,-26.38 304.63,-25.61 306.45,-32.37"/>
+<g id="edge1" class="edge"><title>1&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M157.123,-73.4533C160.287,-72.9413 163.421,-72.4543 166.5,-72 345.404,-45.6025 561.075,-28.0522 646.281,-21.6765"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="646.77,-25.1499 656.484,-20.9199 646.253,-18.169 646.77,-25.1499"/>
 </g>
 <!-- 2 -->
-<g id="node3" class="node">
-<title>2</title>
-<path fill="none" stroke="#56d873" stroke-width="2" d="M320,-108C320,-108 197,-108 197,-108 191,-108 185,-102 185,-96 185,-96 185,-84 185,-84 185,-78 191,-72 197,-72 197,-72 320,-72 320,-72 326,-72 332,-78 332,-84 332,-84 332,-96 332,-96 332,-102 326,-108 320,-108"/>
-<text text-anchor="middle" x="258.5" y="-93" font-family="sans" font-size="10.00">pe_fastqc</text>
-<text text-anchor="middle" x="258.5" y="-82" font-family="sans" font-size="10.00">sample: HNRNPC_KD_rep1</text>
+<g id="node3" class="node"><title>2</title>
+<path fill="none" stroke="#56d892" stroke-width="2" d="M305.5,-108C305.5,-108 187.5,-108 187.5,-108 181.5,-108 175.5,-102 175.5,-96 175.5,-96 175.5,-84 175.5,-84 175.5,-78 181.5,-72 187.5,-72 187.5,-72 305.5,-72 305.5,-72 311.5,-72 317.5,-78 317.5,-84 317.5,-84 317.5,-96 317.5,-96 317.5,-102 311.5,-108 305.5,-108"/>
+<text text-anchor="middle" x="246.5" y="-93" font-family="sans" font-size="10.00">pe_fastqc</text>
+<text text-anchor="middle" x="246.5" y="-82" font-family="sans" font-size="10.00">sample: HNRNPC_KD_rep1</text>
 </g>
 <!-- 2&#45;&gt;0 -->
-<g id="edge2" class="edge">
-<title>2&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M279.26,-71.7C289.74,-62.97 302.61,-52.24 314,-42.75"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="316.53,-45.19 321.97,-36.1 312.05,-39.82 316.53,-45.19"/>
+<g id="edge2" class="edge"><title>2&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M317.555,-73.662C320.574,-73.0858 323.566,-72.5291 326.5,-72 442.449,-51.0944 580.667,-32.3061 645.887,-23.8032"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="646.618,-27.2378 656.085,-22.4802 645.718,-20.296 646.618,-27.2378"/>
 </g>
 <!-- 3 -->
-<g id="node4" class="node">
-<title>3</title>
-<path fill="none" stroke="#afd856" stroke-width="2" d="M490.5,-108C490.5,-108 362.5,-108 362.5,-108 356.5,-108 350.5,-102 350.5,-96 350.5,-96 350.5,-84 350.5,-84 350.5,-78 356.5,-72 362.5,-72 362.5,-72 490.5,-72 490.5,-72 496.5,-72 502.5,-78 502.5,-84 502.5,-84 502.5,-96 502.5,-96 502.5,-102 496.5,-108 490.5,-108"/>
-<text text-anchor="middle" x="426.5" y="-87.5" font-family="sans" font-size="10.00">pe_remove_polya_cutadapt</text>
+<g id="node4" class="node"><title>3</title>
+<path fill="none" stroke="#c6d856" stroke-width="2" d="M497.5,-108C497.5,-108 347.5,-108 347.5,-108 341.5,-108 335.5,-102 335.5,-96 335.5,-96 335.5,-84 335.5,-84 335.5,-78 341.5,-72 347.5,-72 347.5,-72 497.5,-72 497.5,-72 503.5,-72 509.5,-78 509.5,-84 509.5,-84 509.5,-96 509.5,-96 509.5,-102 503.5,-108 497.5,-108"/>
+<text text-anchor="middle" x="422.5" y="-87.5" font-family="sans" font-size="10.00">index_genomic_alignment_samtools</text>
 </g>
 <!-- 3&#45;&gt;0 -->
-<g id="edge3" class="edge">
-<title>3&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M405.74,-71.7C395.26,-62.97 382.39,-52.24 371,-42.75"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="372.95,-39.82 363.03,-36.1 368.47,-45.19 372.95,-39.82"/>
+<g id="edge3" class="edge"><title>3&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M486.014,-71.9656C536.337,-58.4691 604.892,-40.0826 646.577,-28.9028"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="647.562,-32.2623 656.314,-26.2912 645.749,-25.5012 647.562,-32.2623"/>
 </g>
 <!-- 4 -->
-<g id="node5" class="node">
-<title>4</title>
-<path fill="none" stroke="#afd856" stroke-width="2" d="M667.5,-108C667.5,-108 539.5,-108 539.5,-108 533.5,-108 527.5,-102 527.5,-96 527.5,-96 527.5,-84 527.5,-84 527.5,-78 533.5,-72 539.5,-72 539.5,-72 667.5,-72 667.5,-72 673.5,-72 679.5,-78 679.5,-84 679.5,-84 679.5,-96 679.5,-96 679.5,-102 673.5,-108 667.5,-108"/>
-<text text-anchor="middle" x="603.5" y="-87.5" font-family="sans" font-size="10.00">pe_remove_polya_cutadapt</text>
+<g id="node5" class="node"><title>4</title>
+<path fill="none" stroke="#5673d8" stroke-width="2" d="M705.5,-108C705.5,-108 539.5,-108 539.5,-108 533.5,-108 527.5,-102 527.5,-96 527.5,-96 527.5,-84 527.5,-84 527.5,-78 533.5,-72 539.5,-72 539.5,-72 705.5,-72 705.5,-72 711.5,-72 717.5,-78 717.5,-84 717.5,-84 717.5,-96 717.5,-96 717.5,-102 711.5,-108 705.5,-108"/>
+<text text-anchor="middle" x="622.5" y="-87.5" font-family="sans" font-size="10.00">pe_index_genomic_alignment_samtools</text>
 </g>
 <!-- 4&#45;&gt;0 -->
-<g id="edge4" class="edge">
-<title>4&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M539.99,-71.97C489.66,-58.47 421.11,-40.08 379.42,-28.9"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="380.25,-25.5 369.69,-26.29 378.44,-32.26 380.25,-25.5"/>
+<g id="edge4" class="edge"><title>4&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M637.579,-71.6966C644.892,-63.3046 653.81,-53.0705 661.835,-43.8613"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="664.664,-45.9429 668.595,-36.1043 659.386,-41.344 664.664,-45.9429"/>
 </g>
 <!-- 5 -->
-<g id="node6" class="node">
-<title>5</title>
-<path fill="none" stroke="#5692d8" stroke-width="2" d="M494,-180C494,-180 351,-180 351,-180 345,-180 339,-174 339,-168 339,-168 339,-156 339,-156 339,-150 345,-144 351,-144 351,-144 494,-144 494,-144 500,-144 506,-150 506,-156 506,-156 506,-168 506,-168 506,-174 500,-180 494,-180"/>
-<text text-anchor="middle" x="422.5" y="-165" font-family="sans" font-size="10.00">pe_remove_adapters_cutadapt</text>
-<text text-anchor="middle" x="422.5" y="-154" font-family="sans" font-size="10.00">sample: HNRNPC_control_rep1</text>
-</g>
-<!-- 5&#45;&gt;3 -->
-<g id="edge5" class="edge">
-<title>5&#45;&gt;3</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M423.49,-143.7C423.93,-135.98 424.46,-126.71 424.95,-118.11"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="428.45,-118.29 425.52,-108.1 421.46,-117.89 428.45,-118.29"/>
+<g id="node6" class="node"><title>5</title>
+<path fill="none" stroke="#56a9d8" stroke-width="2" d="M711,-180C711,-180 624,-180 624,-180 618,-180 612,-174 612,-168 612,-168 612,-156 612,-156 612,-150 618,-144 624,-144 624,-144 711,-144 711,-144 717,-144 723,-150 723,-156 723,-156 723,-168 723,-168 723,-174 717,-180 711,-180"/>
+<text text-anchor="middle" x="667.5" y="-159.5" font-family="sans" font-size="10.00">quantification_salmon</text>
+</g>
+<!-- 5&#45;&gt;0 -->
+<g id="edge5" class="edge"><title>5&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M695.3,-143.872C707.271,-134.837 719.995,-122.587 726.5,-108 733.016,-93.3871 731.848,-87.0798 726.5,-72 722.838,-61.6754 716.213,-51.8956 709.243,-43.6136"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="711.83,-41.2561 702.539,-36.1633 706.626,-45.9382 711.83,-41.2561"/>
 </g>
 <!-- 6 -->
-<g id="node7" class="node">
-<title>6</title>
-<path fill="none" stroke="#5692d8" stroke-width="2" d="M679,-180C679,-180 536,-180 536,-180 530,-180 524,-174 524,-168 524,-168 524,-156 524,-156 524,-150 530,-144 536,-144 536,-144 679,-144 679,-144 685,-144 691,-150 691,-156 691,-156 691,-168 691,-168 691,-174 685,-180 679,-180"/>
-<text text-anchor="middle" x="607.5" y="-165" font-family="sans" font-size="10.00">pe_remove_adapters_cutadapt</text>
-<text text-anchor="middle" x="607.5" y="-154" font-family="sans" font-size="10.00">sample: HNRNPC_KD_rep1</text>
-</g>
-<!-- 6&#45;&gt;4 -->
-<g id="edge6" class="edge">
-<title>6&#45;&gt;4</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M606.51,-143.7C606.07,-135.98 605.54,-126.71 605.05,-118.11"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="608.54,-117.89 604.48,-108.1 601.55,-118.29 608.54,-117.89"/>
+<g id="node7" class="node"><title>6</title>
+<path fill="none" stroke="#d87556" stroke-width="2" d="M856,-180C856,-180 753,-180 753,-180 747,-180 741,-174 741,-168 741,-168 741,-156 741,-156 741,-150 747,-144 753,-144 753,-144 856,-144 856,-144 862,-144 868,-150 868,-156 868,-156 868,-168 868,-168 868,-174 862,-180 856,-180"/>
+<text text-anchor="middle" x="804.5" y="-159.5" font-family="sans" font-size="10.00">pe_quantification_salmon</text>
+</g>
+<!-- 6&#45;&gt;0 -->
+<g id="edge6" class="edge"><title>6&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M794.156,-143.745C782.643,-125.159 762.949,-95.1426 742.5,-72 733.436,-61.7416 722.513,-51.4573 712.542,-42.7145"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="714.669,-39.9274 704.804,-36.0634 710.107,-45.236 714.669,-39.9274"/>
+</g>
+<!-- 7 -->
+<g id="node8" class="node"><title>7</title>
+<path fill="none" stroke="#d8cb56" stroke-width="2" d="M1024.5,-180C1024.5,-180 898.5,-180 898.5,-180 892.5,-180 886.5,-174 886.5,-168 886.5,-168 886.5,-156 886.5,-156 886.5,-150 892.5,-144 898.5,-144 898.5,-144 1024.5,-144 1024.5,-144 1030.5,-144 1036.5,-150 1036.5,-156 1036.5,-156 1036.5,-168 1036.5,-168 1036.5,-174 1030.5,-180 1024.5,-180"/>
+<text text-anchor="middle" x="961.5" y="-159.5" font-family="sans" font-size="10.00">genome_quantification_kallisto</text>
+</g>
+<!-- 7&#45;&gt;0 -->
+<g id="edge7" class="edge"><title>7&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M927.967,-143.871C875.381,-117.011 773.939,-65.1956 719.734,-37.5078"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="720.999,-34.2241 710.501,-32.7921 717.815,-40.4579 720.999,-34.2241"/>
+</g>
+<!-- 8 -->
+<g id="node9" class="node"><title>8</title>
+<path fill="none" stroke="#d88d56" stroke-width="2" d="M1208.5,-180C1208.5,-180 1066.5,-180 1066.5,-180 1060.5,-180 1054.5,-174 1054.5,-168 1054.5,-168 1054.5,-156 1054.5,-156 1054.5,-150 1060.5,-144 1066.5,-144 1066.5,-144 1208.5,-144 1208.5,-144 1214.5,-144 1220.5,-150 1220.5,-156 1220.5,-156 1220.5,-168 1220.5,-168 1220.5,-174 1214.5,-180 1208.5,-180"/>
+<text text-anchor="middle" x="1137.5" y="-159.5" font-family="sans" font-size="10.00">pe_genome_quantification_kallisto</text>
+</g>
+<!-- 8&#45;&gt;0 -->
+<g id="edge8" class="edge"><title>8&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1082.74,-143.871C988.878,-114.515 799.714,-55.3489 720.116,-30.4527"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="721.109,-27.0961 710.52,-27.4513 719.02,-33.777 721.109,-27.0961"/>
+</g>
+<!-- 9 -->
+<g id="node10" class="node"><title>9</title>
+<path fill="none" stroke="#56d873" stroke-width="2" d="M451,-180C451,-180 378,-180 378,-180 372,-180 366,-174 366,-168 366,-168 366,-156 366,-156 366,-150 372,-144 378,-144 378,-144 451,-144 451,-144 457,-144 463,-150 463,-156 463,-156 463,-168 463,-168 463,-174 457,-180 451,-180"/>
+<text text-anchor="middle" x="414.5" y="-159.5" font-family="sans" font-size="10.00">map_genome_star</text>
+</g>
+<!-- 9&#45;&gt;3 -->
+<g id="edge9" class="edge"><title>9&#45;&gt;3</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M416.478,-143.697C417.359,-135.983 418.419,-126.712 419.401,-118.112"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="422.887,-118.437 420.545,-108.104 415.932,-117.642 422.887,-118.437"/>
+</g>
+<!-- 10 -->
+<g id="node11" class="node"><title>10</title>
+<path fill="none" stroke="#56d8a9" stroke-width="2" d="M582,-180C582,-180 493,-180 493,-180 487,-180 481,-174 481,-168 481,-168 481,-156 481,-156 481,-150 487,-144 493,-144 493,-144 582,-144 582,-144 588,-144 594,-150 594,-156 594,-156 594,-168 594,-168 594,-174 588,-180 582,-180"/>
+<text text-anchor="middle" x="537.5" y="-159.5" font-family="sans" font-size="10.00">pe_map_genome_star</text>
+</g>
+<!-- 10&#45;&gt;4 -->
+<g id="edge10" class="edge"><title>10&#45;&gt;4</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M558.511,-143.697C569.216,-134.881 582.39,-124.032 593.996,-114.474"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="596.236,-117.163 601.73,-108.104 591.786,-111.76 596.236,-117.163"/>
+</g>
+<!-- 11 -->
+<g id="node12" class="node"><title>11</title>
+<path fill="none" stroke="#d8ac56" stroke-width="2" d="M657.5,-254.5C657.5,-254.5 561.5,-254.5 561.5,-254.5 555.5,-254.5 549.5,-248.5 549.5,-242.5 549.5,-242.5 549.5,-230.5 549.5,-230.5 549.5,-224.5 555.5,-218.5 561.5,-218.5 561.5,-218.5 657.5,-218.5 657.5,-218.5 663.5,-218.5 669.5,-224.5 669.5,-230.5 669.5,-230.5 669.5,-242.5 669.5,-242.5 669.5,-248.5 663.5,-254.5 657.5,-254.5"/>
+<text text-anchor="middle" x="609.5" y="-234" font-family="sans" font-size="10.00">remove_polya_cutadapt</text>
+</g>
+<!-- 11&#45;&gt;5 -->
+<g id="edge11" class="edge"><title>11&#45;&gt;5</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M623.245,-218.319C630.468,-209.29 639.457,-198.054 647.442,-188.072"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="650.34,-190.053 653.853,-180.058 644.873,-185.68 650.34,-190.053"/>
+</g>
+<!-- 11&#45;&gt;7 -->
+<g id="edge15" class="edge"><title>11&#45;&gt;7</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M669.359,-218.435C672.782,-217.581 676.18,-216.762 679.5,-216 763.608,-196.682 787.967,-196.835 876.473,-180.165"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="877.239,-183.582 886.409,-178.274 875.931,-176.705 877.239,-183.582"/>
+</g>
+<!-- 11&#45;&gt;9 -->
+<g id="edge20" class="edge"><title>11&#45;&gt;9</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M563.288,-218.319C535.36,-207.935 499.584,-194.634 470.113,-183.677"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="470.973,-180.263 460.381,-180.058 468.534,-186.824 470.973,-180.263"/>
+</g>
+<!-- 12 -->
+<g id="node13" class="node"><title>12</title>
+<path fill="none" stroke="#56c9d8" stroke-width="2" d="M801,-257C801,-257 700,-257 700,-257 694,-257 688,-251 688,-245 688,-245 688,-228 688,-228 688,-222 694,-216 700,-216 700,-216 801,-216 801,-216 807,-216 813,-222 813,-228 813,-228 813,-245 813,-245 813,-251 807,-257 801,-257"/>
+<text text-anchor="middle" x="750.5" y="-245" font-family="sans" font-size="10.00">create_index_salmon</text>
+<text text-anchor="middle" x="750.5" y="-234" font-family="sans" font-size="10.00">kmer: 31</text>
+<text text-anchor="middle" x="750.5" y="-223" font-family="sans" font-size="10.00">organism: homo_sapiens</text>
+</g>
+<!-- 12&#45;&gt;5 -->
+<g id="edge12" class="edge"><title>12&#45;&gt;5</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M727.82,-215.689C717.646,-206.802 705.557,-196.243 694.883,-186.919"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="696.886,-184.021 687.052,-180.078 692.28,-189.293 696.886,-184.021"/>
+</g>
+<!-- 12&#45;&gt;6 -->
+<g id="edge14" class="edge"><title>12&#45;&gt;6</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M765.256,-215.689C771.503,-207.301 778.86,-197.424 785.506,-188.501"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="788.433,-190.43 791.6,-180.319 782.82,-186.249 788.433,-190.43"/>
+</g>
+<!-- 13 -->
+<g id="node14" class="node"><title>13</title>
+<path fill="none" stroke="#afd856" stroke-width="2" d="M955.5,-254.5C955.5,-254.5 843.5,-254.5 843.5,-254.5 837.5,-254.5 831.5,-248.5 831.5,-242.5 831.5,-242.5 831.5,-230.5 831.5,-230.5 831.5,-224.5 837.5,-218.5 843.5,-218.5 843.5,-218.5 955.5,-218.5 955.5,-218.5 961.5,-218.5 967.5,-224.5 967.5,-230.5 967.5,-230.5 967.5,-242.5 967.5,-242.5 967.5,-248.5 961.5,-254.5 955.5,-254.5"/>
+<text text-anchor="middle" x="899.5" y="-234" font-family="sans" font-size="10.00">pe_remove_polya_cutadapt</text>
+</g>
+<!-- 13&#45;&gt;6 -->
+<g id="edge13" class="edge"><title>13&#45;&gt;6</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M876.986,-218.319C864.445,-208.748 848.656,-196.698 835.018,-186.29"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="836.925,-183.343 826.852,-180.058 832.678,-188.907 836.925,-183.343"/>
+</g>
+<!-- 13&#45;&gt;8 -->
+<g id="edge17" class="edge"><title>13&#45;&gt;8</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M955.601,-218.41C990.272,-207.849 1034.94,-194.242 1071.33,-183.156"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1072.82,-186.363 1081.36,-180.1 1070.78,-179.666 1072.82,-186.363"/>
+</g>
+<!-- 13&#45;&gt;10 -->
+<g id="edge22" class="edge"><title>13&#45;&gt;10</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M833.639,-218.429C829.878,-217.576 826.145,-216.76 822.5,-216 729.047,-196.523 701.767,-200.061 604.283,-180.054"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="604.81,-176.588 594.306,-177.975 603.382,-183.441 604.81,-176.588"/>
+</g>
+<!-- 14 -->
+<g id="node15" class="node"><title>14</title>
+<path fill="none" stroke="#8fd856" stroke-width="2" d="M1170,-254.5C1170,-254.5 1069,-254.5 1069,-254.5 1063,-254.5 1057,-248.5 1057,-242.5 1057,-242.5 1057,-230.5 1057,-230.5 1057,-224.5 1063,-218.5 1069,-218.5 1069,-218.5 1170,-218.5 1170,-218.5 1176,-218.5 1182,-224.5 1182,-230.5 1182,-230.5 1182,-242.5 1182,-242.5 1182,-248.5 1176,-254.5 1170,-254.5"/>
+<text text-anchor="middle" x="1119.5" y="-239.5" font-family="sans" font-size="10.00">create_index_kallisto</text>
+<text text-anchor="middle" x="1119.5" y="-228.5" font-family="sans" font-size="10.00">organism: homo_sapiens</text>
+</g>
+<!-- 14&#45;&gt;7 -->
+<g id="edge16" class="edge"><title>14&#45;&gt;7</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1082.06,-218.319C1059.82,-208.116 1031.45,-195.096 1007.81,-184.25"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1009.22,-181.048 998.675,-180.058 1006.3,-187.41 1009.22,-181.048"/>
+</g>
+<!-- 14&#45;&gt;8 -->
+<g id="edge18" class="edge"><title>14&#45;&gt;8</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1123.77,-218.319C1125.87,-209.831 1128.46,-199.394 1130.83,-189.882"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1134.25,-190.607 1133.26,-180.058 1127.46,-188.92 1134.25,-190.607"/>
+</g>
+<!-- 15 -->
+<g id="node16" class="node"><title>15</title>
+<path fill="none" stroke="#70d856" stroke-width="2" d="M483,-257C483,-257 382,-257 382,-257 376,-257 370,-251 370,-245 370,-245 370,-228 370,-228 370,-222 376,-216 382,-216 382,-216 483,-216 483,-216 489,-216 495,-222 495,-228 495,-228 495,-245 495,-245 495,-251 489,-257 483,-257"/>
+<text text-anchor="middle" x="432.5" y="-245" font-family="sans" font-size="10.00">create_index_star</text>
+<text text-anchor="middle" x="432.5" y="-234" font-family="sans" font-size="10.00">index_size: 100</text>
+<text text-anchor="middle" x="432.5" y="-223" font-family="sans" font-size="10.00">organism: homo_sapiens</text>
+</g>
+<!-- 15&#45;&gt;9 -->
+<g id="edge19" class="edge"><title>15&#45;&gt;9</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M427.581,-215.689C425.628,-207.82 423.349,-198.64 421.245,-190.168"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="424.607,-189.181 418.8,-180.319 417.813,-190.868 424.607,-189.181"/>
+</g>
+<!-- 15&#45;&gt;10 -->
+<g id="edge21" class="edge"><title>15&#45;&gt;10</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M460.915,-215.88C474.293,-206.643 490.336,-195.565 504.274,-185.941"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="506.398,-188.729 512.638,-180.166 502.421,-182.968 506.398,-188.729"/>
+</g>
+<!-- 16 -->
+<g id="node17" class="node"><title>16</title>
+<path fill="none" stroke="#d85656" stroke-width="2" d="M676,-329C676,-329 543,-329 543,-329 537,-329 531,-323 531,-317 531,-317 531,-305 531,-305 531,-299 537,-293 543,-293 543,-293 676,-293 676,-293 682,-293 688,-299 688,-305 688,-305 688,-317 688,-317 688,-323 682,-329 676,-329"/>
+<text text-anchor="middle" x="609.5" y="-314" font-family="sans" font-size="10.00">remove_adapters_cutadapt</text>
+<text text-anchor="middle" x="609.5" y="-303" font-family="sans" font-size="10.00">sample: HNRNPC_control_rep1</text>
+</g>
+<!-- 16&#45;&gt;11 -->
+<g id="edge23" class="edge"><title>16&#45;&gt;11</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M609.5,-292.819C609.5,-284.422 609.5,-274.116 609.5,-264.686"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="613,-264.558 609.5,-254.558 606,-264.558 613,-264.558"/>
+</g>
+<!-- 17 -->
+<g id="node18" class="node"><title>17</title>
+<path fill="none" stroke="#59d856" stroke-width="2" d="M962.5,-329C962.5,-329 836.5,-329 836.5,-329 830.5,-329 824.5,-323 824.5,-317 824.5,-317 824.5,-305 824.5,-305 824.5,-299 830.5,-293 836.5,-293 836.5,-293 962.5,-293 962.5,-293 968.5,-293 974.5,-299 974.5,-305 974.5,-305 974.5,-317 974.5,-317 974.5,-323 968.5,-329 962.5,-329"/>
+<text text-anchor="middle" x="899.5" y="-314" font-family="sans" font-size="10.00">pe_remove_adapters_cutadapt</text>
+<text text-anchor="middle" x="899.5" y="-303" font-family="sans" font-size="10.00">sample: HNRNPC_KD_rep1</text>
+</g>
+<!-- 17&#45;&gt;13 -->
+<g id="edge24" class="edge"><title>17&#45;&gt;13</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M899.5,-292.819C899.5,-284.422 899.5,-274.116 899.5,-264.686"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="903,-264.558 899.5,-254.558 896,-264.558 903,-264.558"/>
 </g>
 </g>
 </svg>
diff --git a/snakemake/Snakefile b/snakemake/Snakefile
index eddcd1f2002425a9cc6f06826a2601dc4ce2b98b..ba4bb99cb2794a827e5928bdadb37a6e658e0176 100644
--- a/snakemake/Snakefile
+++ b/snakemake/Snakefile
@@ -27,18 +27,29 @@ include: 'single_end.snakefile.smk'
 
 rule finish:
 	input:
-		outdir1 = expand(os.path.join(config["output_dir"], "paired_end", "{sample}", "mate1_fastqc"), sample=samples_table.index.values),
-		outdir2 = expand(os.path.join(config["output_dir"], "paired_end", "{sample}", "mate2_fastqc"), sample=samples_table.index.values),
-		reads1 = expand(os.path.join(config["output_dir"], "paired_end", "{sample}", "{sample}.remove_polya_mate1.fastq.gz"), sample=samples_table.index.values)
-		
-
+		outdir1 = expand(os.path.join(config["output_dir"], "{seqmode}", "{sample}", "mate1_fastqc"),
+			zip,
+			sample= [i for i in list(samples_table.index.values)], 
+			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
+		bai_index_map = expand(os.path.join(config["output_dir"], "{seqmode}", "{sample}", "map_genome", "{sample}_Aligned.sortedByCoord.out.bam.bai"),
+			zip,
+			sample= [i for i in list(samples_table.index.values)], 
+			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]), 
+		salmon_gn_estimates = expand(os.path.join(config["output_dir"],"{seqmode}","{sample}","salmon_quant","quant.genes.sf"),
+			zip,
+			sample= [i for i in list(samples_table.index.values)], 
+			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
+		pseudoalignment = expand(os.path.join(config["output_dir"],"{seqmode}","{sample}","quant_kallisto", "{sample}.kallisto.pseudo.sam"),
+			zip,
+			sample= [i for i in list(samples_table.index.values)], 
+			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
 
 
 rule create_index_star:
 	''' Create index using STAR'''
 	input:
-		genome = lambda wildcards: samples_table.loc[wildcards.sample, 'genome'],
-		gtf = lambda wildcards: samples_table.loc[wildcards.sample, 'gtf']
+		genome =lambda wildcards: samples_table["genome"][samples_table["organism"]==wildcards.organism][0],
+		gtf =lambda wildcards: samples_table["gtf"][samples_table["organism"]==wildcards.organism][0]
 	output:
 		chromosome_info = os.path.join(
 			config["star_indexes"],
@@ -63,8 +74,7 @@ rule create_index_star:
 				"{organism}",
 				"{index_size}",
 				"STAR_index/STAR_"),
-		sjdbOverhang = lambda wildcards:
-			samples_table[wildcards.sample, "index_size"],
+		sjdbOverhang = "{index_size}"
 	singularity:
 		"docker://zavolab/star:2.6.0a"
 	threads: 12
@@ -86,46 +96,44 @@ rule create_index_star:
 rule create_index_salmon:
 	'''Create index for salmon quantification'''
 	input:
-		transcriptome = lambda wildcards:
-			samples_table.loc[wildcards.sample, 'tr_fasta_filtered']
+		transcriptome = lambda wildcards: samples_table['tr_fasta_filtered'][samples_table["organism"]==wildcards.organism][0]
 	output:
-		index = os.path.join(
+		index = directory(os.path.join(
 			config["salmon_indexes"],
 			"{organism}",
-			"salmon.idx")
+			"{kmer}",
+			"salmon.idx"))
+
 	params:
-		kmerLen = lambda wildcards:
-			samples_table.loc[wildcards.sample, 'kmer']
+		kmerLen = "{kmer}"
 	singularity:
 		"docker://zavolab/salmon:0.11.0"
 	log:
-		os.path.join(config["local_log"], "{organism}_create_index_salmon.log")
+		os.path.join(config["local_log"], "{organism}_{kmer}_create_index_salmon.log")
 	threads:	8
 	shell:
 		"(salmon index \
-		--t {input.transcriptome} \
-		--i {output.index} \
-		--k {params.kmerLen} \
+		--transcripts {input.transcriptome} \
+		--index {output.index} \
+		--kmerLen {params.kmerLen} \
 		--threads {threads}) &> {log}"
 
 
 rule create_index_kallisto:
 	'''Create index for running Kallisto'''
 	input:
-		transcriptome = lambda wildcards:
-			samples_table.loc[wildcards.sample, 'tr_fasta_filtered']
+		transcriptome = lambda wildcards: samples_table['tr_fasta_filtered'][samples_table["organism"]==wildcards.organism][0]
 	output:
 		index = os.path.join(
 				config["kallisto_indexes"],
 				"{organism}",
 				"kallisto.idx")
 	params:
-		output_dir = lambda wildcards:
-			os.path.join(
+		output_dir = os.path.join(
 				config["kallisto_indexes"],
-				samples_table[wildcards.sample, 'organism'])
+				"{organism}")
 	singularity:
-		"docker://zavolab/kallisto:0.9"
+		"docker://zavolab/kallisto:0.46.1"
 	log:
 		os.path.join(config["local_log"], "{organism}_create_index_kallisto.log")
 	shell:
diff --git a/snakemake/paired_end.snakefile.smk b/snakemake/paired_end.snakefile.smk
index 3488d27af05cf9e80aebe32c5b41715c498020de..8805f2083724f50942547cc586378f8d04ff611c 100644
--- a/snakemake/paired_end.snakefile.smk
+++ b/snakemake/paired_end.snakefile.smk
@@ -6,14 +6,14 @@ rule pe_fastqc:
 		reads1 = lambda wildcards: samples_table.loc[wildcards.sample, "fq1"],
 		reads2 = lambda wildcards: samples_table.loc[wildcards.sample, "fq2"]
 	output:
-		outdir1 = directory(os.path.join(config["output_dir"], "paired_end", "{sample}", "mate1_fastqc")),
-		outdir2 = directory(os.path.join(config["output_dir"], "paired_end", "{sample}", "mate2_fastqc"))
+		outdir1 = directory(os.path.join(config["output_dir"],"paired_end", "{sample}", "mate1_fastqc")),
+		outdir2 = directory(os.path.join(config["output_dir"],"paired_end", "{sample}", "mate2_fastqc"))
 	threads:
 		2
 	singularity:
 		"docker://zavolab/fastqc:0.11.8"
 	log:
-		os.path.join(config["local_log"], "paired_end", "{sample}", "fastqc.log")
+		os.path.join(config["local_log"],"paired_end", "{sample}", "fastqc.log")
 	shell:
 		"(mkdir -p {output.outdir1}; \
 		mkdir -p {output.outdir2}; \
@@ -127,8 +127,8 @@ rule pe_map_genome_star:
 		index = lambda wildcards:
 			os.path.join(
 				config["star_indexes"],
-				samples_table.loc[wildcards.sample, "organism"],
-				samples_table.loc[wildcards.sample, "index_size"],
+				str(samples_table.loc[wildcards.sample, "organism"]),
+				str(samples_table.loc[wildcards.sample, "index_size"]),
 				"STAR_index",
 				"chrNameLength.txt"),
 		reads1 = os.path.join(
@@ -159,7 +159,8 @@ rule pe_map_genome_star:
 		index = lambda wildcards:
 			os.path.join(
 				config["star_indexes"],
-				samples_table.loc[wildcards.sample, "index_size"],
+				str(samples_table.loc[wildcards.sample, "organism"]),
+				str(samples_table.loc[wildcards.sample, "index_size"]),
 				"STAR_index"),
 		outFileNamePrefix = os.path.join(
 			config["output_dir"],
@@ -168,7 +169,7 @@ rule pe_map_genome_star:
 			"map_genome",
 			"{sample}_"),
 		multimappers = lambda wildcards:
-			samples_table.loc[wildcards.sample, "mulitmappers"],
+			str(samples_table.loc[wildcards.sample, "multimappers"]),
 		soft_clip = lambda wildcards:
 			samples_table.loc[wildcards.sample, "soft_clip"],
 		pass_mode = lambda wildcards:
@@ -202,8 +203,8 @@ rule pe_map_genome_star:
 		--outFilterMatchNminOverLread 0.3 \
 		--outFilterType BySJout \
 		--outReadsUnmapped None \
-		--outSAMattrRGline ID:rnaseq_pipeline SM:{params.sample} \
-		--alignEndsType {params.soft_clip}} > {output.bam};) &> {log}"
+		--outSAMattrRGline ID:rnaseq_pipeline SM:{params.sample_id} \
+		--alignEndsType {params.soft_clip} > {output.bam};) &> {log}"
 
 
 rule pe_index_genomic_alignment_samtools:
@@ -249,7 +250,8 @@ rule pe_quantification_salmon:
 		index = lambda wildcards:
 			os.path.join(
 				config["salmon_indexes"],
-				samples_table.loc[wildcards.sample, 'organism'],
+				str(samples_table.loc[wildcards.sample, "organism"]),
+				str(samples_table.loc[wildcards.sample, "kmer"]),
 				"salmon.idx")
 	output:		
 		gn_estimates = os.path.join(
@@ -317,16 +319,15 @@ rule pe_genome_quantification_kallisto:
 			"quant_kallisto",
 			"{sample}.kallisto.pseudo.sam")
 	params:
-		output_dir = lambda wildcards:
-			os.path.join(
+		output_dir = os.path.join(
 				config["output_dir"],
 				"paired_end",
-				wildcards.sample,
+				"{sample}",
 				"quant_kallisto"),
 		directionality = lambda wildcards:
 			samples_table.loc[wildcards.sample, "kallisto_directionality"]
 	singularity:
-		"docker://zavolab/kallisto:0.9"
+		"docker://zavolab/kallisto:0.46.1"
 	threads:	8
 	log:
 		os.path.join(config["local_log"], "paired_end", "{sample}", "genome_quantification_kallisto.log")
diff --git a/snakemake/preprocessing.snakefile.smk b/snakemake/preprocessing.snakefile.smk
deleted file mode 100644
index 54d1d32ec3a633985aa2c9468580cdec8dc138ad..0000000000000000000000000000000000000000
--- a/snakemake/preprocessing.snakefile.smk
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-rule index_genome_STAR:
-    '''
-    Create Star index
-    '''
-	input:
-		genome = os.path.join(config["output_dir"], "genome.fa"),
-		annotation = os.path.join(config["output_dir"], "annotation.gtf")
-	output:
-		output = os.path.join(config["database_path"], config['organism'], config['STAR_idx_folder], "STAR_index" + {sjdb})
-	params:
-		outputdir = os.path.join(config["output_dir"],"STAR_index"),
-		sjdb = lambda wildcards: samples.loc['sjdb']
-	threads:	8
-	singularity:
-		"docker://zavolab/star:2.6.0a"
-	log:
-		os.path.join(config["local_log"],"index_genome_STAR.log")
-	shell:
-		"mkdir -p {output.output}; \
-		chmod -R 777 {output.output}; \
-		(STAR --runMode genomeGenerate \
-		--sjdbOverhang {params.sjdbOverhang} \
-		--genomeDir {params.outputdir} \
-		--genomeFastaFiles {input.genome} \
-		--runThreadN {threads} \
-		--sjdbGTFfile {input.annotation}) &> {log}"
\ No newline at end of file
diff --git a/snakemake/single_end.snakefile.smk b/snakemake/single_end.snakefile.smk
index 5c06dac92f7e4fe35236b0bf3f7f853c312c1370..0874686228ef9b603d02a808f20b1d5abc42fd96 100644
--- a/snakemake/single_end.snakefile.smk
+++ b/snakemake/single_end.snakefile.smk
@@ -4,7 +4,9 @@ rule fastqc:
 	input:
 		reads = lambda wildcards: samples_table.loc[wildcards.sample, "fq1"],
 	output:
-		outdir = directory(os.path.join(config["output_dir"], "single_end", "{sample}", "fastqc"))
+		outdir = directory(os.path.join(config["output_dir"], "single_end", "{sample}", "mate1_fastqc"))
+	params:
+		seqmode= lambda wildcards: samples_table.loc[wildcards.sample, "seqmode"]
 	singularity:
 		"docker://zavolab/fastqc:0.11.8"
 	log:
@@ -21,7 +23,7 @@ rule remove_adapters_cutadapt:
 	input:
 		reads = lambda wildcards: samples_table.loc[wildcards.sample, "fq1"]
 	output:
-		reads = os.path.join(config["output_dir"], "single_end", "{sample}", "{sample}.remove_adapters.fastq.gz")
+		reads = os.path.join(config["output_dir"], "single_end", "{sample}", "{sample}.remove_adapters_mate1.fastq.gz")
 	params:
 		adapters_3 = lambda wildcards: 
 			samples_table.loc[wildcards.sample, 'fq1_3p'],
@@ -34,7 +36,7 @@ rule remove_adapters_cutadapt:
 	log:
 		os.path.join(config["local_log"], "single_end", "{sample}", "remove_adapters_cutadapt.log")
 	shell:
-		"cutadapt \
+		"(cutadapt \
 		-e 0.1 \
 		-O 1 \
 		-j {threads} \
@@ -49,9 +51,9 @@ rule remove_adapters_cutadapt:
 rule remove_polya_cutadapt:
 	''' Remove ployA  tails'''
 	input:
-		reads = lambda wildcards: samples_table[wildcards.sample, "fq1"]
+		reads = os.path.join(config["output_dir"], "single_end", "{sample}", "{sample}.remove_adapters_mate1.fastq.gz")
 	output:
-		reads = os.path.join(config["output_dir"], "single_end", "{sample}", "{sample}.remove_polya.fastq.gz")
+		reads = os.path.join(config["output_dir"], "single_end", "{sample}", "{sample}.remove_polya_mate1.fastq.gz")
 	params:
 		polya_3 = lambda wildcards: 
 			samples_table.loc[wildcards.sample, "fq1_polya"]
@@ -80,10 +82,10 @@ rule map_genome_star:
 		index = lambda wildcards:
 			os.path.join(
 				config["star_indexes"],
-				samples_table.loc[wildcards.sample, "organism"],
-				samples_table.loc[wildcards.sample, "index_size"], 
+				str(samples_table.loc[wildcards.sample, "organism"]),
+				str(samples_table.loc[wildcards.sample, "index_size"]), 
 				"STAR_index","chrNameLength.txt"),
-		reads = os.path.join(config["output_dir"], "single_end", "{sample}", "{sample}.remove_polya.fastq.gz")
+		reads = os.path.join(config["output_dir"], "single_end", "{sample}", "{sample}.remove_polya_mate1.fastq.gz")
 	output:
 		bam = os.path.join(config["output_dir"], "single_end", 
 			"{sample}", 
@@ -96,16 +98,15 @@ rule map_genome_star:
 	params:
 		sample_id = "{sample}",
 		index = lambda wildcards:
-				os.path.join(
-					config["star_indexes"],
-					samples_table.loc["{sample}", "organism"],
-					samples_table.loc[wildcards.sample, "index_size"], 
-					"STAR_index"),
-		outFileNamePrefix = lambda wildcards:
-				os.path.join(
-					config["output_dir"], 
-					"single_end", 
-					"{sample}", "map_genome", "{sample}_"),
+			os.path.join(
+				config["star_indexes"],
+				str(samples_table.loc[wildcards.sample, "organism"]),
+				str(samples_table.loc[wildcards.sample, "index_size"]), 
+				"STAR_index"),
+		outFileNamePrefix = os.path.join(
+				config["output_dir"], 
+				"single_end", 
+				"{sample}", "map_genome", "{sample}_"),
 		multimappers = lambda wildcards:
 				samples_table.loc[wildcards.sample, "multimappers"],
 		soft_clip = lambda wildcards:
@@ -138,7 +139,7 @@ rule map_genome_star:
 		--outFilterType BySJout \
 		--outReadsUnmapped None \
 		--outSAMattrRGline ID:rcrunch SM:{params.sample_id} \
-		--alignEndsType {params.soft_clip}} > {output.bam};) &> {log}"
+		--alignEndsType {params.soft_clip} > {output.bam};) &> {log}"
 
 
 rule index_genomic_alignment_samtools:
@@ -171,11 +172,12 @@ rule quantification_salmon:
 			config["output_dir"], 
 			"single_end", 
 			"{sample}", 
-			"{sample}.remove_polya.fastq.gz"),
+			"{sample}.remove_polya_mate1.fastq.gz"),
 		index = lambda wildcards:
 			os.path.join(
 				config["salmon_indexes"],
-				samples_table[wildcards.sample, 'organism'],
+				str(samples_table.loc[wildcards.sample, "organism"]),
+				str(samples_table.loc[wildcards.sample, "kmer"]),
 				"salmon.idx"),
 	   	gtf = lambda wildcards: samples_table.loc[wildcards.sample, "gtf_filtered"]
 	output:
@@ -202,8 +204,8 @@ rule quantification_salmon:
 	log:
 		os.path.join(config["local_log"], "single_end", "{sample}", "quantification_salmon.log")
 	threads:    12
-	conda:
-		"envs/salmon.yaml"
+	singularity:
+		"docker://zavolab/salmon:0.11.0"
 	shell:
 		"(salmon quant \
 		--libType {params.libType} \
@@ -224,7 +226,7 @@ rule genome_quantification_kallisto:
 			config["output_dir"], 
 			"single_end", 
 			"{sample}", 
-			"{sample}.remove_polya.fastq.gz"),
+			"{sample}.remove_polya_mate1.fastq.gz"),
 		index = lambda wildcards:
 			os.path.join(
 				config["kallisto_indexes"],
@@ -235,10 +237,10 @@ rule genome_quantification_kallisto:
 			config["output_dir"], 
 			"single_end", 
 			"{sample}", 
+			"quant_kallisto",
 			"{sample}.kallisto.pseudo.sam")
 	params:
-		output_dir = lambda wildcards:
-			os.path.join(
+		output_dir = os.path.join(
 				config["output_dir"], 
 				"single_end", 
 				"{sample}", 
@@ -250,7 +252,7 @@ rule genome_quantification_kallisto:
 	log:
 		os.path.join(config["local_log"],"kallisto_align_{sample}.log")
 	singularity:
-		"docker://zavolab/kallisto:0.9"
+		"docker://zavolab/kallisto:0.46.1"
 	shell:
 		"(kallisto quant \
 		-i {input.index} \
@@ -262,4 +264,4 @@ rule genome_quantification_kallisto:
 		{params.directionality} \
 		{input.reads} > {output.pseudoalignment}) &> {log}"
 
-		
\ No newline at end of file
+		
diff --git a/tests/test_create_dag_chart/samples.tsv b/tests/test_create_dag_chart/samples.tsv
index 3b68b12a51e433d2a44c6d100ccdcd7f84275347..f13c4d3b871d46e36bcb735c8950bd9871ba4909 100644
--- a/tests/test_create_dag_chart/samples.tsv
+++ b/tests/test_create_dag_chart/samples.tsv
@@ -1,3 +1,3 @@
 sample	fq1	fq2	fq1_3p	fq1_5p	fq2_3p	fq2_5p	fq1_polya	fq2_polya	organism	index_size	multimappers	soft_clip	pass_mode	gtf_filtered	libtype	kallisto_directionality	mean	sd	genome	gtf	tr_fasta_filtered	kmer	seqmode
-HNRNPC_control_rep1	input_files/GSM1502498_1.fastq.gz	input_files/GSM1502498_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	100	10	Local	Basic	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	A	kallisto_directionality	250	100	input_files/Homo_sapiens.GRCh38.dna_sm.primary_assembly.chrom_22.fa	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	input_files/transcripts_chrom_22.fa	31	fr
-HNRNPC_KD_rep1	input_files/GSM1502500_1.fastq.gz	input_files/GSM1502500_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	100	10	Local	Basic	input_files/Homo_sapiens.GRCh38.99.chr.filterd.chrom_22.gtf	A	kallisto_directionality	250	100	input_files/Homo_sapiens.GRCh38.dna_sm.primary_assembly.chrom_22.fa	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	input_files/transcripts_chrom_22.fa	31	fr
+HNRNPC_control_rep1	input_files/GSM1502498_1.fastq.gz	input_files/GSM1502498_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	100	10	Local	Basic	../test_integration_workflow/input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	A	kallisto_directionality	250	100	../test_integration_workflow/input_files/Homo_sapiens.GRCh38.dna_sm.primary_assembly.chrom_22.fa	../test_integration_workflow/input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	../test_integration_workflow/input_files/transcripts_chrom_22.fa	31	single_end
+HNRNPC_KD_rep1	input_files/GSM1502500_1.fastq.gz	input_files/GSM1502500_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	100	10	Local	Basic	../test_integration_workflow/input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	A	kallisto_directionality	250	100	../test_integration_workflow/input_files/Homo_sapiens.GRCh38.dna_sm.primary_assembly.chrom_22.fa	../test_integration_workflow/input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	../test_integration_workflow/input_files/transcripts_chrom_22.fa	31	paired_end
\ No newline at end of file
diff --git a/tests/test_integration_workflow/expected_output.md5 b/tests/test_integration_workflow/expected_output.md5
index 38685979fa0542751d405e53044f81ee364633d8..d2c756207d287bd587cccfcec09f7364fca612d4 100644
--- a/tests/test_integration_workflow/expected_output.md5
+++ b/tests/test_integration_workflow/expected_output.md5
@@ -1,8 +1,12 @@
-c45be0333e4d84285d530855342763e0  results/paired_end/HNRNPC_control_rep1/HNRNPC_control_rep1.remove_adapters_mate1.fastq
-e1e0d16add8db1a314c780d497e863c9  results/paired_end/HNRNPC_control_rep1/HNRNPC_control_rep1.remove_polya_mate2.fastq
-a46359f784d3eca4268c788a74789bf2  results/paired_end/HNRNPC_control_rep1/HNRNPC_control_rep1.remove_polya_mate1.fastq
-58ef63f61c82e050f05b871eea8d4b25  results/paired_end/HNRNPC_control_rep1/HNRNPC_control_rep1.remove_adapters_mate2.fastq
+7be61b24952edd765a151a82fa8ad8bb  results/single_end/HNRNPC_control_rep1/HNRNPC_control_rep1.remove_adapters_mate1.fastq
+d41d8cd98f00b204e9800998ecf8427e  results/single_end/HNRNPC_control_rep1/quant_kallisto/HNRNPC_control_rep1.kallisto.pseudo.sam
+efec14c44f708c23a99c5653fc020966  results/single_end/HNRNPC_control_rep1/quant_kallisto/pseudoalignments.bam
+adf0922672c7088138f564d418e2c055  results/single_end/HNRNPC_control_rep1/HNRNPC_control_rep1.remove_polya_mate1.fastq
+6a62e57dc1765f8881bd114a64c69563  results/single_end/HNRNPC_control_rep1/map_genome/HNRNPC_control_rep1_Aligned.sortedByCoord.out.bam
 d3898e6e03d98db65b61172f8275f319  results/paired_end/HNRNPC_KD_rep1/HNRNPC_KD_rep1.remove_adapters_mate2.fastq
+d41d8cd98f00b204e9800998ecf8427e  results/paired_end/HNRNPC_KD_rep1/quant_kallisto/HNRNPC_KD_rep1.kallisto.pseudo.sam
+67fd10e98d6b1b9041c0171b1cea4eb0  results/paired_end/HNRNPC_KD_rep1/quant_kallisto/pseudoalignments.bam
 489e5a5bd92fafe9a79e164fb334e036  results/paired_end/HNRNPC_KD_rep1/HNRNPC_KD_rep1.remove_polya_mate2.fastq
 8a01f7aa476992c2bc32d3457f703865  results/paired_end/HNRNPC_KD_rep1/HNRNPC_KD_rep1.remove_adapters_mate1.fastq
+5c415fd62934c389dfd76abb7e9875c2  results/paired_end/HNRNPC_KD_rep1/map_genome/HNRNPC_KD_rep1_Aligned.sortedByCoord.out.bam
 f048f50b6695c80e2c9d4ecf10c0d0a9  results/paired_end/HNRNPC_KD_rep1/HNRNPC_KD_rep1.remove_polya_mate1.fastq
diff --git a/tests/test_integration_workflow/samples.tsv b/tests/test_integration_workflow/samples.tsv
index 3b68b12a51e433d2a44c6d100ccdcd7f84275347..8c4fc8517c229c8523798f19beb16a902f9330c6 100644
--- a/tests/test_integration_workflow/samples.tsv
+++ b/tests/test_integration_workflow/samples.tsv
@@ -1,3 +1,3 @@
 sample	fq1	fq2	fq1_3p	fq1_5p	fq2_3p	fq2_5p	fq1_polya	fq2_polya	organism	index_size	multimappers	soft_clip	pass_mode	gtf_filtered	libtype	kallisto_directionality	mean	sd	genome	gtf	tr_fasta_filtered	kmer	seqmode
-HNRNPC_control_rep1	input_files/GSM1502498_1.fastq.gz	input_files/GSM1502498_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	100	10	Local	Basic	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	A	kallisto_directionality	250	100	input_files/Homo_sapiens.GRCh38.dna_sm.primary_assembly.chrom_22.fa	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	input_files/transcripts_chrom_22.fa	31	fr
-HNRNPC_KD_rep1	input_files/GSM1502500_1.fastq.gz	input_files/GSM1502500_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	100	10	Local	Basic	input_files/Homo_sapiens.GRCh38.99.chr.filterd.chrom_22.gtf	A	kallisto_directionality	250	100	input_files/Homo_sapiens.GRCh38.dna_sm.primary_assembly.chrom_22.fa	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	input_files/transcripts_chrom_22.fa	31	fr
+HNRNPC_control_rep1	input_files/GSM1502498_1.fastq.gz	input_files/GSM1502498_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	100	10	Local	Basic	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	A	--fr	250	100	input_files/Homo_sapiens.GRCh38.dna_sm.primary_assembly.chrom_22.fa	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	input_files/transcripts_chrom_22.fa	31	single_end
+HNRNPC_KD_rep1	input_files/GSM1502500_1.fastq.gz	input_files/GSM1502500_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	100	10	Local	Basic	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	A	--fr	250	100	input_files/Homo_sapiens.GRCh38.dna_sm.primary_assembly.chrom_22.fa	input_files/Homo_sapiens.GRCh38.99.chr.chrom_22.gtf	input_files/transcripts_chrom_22.fa	31	paired_end