diff --git a/_modules/IData_handling.py b/_modules/IData_handling.py
index 4f63c64e51ebd15e9e94af62c0c564ad7df2c83f..5714031cab4fc1ab4404320ed925b65664a66c28 100755
--- a/_modules/IData_handling.py
+++ b/_modules/IData_handling.py
@@ -304,7 +304,8 @@ def genomeFastaRecovery(filin, limit_reference, edge, host_test = 0):
     if filin == "":
         return "", "", ""
 
-    infile = open(filin, 'r')
+    #infile = open(filin, 'r')
+    infile = gzip.open(filin, "rt") if filin.endswith(".gz") else open(filin, 'r')
     name = []
     genome = []
     genome_line = ""
diff --git a/_modules/main_utils.py b/_modules/main_utils.py
index 2a88196459fef2c6cc2709c4cdd6a2d228c99ccf..f6c35d09301018c5a4b57323bd9ad030554649b2 100755
--- a/_modules/main_utils.py
+++ b/_modules/main_utils.py
@@ -11,6 +11,7 @@ from __future__ import print_function
 
 from time import gmtime, strftime
 import sys
+import gzip
 from optparse import OptionParser, OptionGroup
 from _modules.utilities import checkReportTitle,changeCase
 from _modules.IData_handling import totReads,genomeFastaRecovery
@@ -47,7 +48,7 @@ usage = """\n\nUsage: %prog -f reads.fastq -r phage_sequence.fasta [--report_tit
 def checkFastaFile(filin):
     """Check sequence Fasta file given by user"""
     first_line = 1
-    infil = open(filin, 'r')
+    infil = gzip.open(filin, "rt") if filin.endswith(".gz") else open(filin, 'r')
     try:
         for line in infil:
             # Test '>'