diff --git a/src/chipster.nf b/src/chipster.nf
index 2546e99a7e0577b779191f12115ab78f3e684013..5855b0a585979d7e7ef45a9fa3d2e2ecdc3d28ea 100644
--- a/src/chipster.nf
+++ b/src/chipster.nf
@@ -32,9 +32,8 @@ params.genome = "data/tinyTestDataset/*.fasta"
 @type: File
 */
 
-/*
-params.folder = "project"
-/* project output folder 
+params.idxgenome = ""
+/* already indexed reference genome 
 
 @Type: String
 */
@@ -46,7 +45,8 @@ params.folder = "project"
 */
 
 log.info "fastq files : ${params.fastq}"
-log.info "genome files : ${params.genome}"
+log.info "genome file : ${params.genome}"
+log.info "indexed genome file : ${params.idxgenome}"
 
 /*
 log.info "paired-end data: ${params.paired_end}"
@@ -74,6 +74,10 @@ Channel
   .fromFilePairs( params.genome, size: -1 )
   .set { genome_file } 
 
+Channel
+  .fromPath( params.idxgenome )
+  .set { genome_idx }
+
 /*
  ****************************************************************
                           Imports
@@ -113,11 +117,13 @@ workflow {
       fastqc_preprocessed.out.report
       ).collect()
   )
-  // index reference genome
-  index_fasta(genome_file)
-
-  // mapping preprocessed reads
-  mapping_fastq(index_fasta.out.index.collect(), fastp_default.out.fastq)
+  // index reference genome & mapping preprocessed reads
+  if (!params.idxgenome) {
+    index_fasta(genome_file)
+    mapping_fastq(index_fasta.out.index.collect(), fastp_default.out.fastq)
+  } else {
+    mapping_fastq(genome_idx.collect(), fastp_default.out.fastq)
+  }
 
   // filter bam - remove reads with quality <30
   filter_bam_quality(mapping_fastq.out.bam)