diff --git a/runs/kallisto/workflow.yml b/runs/kallisto/workflow.yml
index 65f21a57473e05ee98bc6d475a07851b0fad7e38..21d672d49800e00ca07b94c78ef824c7531dcf68 100644
--- a/runs/kallisto/workflow.yml
+++ b/runs/kallisto/workflow.yml
@@ -34,6 +34,8 @@ InputReadsMultipleSamples:
       path: ../../assays/Talinum_RNASeq_minimal/dataset/DB_165_re-C3MD_GTGAAA_L002_R1_001.fastq.gz
       format: edam:format_1930 # FASTQ
 
+numUnderscoresFileName: 1
+
 ### Kallisto quant Parameters
 isSingle: true
 FragmentLength: 200
diff --git a/workflows/kallisto/kallisto-workflow.cwl b/workflows/kallisto/kallisto-workflow.cwl
index 8a94523cfb5da9490b8862d142be75572740f612..e7f0350801fb853d1dc23a029c2d2f161e00b1c1 100644
--- a/workflows/kallisto/kallisto-workflow.cwl
+++ b/workflows/kallisto/kallisto-workflow.cwl
@@ -14,6 +14,12 @@ inputs:
       items: 
         type: array
         items: File
+  # numCharsFileName:
+  #   type: int
+  #   default: 6
+  numUnderscoresFileName:
+    type: int
+    default: 2
   isSingle: boolean
   FragmentLength: double?  
   StandardDeviation: double?
@@ -37,9 +43,13 @@ steps:
     scatterMethod: dotproduct
     in:
       InputReads: InputReadsMultipleSamples
+      # numChars:
+      #   source: numCharsFileName
+      numUnderscores: numUnderscoresFileName
       QuantOutfolder:
         source: InputReadsMultipleSamples
-        valueFrom: $(self[0].nameroot.substring(0,6))
+        # valueFrom: $(self[0].nameroot.substring(0, inputs.numChars))
+        valueFrom: $(self[0].nameroot.split('_').slice(0, inputs.numUnderscores).join('_'))
       Index: index/index
       isSingle: isSingle
       FragmentLength: FragmentLength