diff --git a/debian/changelog b/debian/changelog
index 43f7064..19458c2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+kraken (1.1.1+git20210927.1.e75654f-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Tue, 15 Mar 2022 17:17:54 -0000
+
 kraken (1.1.1-3) unstable; urgency=medium
 
   * Fix watchfile to detect new versions on github
diff --git a/debian/patches/fix_reading_fasta.patch b/debian/patches/fix_reading_fasta.patch
index ce89c3b..19e68ca 100644
--- a/debian/patches/fix_reading_fasta.patch
+++ b/debian/patches/fix_reading_fasta.patch
@@ -5,8 +5,10 @@ Forwarded: https://github.com/DerrickWood/kraken/issues/111
 Author: Andreas Tille <tille@debian.org>
 Last-Update: Wed, 07 Feb 2018 13:41:39 +0100
 
---- a/scripts/scan_fasta_file.pl
-+++ b/scripts/scan_fasta_file.pl
+Index: kraken/scripts/scan_fasta_file.pl
+===================================================================
+--- kraken.orig/scripts/scan_fasta_file.pl
++++ kraken/scripts/scan_fasta_file.pl
 @@ -32,6 +32,8 @@ while (<>) {
    # while (/.../g) needed because non-redundant DBs sometimes have multiple
    #   sequence IDs in the header; extra sequence IDs are prefixed by
diff --git a/debian/patches/hardening.patch b/debian/patches/hardening.patch
index 418d58c..da69e8d 100644
--- a/debian/patches/hardening.patch
+++ b/debian/patches/hardening.patch
@@ -2,8 +2,10 @@ Author: Andreas Tille <tille@debian.org>
 Last-Update: Mon, 07 Jan 2019 13:14:41 +0100
 Description: propagate build options
 
---- a/src/Makefile
-+++ b/src/Makefile
+Index: kraken/src/Makefile
+===================================================================
+--- kraken.orig/src/Makefile
++++ kraken/src/Makefile
 @@ -1,5 +1,5 @@
  CXX = g++
 -CXXFLAGS = -Wall -fopenmp -O3
diff --git a/debian/patches/kraken_tmp_dir.patch b/debian/patches/kraken_tmp_dir.patch
index bf6f53a..181246e 100644
--- a/debian/patches/kraken_tmp_dir.patch
+++ b/debian/patches/kraken_tmp_dir.patch
@@ -3,8 +3,10 @@ Last-Update: Wed, 09 Sep 2015 11:14:16 +0200
 Description: Some changes needed to differentiate packaging target dir and
  install dir
 
---- a/install_kraken.sh
-+++ b/install_kraken.sh
+Index: kraken/install_kraken.sh
+===================================================================
+--- kraken.orig/install_kraken.sh
++++ kraken/install_kraken.sh
 @@ -21,7 +21,7 @@ set -e
  
  VERSION="1.1.1"
diff --git a/debian/patches/use_jellyfish1.patch b/debian/patches/use_jellyfish1.patch
index 2a20689..9db9b48 100644
--- a/debian/patches/use_jellyfish1.patch
+++ b/debian/patches/use_jellyfish1.patch
@@ -3,8 +3,10 @@ Description: change call of jellyfish to call of jellyfish1
 Last-Update: 2017-08-10
 
 ===========================================================
---- a/scripts/build_kraken_db.sh
-+++ b/scripts/build_kraken_db.sh
+Index: kraken/scripts/build_kraken_db.sh
+===================================================================
+--- kraken.orig/scripts/build_kraken_db.sh
++++ kraken/scripts/build_kraken_db.sh
 @@ -78,13 +78,13 @@ else
  
    find library/ -name '*.fna' -print0 | \
@@ -21,8 +23,10 @@ Last-Update: 2017-08-10
    else
      mv database_0 database.jdb.tmp
    fi
---- a/scripts/check_for_jellyfish.sh
-+++ b/scripts/check_for_jellyfish.sh
+Index: kraken/scripts/check_for_jellyfish.sh
+===================================================================
+--- kraken.orig/scripts/check_for_jellyfish.sh
++++ kraken/scripts/check_for_jellyfish.sh
 @@ -24,7 +24,7 @@ set -u  # Protect against uninitialized
  set -e  # Stop on error
  set -o pipefail  # Stop on failures in non-final pipeline commands
diff --git a/scripts/standard_installation.sh b/scripts/standard_installation.sh
index 4733a8f..41dfcf7 100755
--- a/scripts/standard_installation.sh
+++ b/scripts/standard_installation.sh
@@ -30,11 +30,17 @@ then
   WOD_FLAG="--work-on-disk"
 fi
 
+WGET_FLAG=""
+if [ -n "$KRAKEN_USE_WGET" ]
+then
+  WGET_FLAG="--use-wget"
+fi
+
 check_for_jellyfish.sh
 kraken-build --db $KRAKEN_DB_NAME --download-taxonomy
-kraken-build --db $KRAKEN_DB_NAME --download-library archaea
-kraken-build --db $KRAKEN_DB_NAME --download-library bacteria
-kraken-build --db $KRAKEN_DB_NAME --download-library viral
+kraken-build --db $KRAKEN_DB_NAME --download-library archaea $WGET_FLAG
+kraken-build --db $KRAKEN_DB_NAME --download-library bacteria $WGET_FLAG
+kraken-build --db $KRAKEN_DB_NAME --download-library viral $WGET_FLAG
 kraken-build --db $KRAKEN_DB_NAME --build --threads $KRAKEN_THREAD_CT \
                --jellyfish-hash-size "$KRAKEN_HASH_SIZE" \
                --max-db-size "$KRAKEN_MAX_DB_SIZE" \
diff --git a/src/quickfile.cpp b/src/quickfile.cpp
index 4b3e9d7..a2b34de 100644
--- a/src/quickfile.cpp
+++ b/src/quickfile.cpp
@@ -1,5 +1,6 @@
 /*
- * Copyright 2013-2019, Derrick Wood, Jennifer Lu <jlu26@jhmi.edu>
+ * Original file Copyright 2013-2015, Derrick Wood <dwood@cs.jhu.edu>
+ * Portions (c) 2017-2018, Florian Breitwieser <fbreitwieser@jhu.edu> as part of KrakenUniq
  *
  * This file is part of the Kraken taxonomic sequence classification system.
  *
@@ -66,12 +67,14 @@ void QuickFile::open_file(string filename_str, string mode, size_t size) {
   }
 
   fptr = (char *)mmap(0, filesize, PROT_READ | PROT_WRITE, m_flags, fd, 0);
+  madvise(fptr,filesize,MADV_WILLNEED);
   if (fptr == MAP_FAILED)
     err(EX_OSERR, "unable to mmap %s", filename);
   valid = true;
 }
 
 void QuickFile::load_file() {
+  if(mlock(fptr,filesize)!=0){
   int thread_ct = 1;
   int thread = 0;
   #ifdef _OPENMP
@@ -84,13 +87,17 @@ void QuickFile::load_file() {
   size_t page_size = getpagesize();
   char buf[thread_ct][page_size];
 
+#ifdef _OPENMP
   #pragma omp parallel
+#endif
   {
     #ifdef _OPENMP
     thread = omp_get_thread_num();
     #endif
 
+#ifdef _OPENMP
     #pragma omp for schedule(dynamic)
+#endif
     for (size_t pos = 0; pos < filesize; pos += page_size) {
       size_t this_page_size = filesize - pos;
       if (this_page_size > page_size)
@@ -102,6 +109,7 @@ void QuickFile::load_file() {
   #ifdef _OPENMP
   omp_set_num_threads(old_thread_ct);
   #endif
+  }
 }
 
 char * QuickFile::ptr() {
@@ -129,4 +137,48 @@ void QuickFile::close_file() {
   valid = false;
 }
 
+// from http://programanddesign.com/cpp/human-readable-file-size-in-c/
+char* readable_fs(double size/*in bytes*/, char *buf) {
+    int i = 0;
+    const char* units[] = {"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"};
+    while (size > 1024) {
+        size /= 1024;
+        i++;
+    }
+    sprintf(buf, "%.*f %s", i, size, units[i]);
+    return buf;
+}
+
+
+
+std::vector<char> slurp_file(std::string filename, size_t lSize) {
+  FILE * pFile;
+  size_t result;
+
+  pFile = fopen ( filename.c_str() , "rb" );
+  if (pFile==NULL) {fputs ("File error",stderr); exit (1);}
+
+  if (lSize > 0) {
+    // obtain file size:
+    fseek (pFile , 0 , SEEK_END);
+    lSize = ftell (pFile);
+    rewind (pFile);
+  }
+  
+  char buf[50];
+  readable_fs(lSize, buf);
+  std::cerr << "Getting " << filename << " into memory (" << buf << ") ..."; 
+
+  // copy the file into the vector:
+  std::vector<char> buffer(lSize);
+  result = fread (buffer.data(),1,lSize,pFile);
+  if (result != lSize) {fputs ("Reading error",stderr); exit (3);}
+  fclose (pFile);
+
+  std::cerr << " Done" << std::endl;
+  return(buffer);
+}
+
+
+
 } // namespace