diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetQScript.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetQScript.scala
index 8bcb354588c52400cc2c6677839e5970149be191..8961f255077821e523d0273ccf08abe3b039812b 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetQScript.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/core/BiopetQScript.scala
@@ -47,6 +47,10 @@ trait BiopetQScript extends Configurable with GatkLogging {
 
   var outputFiles: Map[String, File] = Map()
 
+  protected case class InputFile(file: File, md5: Option[String] = None)
+
+  var inputFiles: List[InputFile] = Nil
+
   /** Get implemented from org.broadinstitute.gatk.queue.QScript */
   var qSettings: QSettings
 
@@ -85,6 +89,11 @@ trait BiopetQScript extends Configurable with GatkLogging {
       globalConfig.writeReport(qSettings.runName, new File(outputDir, ".log/" + qSettings.runName))
     else BiopetQScript.addError("Parent of output dir: '" + outputDir.getParent + "' is not writeable, outputdir can not be created")
 
+    inputFiles.foreach{ i =>
+      if (!i.file.exists()) BiopetQScript.addError(s"Input file does not exist: ${i.file}")
+      if (!i.file.canRead()) BiopetQScript.addError(s"Input file can not be read: ${i.file}")
+    }
+
     reportClass.foreach(add(_))
 
     BiopetQScript.checkErrors()