Chapter 3 Working with Sequences: Raw Data & Quality Control

last updated: 2023-10-27

Package Install

As usual, make sure we have the right packages for this exercise

if (!require("pacman")) install.packages("pacman"); library(pacman)

# let's load all of the files we were using and want to have again today
p_load("tidyverse", "knitr", "readr",
       "pander", "BiocManager", 
       "dplyr", "stringr")

# We also need the bioconductor packages "ShortRead" and "rfastp" for today's activity.
p_load("Rfastp", "ShortRead")

3.1 Description

This activity is intended to familiarize you with raw bioinformatic sequence files. Specifically, we’ll be working with short read sequencing data generated from an Illumina platform.

3.2 Learning outcomes

At the end of this exercise, you should be able to:

  • Load and read into R a raw gzipped fastq file.
  • Inspect sequence quality and evaluate results.
  • Perform quality control on raw data and save the processed output.

Note that instead of {r}, the below chunk uses {bash}, meaning this isn’t r code but bash code (the language used in the terminal). The -nc flag ensures the files are only downloaded if they don’t already exist where you are downloading them.

This may take awhile the first time you run it. The below script is a bash command that downloads these files to your computer

3.3 Download fastq

# Be sure to change this file path to the path you want your data to go
RAW_DATA_DIR="/Users/$USER/Desktop/Genomic_Data_Analysis/Data/Raw"

#if you're using Windows 10,
# in RStudio, go to Tools>Global Options... > Terminal > New Terminals open with...
# and choose WSL bash or git bash
# next, use: (be sure to put in the correct username)
#RAW_DATA_DIR="/mnt/c/Users/$USER/Desktop/Genomic_Data_Analysis/Data/Raw"

# create the destination directory if it doesn't already exist
mkdir -p $RAW_DATA_DIR

echo $RAW_DATA_DIR

# change to that directory (for this code chunk only)
cd $RAW_DATA_DIR
pwd
# Download the files.
# WARNING: curl doesn't work with relative paths
# WT unstressed (mock)
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_WT_MOCK_REP1.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_WT_MOCK_REP2.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_WT_MOCK_REP3.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_WT_MOCK_REP4.fastq.gz?raw=TRUE
# WT EtOH
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_WT_ETOH_REP1.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_WT_ETOH_REP2.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_WT_ETOH_REP3.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_WT_ETOH_REP4.fastq.gz?raw=TRUE
# msn2/4dd unstressed (mock)
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_MSN24_MOCK_REP1.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_MSN24_MOCK_REP2.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_MSN24_MOCK_REP3.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_MSN24_MOCK_REP4.fastq.gz?raw=TRUE
# msn2/4dd EtOH
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_MSN24_ETOH_REP1.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_MSN24_ETOH_REP2.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_MSN24_ETOH_REP3.fastq.gz?raw=TRUE
curl -L -C - -O https://github.com/clstacy/GenomicDataAnalysis_Fa23/raw/main/data/ethanol_stress/fastq/YPS606_MSN24_ETOH_REP4.fastq.gz?raw=TRUE

# These are subsamples of raw fastq files from a current project in our lab.

# Make sure names are as desired
cd $RAW_DATA_DIR

# This loops through and removes the suffix file for any OS that doesn't auto do so.
for file in *; do
    newname=$(echo "$file" | sed 's/\?raw=TRUE//')
    mv "$file" "$newname"
done

# Let's see what one of these files contains:
# if you're on windows or linux, delete the g from gzcat below
gzcat $RAW_DATA_DIR/YPS606_WT_MOCK_REP1.fastq.gz | head -n8
## /Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw
## /Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
100 7257k  100 7257k    0     0  7961k      0 --:--:-- --:--:-- --:--:-- 7961k
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
100 6113k  100 6113k    0     0  8316k      0 --:--:-- --:--:-- --:--:-- 8316k
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 7352k  100 7352k    0     0  6882k      0  0:00:01  0:00:01 --:--:-- 12.9M
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
100 6746k  100 6746k    0     0  9030k      0 --:--:-- --:--:-- --:--:-- 9030k
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
  0 5774k    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 5774k  100 5774k    0     0  7207k      0 --:--:-- --:--:-- --:--:-- 19.7M
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
  0 6438k    0 31831    0     0  45709      0  0:02:24 --:--:--  0:02:24 45709
 56 6438k   56 3609k    0     0  2184k      0  0:00:02  0:00:01  0:00:01 3742k
100 6438k  100 6438k    0     0  3502k      0  0:00:01  0:00:01 --:--:-- 5615k
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 6908k  100 6908k    0     0  4237k      0  0:00:01  0:00:01 --:--:-- 8582k
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
100 6020k  100 6020k    0     0  8446k      0 --:--:-- --:--:-- --:--:-- 8446k
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
100 5429k  100 5429k    0     0  6232k      0 --:--:-- --:--:-- --:--:-- 6232k
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 5525k  100 5525k    0     0  7484k      0 --:--:-- --:--:-- --:--:-- 13.9M
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
  7 6866k    7  494k    0     0   873k      0  0:00:07 --:--:--  0:00:07  873k
100 6866k  100 6866k    0     0  8877k      0 --:--:-- --:--:-- --:--:-- 30.0M
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
 60 6797k   60 4081k    0     0  5477k      0  0:00:01 --:--:--  0:00:01 5477k
100 6797k  100 6797k    0     0  7781k      0 --:--:-- --:--:-- --:--:-- 20.7M
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
 66 7521k   66 4996k    0     0  6212k      0  0:00:01 --:--:--  0:00:01 6212k
100 7521k  100 7521k    0     0  8430k      0 --:--:-- --:--:-- --:--:-- 28.3M
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
100 6936k  100 6936k    0     0  8400k      0 --:--:-- --:--:-- --:--:-- 8400k
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
100 6426k  100 6426k    0     0  8192k      0 --:--:-- --:--:-- --:--:-- 8192k
##   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
##                                  Dload  Upload   Total   Spent    Left  Speed
## 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
## 
100 6601k  100 6601k    0     0  8491k      0 --:--:-- --:--:-- --:--:-- 8491k
## @K00242:669:HFYYJBBXY:2:1209:22455:7908 1:N:0:GTCCGCAC
## GCAATGGTTTACACCCCACCGTGAGATTAGTATGCAATTTAGATCCATTA
## +
## AAFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
## @K00242:669:HFYYJBBXY:2:1219:16254:46926 1:N:0:GTCCGCAC
## GTCTGATTTGTCTAGATTCTTCGCAAATTTCCAGCCTTCAGAGGCTTCGC
## +
## AAFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ

We have the data downloaded onto our system now, so let’s first take a look at some of these files ourselves

The R package ShortRead allows us to look at and process raw fastq files. It has many more features than we will use today.

3.4 Examining fastq

Let’s take a look at a fastq file

# If you're using windows, put your username below and uncomment this code before continuing
if(.Platform$OS.type == "windows") {
  Sys.setenv(R_USER = "C:/Users/$USERNAME")
}

# change this directory here to where you have the file saved
path_fastq_WT_MOCK_REP1 <- path.expand("~/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_WT_MOCK_REP1.fastq.gz")



fastq_WT_MOCK_REP1 <- readFastq(path_fastq_WT_MOCK_REP1)

# file too big? swap readFastq() for:
subsampled_fastq_WT_MOCK_REP1 <- yield(FastqSampler(path_fastq_WT_MOCK_REP1, n=10000)) # where n is the number of reads you want to sample
# the fastq files we downloaded are smaller than a normal fastq file, 
# because they have been subsampled down from their full size for demonstration.

A few quick ways to examine the fastq data object

# Typing the name of the object gives us a simple summary
fastq_WT_MOCK_REP1
## class: ShortReadQ
## length: 223565 reads; width: 50 cycles
# the length() function gives us the total number of reads
length(fastq_WT_MOCK_REP1)
## [1] 223565
# We can use the width() function to find the size of each read/sequence in fastq
width(fastq_WT_MOCK_REP1) |> head() # add head() pipe to only print first 10
## [1] 50 50 50 50 50 50
#sread() - Retrieve sequence of reads.
sread(fastq_WT_MOCK_REP1)
## DNAStringSet object of length 223565:
##          width seq
##      [1]    50 GCAATGGTTTACACCCCACCGTGAGATTAGTATGCAATTTAGATCCATTA
##      [2]    50 GTCTGATTTGTCTAGATTCTTCGCAAATTTCCAGCCTTCAGAGGCTTCGC
##      [3]    50 CTTGAAGTAAGCTTCATCAGCTTCCAACATACCATCGAACCATGGCAACA
##      [4]    50 GCACCGGCAATCTTGTTACCCATAGCATCGAATTTATCTTCTTCGTCTTC
##      [5]    50 CTGTTACCAACTTGTTGTGACATCTTTCTAGTATAATTTTTAAAGTTCTA
##      ...   ... ...
## [223561]    50 GGTGATCAACTGGATTCATGGCAACACCACGGGTCTTTGGCCAAGAGTTT
## [223562]    50 CTTCCAAGTCGATGTATCTCTTGTGGATTCTCATTTCGTAGGTTTCCCAA
## [223563]    50 CGTTAGCATCAACTTCGAAGATAGCTTCCAAGACTGGTTCACCAGCTGGC
## [223564]    50 GCTTCTTTTCTTGGACCTTTTTCAATCTATAAAATTCTTCTCTGTCCAAC
## [223565]    50 ACCGAATGGAAGATTGGTCACCCTCGGAACCCATGATATCTTCGAATGGG
#quality() - Retrieve quality of reads as ASCII scores.
quality(fastq_WT_MOCK_REP1)
## class: FastqQuality
## quality:
## BStringSet object of length 223565:
##          width seq
##      [1]    50 AAFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
##      [2]    50 AAFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
##      [3]    50 AAFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
##      [4]    50 AAFFFJJJJJJJJJJJJJJFJJFJJJJFJJJJJJJJJJJFJFJJJJJJJJ
##      [5]    50 AAFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJFJJJJ
##      ...   ... ...
## [223561]    50 AAFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJFJJ
## [223562]    50 AAFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
## [223563]    50 AAFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
## [223564]    50 A<FFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
## [223565]    50 AAFFFJJJJJJJJJJJJJJJJJJJJ-7FJJJJJJJJJJJJJJJJJJJJJJ
#id() - Retrieve IDs of reads
id(fastq_WT_MOCK_REP1)
## BStringSet object of length 223565:
##          width seq
##      [1]    53 K00242:669:HFYYJBBXY:2:1209:22455:7908 1:N:0:GTCCGCAC
##      [2]    54 K00242:669:HFYYJBBXY:2:1219:16254:46926 1:N:0:GTCCGCAC
##      [3]    53 K00242:669:HFYYJBBXY:2:2223:29985:7029 1:N:0:GTCCGCAC
##      [4]    52 K00242:669:HFYYJBBXY:2:2213:7770:7750 1:N:0:GTCCGCAC
##      [5]    54 K00242:669:HFYYJBBXY:2:1223:27813:29606 1:N:0:GTCCGCAC
##      ...   ... ...
## [223561]    54 K00242:669:HFYYJBBXY:2:1120:22820:46205 1:N:0:GTCCGCAC
## [223562]    54 K00242:669:HFYYJBBXY:2:2209:17239:49054 1:N:0:GTCCGCAC
## [223563]    53 K00242:669:HFYYJBBXY:2:2206:3244:20656 1:N:0:GTCCGCAC
## [223564]    54 K00242:669:HFYYJBBXY:2:2102:28229:16506 1:N:0:GTCCGCAC
## [223565]    53 K00242:669:HFYYJBBXY:2:2204:17381:6712 1:N:0:GTCCGCAC

The output of sread() is a DNAStringSet object, so we can use all of the commands from the Biostrings library on the output object.

# first, let's save the output of sread as an object
sequence_of_reads <- sread(fastq_WT_MOCK_REP1)

# Now, let's use the biostrings function alphabetFrequency to see
# the occurrence of nucleotide bases in reads.
alph_freq <- alphabetFrequency(sequence_of_reads)

# subset just the first two reads
alph_freq[1:2,]
##       A  C  G  T M R W S Y K V H D B N - + .
## [1,] 15 11  9 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [2,]  9 13 10 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0

We see most of the nucleotides are assigned to A, C, G, or T, with one base in each read an N.

A fundamental difference between fasta and fastq files is the Quality scores containined in fastQ.

Quality scores are stored as ASCII characters representing -log10 probability of base being wrong (Larger scores would be associated to more confident base calls).

A comprehensive description of phred quality can be found on the wiki page for FastQ.

To see the fastq encodings, we can run:

encoding(quality(fastq_WT_MOCK_REP1))
##  !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  : 
##  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 
##  ;  <  =  >  ?  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T 
## 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 
##  U  V  W  X  Y  Z  [ \\  ]  ^  _  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n 
## 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 
##  o  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~ 
## 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

The ShortRead package has many functions available to allow us to collect useful metrics from our ShortRead object.

One very useful function is the alphabetByCycle() function which provides a quick method to summarise base occurrence of cycles.

Here we apply alphabetByCycle() function to the sequence information and show the occurrence of main 4 bases over first 15 cycles.

alph_by_cycle <- alphabetByCycle(sequence_of_reads)
alph_by_cycle[1:4,1:15]
##         cycle
## alphabet  [,1]  [,2]  [,3]  [,4]  [,5]  [,6]   [,7]  [,8]  [,9] [,10] [,11]
##        A 21976 31733 40716 54511 67035 76250  52744 50858 52179 82996 65197
##        C 80979 59940 67520 56801 42469 38578  34934 49605 44865 33367 47832
##        G 91512 46565 44726 59238 53934 41211  34113 40354 43781 41308 50801
##        T 28656 85309 70603 52948 60117 67525 101774 82748 82740 65894 59735
##         cycle
## alphabet [,12] [,13] [,14] [,15]
##        A 56240 62322 63066 62605
##        C 50963 43951 43562 46231
##        G 45250 44735 43818 43027
##        T 71112 72557 73119 71702

We can use the table function to identify the number of times a sequence appears in our FastQ file’s sequence reads.

readOccurence <- table(sequence_of_reads)

# see the top 3 sequences that appear the highest number of times
sort(readOccurence,decreasing = TRUE)[1:3]
## sequence_of_reads
## CTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 
##                                                600 
## CCCCCCCCCTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 
##                                                496 
## CCCCCCCCTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 
##                                                392

We can identify duplicated reads (potentially arising from PCR over amplification) by using the srduplicated() function and the ShortReadQ object.

This returns a logical vector identifying which reads’ sequences are duplicates (occur more than once in file). Note that the first time a sequence appears in file is not a duplicate but the second, third, fourth times etc are.

duplicates <- srduplicated(fastq_WT_MOCK_REP1)
duplicates[1:3]
## [1] FALSE FALSE FALSE
# we can use table() to get a quick summary of the seq duplication rate
table(duplicates)
## duplicates
##  FALSE   TRUE 
## 140931  82634

The ShortRead package also contains a function to generate a simple quality control report.

The qa() function accepts a FastQ file and returns a FastqQA object.

qa_WT_MOCK_REP1 <- qa(path_fastq_WT_MOCK_REP1)
qa_WT_MOCK_REP1
## class: FastqQA(10)
## QA elements (access with qa[["elt"]]):
##   readCounts: data.frame(1 3)
##   baseCalls: data.frame(1 5)
##   readQualityScore: data.frame(512 4)
##   baseQuality: data.frame(95 3)
##   alignQuality: data.frame(1 3)
##   frequentSequences: data.frame(50 4)
##   sequenceDistribution: data.frame(76 4)
##   perCycle: list(2)
##     baseCall: data.frame(231 4)
##     quality: data.frame(322 5)
##   perTile: list(2)
##     readCounts: data.frame(0 4)
##     medianReadQualityScore: data.frame(0 4)
##   adapterContamination: data.frame(1 1)

We can then use the report() function to generate a simple report.

myReport_WT_MOCK_REP1 <- report(qa_WT_MOCK_REP1)
myReport_WT_MOCK_REP1
## [1] "/var/folders/y1/f7wyg4vj50dgrg8drv0bn4nc0000gn/T//RtmpbCeGU7/file16b718f864a/index.html"

Finally we can review the report in a browser or use the browseURL function to open it in a browser from R.

browseURL(myReport_WT_MOCK_REP1)

3.5 Trimming

When we observe low quality at the end of reads we may wish to remove the low quality bases for later alignment to the genome. The trimTails() function trims reads from the 3’, removing bases which fall below a desired quality. The trimTails() function accepts arguments specifying the ShortReadQ object, the minimum number of successive bases required to be below quality cut-off for trimming and the actual cut-off score.

trimmed_fastq_WT_MOCK_REP1 <- trimTails(fastq_WT_MOCK_REP1, # ShortReadQ object to trim
                          k=10, # integer number of failing letters to trigger trim
                          a="5") # character giving letter at or below to "fail"
trimmed_fastq_WT_MOCK_REP1
## class: ShortReadQ
## length: 223565 reads; width: 16..50 cycles

Now we have trimmed our FastQ reads, we can export these reads for further analysis using the writeFastq() function

writeFastq(trimmed_fastq_WT_MOCK_REP1,
           "~/Desktop/Genomic_Data_Analysis/WT_MOCK_REP1_shortread_trimmed.fastq.gz") #path to save file

3.5.1 Automate for list of files

There are several utility programs that will provide you with QC and trim your data for you, with less input from you. We like fastp as it does some basic QC and trims your fastq files, and it does it very quickly. To make this available in R, it has been made available in the Bioconductor package Rfastp.

By default, fastp will make a html report to summarize your result. But the Rfastp wrapper allows you to look at some of them in R.

# create a directory for the output to go into if not already present
output_dir <- paste0(dirname(dirname(path_fastq_WT_MOCK_REP1)), "/Trimmed_rfastp") 
if (!dir.exists(output_dir)) {dir.create(output_dir, recursive = TRUE)}

# if we wanted to just run a single file, we would do so like this:
rfastp_report <- rfastp(read1 = path_fastq_WT_MOCK_REP1,
                        outputFastq = paste0(output_dir, "/YPS606_WT_MOCK_REP1"))

# print out the qc summary for this sample
df_summary <- qcSummary(rfastp_report)
df_summary |> print.data.frame()
##                      Before_QC     After_QC
## total_reads       2.235650e+05 2.235390e+05
## total_bases       1.117825e+07 1.117695e+07
## q20_bases         1.110373e+07 1.110280e+07
## q30_bases         1.096271e+07 1.096189e+07
## q20_rate          9.933340e-01 9.933660e-01
## q30_rate          9.807180e-01 9.807590e-01
## read1_mean_length 5.000000e+01 5.000000e+01
## gc_content        4.165340e-01 4.165420e-01

3.6 Batch file processing

That’s nice, but we rarely just have a single fastq file, and we’d like to look at them all at once. Luckily, we can do that with rfastp.

First, we need to get the locations of all of the files we downloaded earlier

# adjust to the path where you assigned in RAW_DATA_DIR if using different than default
fq_file_dir <- dirname(path_fastq_WT_MOCK_REP1) # this just gets the path file is in.
# crate a list of all of the files
fastq.files <- list.files(path = fq_file_dir, # where to look
                          pattern = "REP[0-9].fastq.gz$", # the pattern of file name to find
                                  # Note, if you have other fastq files in the folder, they will also be included.
                          full.names = TRUE) # save the full path to the file

print(fastq.files)
##  [1] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_MSN24_ETOH_REP1.fastq.gz"
##  [2] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_MSN24_ETOH_REP2.fastq.gz"
##  [3] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_MSN24_ETOH_REP3.fastq.gz"
##  [4] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_MSN24_ETOH_REP4.fastq.gz"
##  [5] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_MSN24_MOCK_REP1.fastq.gz"
##  [6] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_MSN24_MOCK_REP2.fastq.gz"
##  [7] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_MSN24_MOCK_REP3.fastq.gz"
##  [8] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_MSN24_MOCK_REP4.fastq.gz"
##  [9] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_WT_ETOH_REP1.fastq.gz"   
## [10] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_WT_ETOH_REP2.fastq.gz"   
## [11] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_WT_ETOH_REP3.fastq.gz"   
## [12] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_WT_ETOH_REP4.fastq.gz"   
## [13] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_WT_MOCK_REP1.fastq.gz"   
## [14] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_WT_MOCK_REP2.fastq.gz"   
## [15] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_WT_MOCK_REP3.fastq.gz"   
## [16] "/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Raw/YPS606_WT_MOCK_REP4.fastq.gz"

Now we have all of the file paths

We can loop through all of the files to perform filtering and trimming. Note there are many arguments that can be modified. Use ?rfastp to learn more.

# run rfastp on all fastq files
for (i in 1:length(fastq.files)) {
  # file path to single end read
  read1 <- fastq.files[i]
  # assign output file (putting it inside of Data/Trimmed folder)
  output_name <- paste0(output_dir,
                        "/",
                        basename(fastq.files[i]))
  json_report <- rfastp(
    read1 = read1,
    outputFastq = str_split(output_name, fixed("."))[[1]][1],
    disableTrimPolyG = FALSE,
    # cutLowQualFront = TRUE,
    # cutFrontWindowSize = 3,
    # cutFrontMeanQual = 10,
    # cutLowQualTail = TRUE,
    cutTailWindowSize = 1,
    # cutTailMeanQual = 5,
    minReadLength = 15,
    # trimFrontRead1 = 10,
    # adapterSequenceRead1 = 'GTGTCAGTCACTTCCAGCGG'
  )
  
  # Print the output file link in the R Markdown document
  cat(paste0(
    "[Processing Complete - ",
    basename(output_name),
    "](",
    output_name,
    ")\n\n"
  ))
}
## [Processing Complete - YPS606_MSN24_ETOH_REP1.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_MSN24_ETOH_REP1.fastq.gz)
## 
## [Processing Complete - YPS606_MSN24_ETOH_REP2.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_MSN24_ETOH_REP2.fastq.gz)
## 
## [Processing Complete - YPS606_MSN24_ETOH_REP3.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_MSN24_ETOH_REP3.fastq.gz)
## 
## [Processing Complete - YPS606_MSN24_ETOH_REP4.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_MSN24_ETOH_REP4.fastq.gz)
## 
## [Processing Complete - YPS606_MSN24_MOCK_REP1.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_MSN24_MOCK_REP1.fastq.gz)
## 
## [Processing Complete - YPS606_MSN24_MOCK_REP2.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_MSN24_MOCK_REP2.fastq.gz)
## 
## [Processing Complete - YPS606_MSN24_MOCK_REP3.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_MSN24_MOCK_REP3.fastq.gz)
## 
## [Processing Complete - YPS606_MSN24_MOCK_REP4.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_MSN24_MOCK_REP4.fastq.gz)
## 
## [Processing Complete - YPS606_WT_ETOH_REP1.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_WT_ETOH_REP1.fastq.gz)
## 
## [Processing Complete - YPS606_WT_ETOH_REP2.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_WT_ETOH_REP2.fastq.gz)
## 
## [Processing Complete - YPS606_WT_ETOH_REP3.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_WT_ETOH_REP3.fastq.gz)
## 
## [Processing Complete - YPS606_WT_ETOH_REP4.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_WT_ETOH_REP4.fastq.gz)
## 
## [Processing Complete - YPS606_WT_MOCK_REP1.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_WT_MOCK_REP1.fastq.gz)
## 
## [Processing Complete - YPS606_WT_MOCK_REP2.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_WT_MOCK_REP2.fastq.gz)
## 
## [Processing Complete - YPS606_WT_MOCK_REP3.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_WT_MOCK_REP3.fastq.gz)
## 
## [Processing Complete - YPS606_WT_MOCK_REP4.fastq.gz](/Users/clstacy/Desktop/Genomic_Data_Analysis/Data/Trimmed_rfastp/YPS606_WT_MOCK_REP4.fastq.gz)

3.6.1 Running RfastP creates several files:

  1. XXX_R1.fastq.gz - FASTQ with poor quality reads filtered out

  2. XXX.html - HTML file contains a QC report

  3. XXX.json - JSON file with all the summary statistics

3.7 QC and adapters

Another common tool for quality control is called FastQC, useable via command line or GUI, available at https://www.bioinformatics.babraham.ac.uk/projects/fastqc/ or via pip or conda install in the command line.

To use this tool, let’s get conda running on your computer. NOTE: Anaconda is already installed on computers in the computer lab. If you are using your own computer, you’ll need to have conda installed (link to learn more)

First, we need to open a terminal window. We will copy code from the below code chunk into the terminal window.

. /opt/anaconda3/bin/activate && conda init
#. /opt/anaconda3/bin/activate && conda activate /opt/anaconda3;

# run this command in terminal to make sure conda is activated
which conda

# copy these 4 lines into terminal and run them
conda config --add channels defaults
conda config --append channels bioconda
conda config --append channels conda-forge
conda config --set channel_priority strict

# check channel order
conda config --show channels

Now, we need to create a conda environment with our packages. You can do so with the code below. This may take a couple of minutes the first time we run it.

# create an enviornment for our QC packages
if conda info --envs | grep -q QC; then echo "environment 'QC' already exists"; else conda create -y -n QC fastqc multiqc; fi

# see available conda environments
conda env list

# activate our QC environment
conda activate QC

# make sure desired packages are working
which fastqc
which multiqc

# get the versions of each software
fastqc -v
multiqc --version

# it's always good coding practice to deactivate a conda environment at the end of a chunk
conda deactivate
## environment 'QC' already exists
## # conda environments:
## #
##                          /Users/clstacy/Library/r-miniconda
##                          /Users/clstacy/Library/r-miniconda-arm64
##                          /Users/clstacy/Library/r-miniconda-arm64/envs/r-reticulate
##                          /Users/clstacy/Library/r-miniconda/envs/r-reticulate
## base                  *  /Users/clstacy/anaconda3
## QC                       /Users/clstacy/anaconda3/envs/QC
## mageck                   /Users/clstacy/anaconda3/envs/mageck
## salmon                   /Users/clstacy/anaconda3/envs/salmon
##                          /Users/clstacy/opt/anaconda3
##                          /Users/clstacy/opt/anaconda3/envs/colony_count_nn
##                          /Users/clstacy/opt/anaconda3/envs/tlcc
## 
## /Users/clstacy/anaconda3/envs/QC/bin/fastqc
## /Users/clstacy/anaconda3/envs/QC/bin/multiqc
## FastQC v0.12.1
## multiqc, version 1.15

3.8 Running fastqc

#WARNING: variables in bash you've saved in previous chunks won't be retained in later chunks
# We need to set a variable for the folder above raw and trimmed files.
DATA_DIR="/Users/$USER/Desktop/Genomic_Data_Analysis/Data"
QC_DIR="/Users/$USER/Desktop/Genomic_Data_Analysis/QC"
# Activate conda QC environment
conda activate QC

# show which version of fastqc is active
fastqc -v

# Function to check if a command is installed, we use this next.
command_exists() {
  command -v "$1" >/dev/null 2>&1
}

if command_exists fastqc; then
  # Continue if fastqc is installed
  # first, make sure we have the folders to store the fastqc outputs
  mkdir -p $QC_DIR/fastqc/Raw
  mkdir -p $QC_DIR/fastqc/Trimmed
  # run fastqc on the raw data files
  fastqc $DATA_DIR/Raw/*.fastq.gz -o $QC_DIR/fastqc/Raw
  # run fastqc on the trimmed data files
  fastqc $DATA_DIR/Trimmed_rfastp/*.fastq.gz -o $QC_DIR/fastqc/Trimmed
  if [ $? -ne 0 ]; then
    echo "FastQC execution failed. It didn't work."
  fi
else
  echo "FastQC is not installed."
fi

# deactivate QC conda environment
conda deactivate
## FastQC v0.12.1
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## Started analysis of YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 5% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 10% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 15% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 20% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 25% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 30% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 35% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 40% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 45% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 50% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 55% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 60% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 65% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 70% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 75% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 80% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 85% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 90% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Approx 95% complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Analysis complete for YPS606_MSN24_ETOH_REP1.fastq.gz
## Warning: the fonts "Times" and "Times" are not available for the Java logical font "Serif", which may have unexpected appearance or behavior. Re-enable the "Times" font to remove this warning.
## Started analysis of YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 5% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 10% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 15% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 20% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 25% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 30% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 35% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 40% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 45% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 50% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 55% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 60% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 65% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 70% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 75% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 80% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 85% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 90% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Approx 95% complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Analysis complete for YPS606_MSN24_ETOH_REP2.fastq.gz
## Started analysis of YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 5% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 10% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 15% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 20% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 25% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 30% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 35% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 40% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 45% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 50% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 55% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 60% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 65% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 70% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 75% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 80% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 85% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 90% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Approx 95% complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Analysis complete for YPS606_MSN24_ETOH_REP3.fastq.gz
## Started analysis of YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 5% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 10% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 15% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 20% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 25% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 30% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 35% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 40% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 45% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 50% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 55% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 60% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 65% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 70% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 75% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 80% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 85% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 90% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Approx 95% complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Analysis complete for YPS606_MSN24_ETOH_REP4.fastq.gz
## Started analysis of YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 5% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 10% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 15% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 20% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 25% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 30% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 35% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 40% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 45% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 50% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 55% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 60% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 65% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 70% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 75% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 80% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 85% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 90% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Approx 95% complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Analysis complete for YPS606_MSN24_MOCK_REP1.fastq.gz
## Started analysis of YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 5% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 10% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 15% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 20% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 25% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 30% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 35% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 40% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 45% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 50% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 55% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 60% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 65% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 70% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 75% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 80% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 85% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 90% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Approx 95% complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Analysis complete for YPS606_MSN24_MOCK_REP2.fastq.gz
## Started analysis of YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 5% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 10% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 15% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 20% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 25% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 30% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 35% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 40% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 45% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 50% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 55% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 60% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 65% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 70% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 75% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 80% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 85% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 90% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 95% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Approx 100% complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Analysis complete for YPS606_MSN24_MOCK_REP3.fastq.gz
## Started analysis of YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 5% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 10% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 15% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 20% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 25% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 30% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 35% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 40% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 45% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 50% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 55% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 60% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 65% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 70% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 75% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 80% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 85% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 90% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Approx 95% complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Analysis complete for YPS606_MSN24_MOCK_REP4.fastq.gz
## Started analysis of YPS606_WT_ETOH_REP1.fastq.gz
## Approx 5% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 10% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 15% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 20% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 25% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 30% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 35% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 40% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 45% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 50% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 55% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 60% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 65% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 70% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 75% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 80% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 85% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 90% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Approx 95% complete for YPS606_WT_ETOH_REP1.fastq.gz
## Analysis complete for YPS606_WT_ETOH_REP1.fastq.gz
## Started analysis of YPS606_WT_ETOH_REP2.fastq.gz
## Approx 5% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 10% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 15% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 20% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 25% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 30% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 35% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 40% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 45% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 50% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 55% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 60% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 65% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 70% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 75% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 80% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 85% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 90% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Approx 95% complete for YPS606_WT_ETOH_REP2.fastq.gz
## Analysis complete for YPS606_WT_ETOH_REP2.fastq.gz
## Started analysis of YPS606_WT_ETOH_REP3.fastq.gz
## Approx 5% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 10% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 15% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 20% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 25% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 30% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 35% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 40% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 45% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 50% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 55% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 60% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 65% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 70% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 75% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 80% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 85% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 90% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Approx 95% complete for YPS606_WT_ETOH_REP3.fastq.gz
## Analysis complete for YPS606_WT_ETOH_REP3.fastq.gz
## Started analysis of YPS606_WT_ETOH_REP4.fastq.gz
## Approx 5% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 10% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 15% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 20% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 25% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 30% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 35% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 40% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 45% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 50% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 55% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 60% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 65% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 70% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 75% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 80% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 85% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 90% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Approx 95% complete for YPS606_WT_ETOH_REP4.fastq.gz
## Analysis complete for YPS606_WT_ETOH_REP4.fastq.gz
## Started analysis of YPS606_WT_MOCK_REP1.fastq.gz
## Approx 5% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 10% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 15% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 20% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 25% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 30% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 35% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 40% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 45% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 50% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 55% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 60% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 65% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 70% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 75% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 80% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 85% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 90% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Approx 95% complete for YPS606_WT_MOCK_REP1.fastq.gz
## Analysis complete for YPS606_WT_MOCK_REP1.fastq.gz
## Started analysis of YPS606_WT_MOCK_REP2.fastq.gz
## Approx 5% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 10% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 15% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 20% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 25% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 30% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 35% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 40% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 45% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 50% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 55% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 60% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 65% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 70% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 75% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 80% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 85% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 90% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Approx 95% complete for YPS606_WT_MOCK_REP2.fastq.gz
## Analysis complete for YPS606_WT_MOCK_REP2.fastq.gz
## Started analysis of YPS606_WT_MOCK_REP3.fastq.gz
## Approx 5% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 10% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 15% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 20% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 25% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 30% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 35% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 40% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 45% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 50% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 55% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 60% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 65% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 70% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 75% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 80% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 85% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 90% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Approx 95% complete for YPS606_WT_MOCK_REP3.fastq.gz
## Analysis complete for YPS606_WT_MOCK_REP3.fastq.gz
## Started analysis of YPS606_WT_MOCK_REP4.fastq.gz
## Approx 5% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 10% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 15% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 20% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 25% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 30% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 35% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 40% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 45% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 50% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 55% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 60% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 65% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 70% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 75% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 80% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 85% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 90% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Approx 95% complete for YPS606_WT_MOCK_REP4.fastq.gz
## Analysis complete for YPS606_WT_MOCK_REP4.fastq.gz
## application/octet-stream
## application/octet-stream
## Started analysis of YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## application/octet-stream
## Approx 5% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 10% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 15% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 20% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 25% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 30% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 35% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 40% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 45% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 50% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 55% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 60% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 65% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 70% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 75% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 80% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 85% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 90% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Approx 95% complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Analysis complete for YPS606_MSN24_ETOH_REP1_R1.fastq.gz
## Warning: the fonts "Times" and "Times" are not available for the Java logical font "Serif", which may have unexpected appearance or behavior. Re-enable the "Times" font to remove this warning.
## Started analysis of YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 5% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 10% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 15% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 20% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 25% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 30% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 35% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 40% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 45% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 50% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 55% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 60% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 65% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 70% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 75% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 80% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 85% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 90% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Approx 95% complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Analysis complete for YPS606_MSN24_ETOH_REP2_R1.fastq.gz
## Started analysis of YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 5% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 10% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 15% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 20% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 25% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 30% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 35% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 40% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 45% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 50% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 55% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 60% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 65% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 70% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 75% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 80% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 85% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 90% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Approx 95% complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Analysis complete for YPS606_MSN24_ETOH_REP3_R1.fastq.gz
## Started analysis of YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 5% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 10% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 15% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 20% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 25% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 30% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 35% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 40% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 45% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 50% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 55% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 60% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 65% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 70% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 75% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 80% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 85% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 90% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Approx 95% complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Analysis complete for YPS606_MSN24_ETOH_REP4_R1.fastq.gz
## Started analysis of YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 5% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 10% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 15% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 20% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 25% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 30% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 35% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 40% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 45% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 50% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 55% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 60% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 65% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 70% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 75% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 80% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 85% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 90% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Approx 95% complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Analysis complete for YPS606_MSN24_MOCK_REP1_R1.fastq.gz
## Started analysis of YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 5% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 10% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 15% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 20% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 25% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 30% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 35% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 40% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 45% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 50% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 55% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 60% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 65% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 70% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 75% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 80% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 85% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 90% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Approx 95% complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Analysis complete for YPS606_MSN24_MOCK_REP2_R1.fastq.gz
## Started analysis of YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 5% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 10% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 15% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 20% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 25% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 30% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 35% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 40% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 45% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 50% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 55% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 60% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 65% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 70% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 75% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 80% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 85% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 90% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 95% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Approx 100% complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Analysis complete for YPS606_MSN24_MOCK_REP3_R1.fastq.gz
## Started analysis of YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 5% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 10% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 15% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 20% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 25% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 30% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 35% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 40% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 45% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 50% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 55% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 60% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 65% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 70% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 75% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 80% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 85% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 90% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Approx 95% complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Analysis complete for YPS606_MSN24_MOCK_REP4_R1.fastq.gz
## Started analysis of YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 5% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 10% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 15% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 20% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 25% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 30% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 35% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 40% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 45% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 50% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 55% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 60% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 65% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 70% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 75% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 80% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 85% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 90% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Approx 95% complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Analysis complete for YPS606_WT_ETOH_REP1_R1.fastq.gz
## Started analysis of YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 5% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 10% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 15% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 20% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 25% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 30% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 35% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 40% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 45% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 50% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 55% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 60% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 65% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 70% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 75% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 80% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 85% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 90% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Approx 95% complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Analysis complete for YPS606_WT_ETOH_REP2_R1.fastq.gz
## Started analysis of YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 5% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 10% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 15% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 20% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 25% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 30% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 35% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 40% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 45% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 50% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 55% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 60% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 65% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 70% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 75% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 80% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 85% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 90% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Approx 95% complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Analysis complete for YPS606_WT_ETOH_REP3_R1.fastq.gz
## Started analysis of YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 5% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 10% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 15% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 20% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 25% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 30% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 35% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 40% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 45% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 50% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 55% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 60% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 65% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 70% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 75% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 80% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 85% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 90% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Approx 95% complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Analysis complete for YPS606_WT_ETOH_REP4_R1.fastq.gz
## Started analysis of YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 5% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 10% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 15% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 20% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 25% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 30% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 35% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 40% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 45% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 50% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 55% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 60% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 65% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 70% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 75% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 80% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 85% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 90% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Approx 95% complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Analysis complete for YPS606_WT_MOCK_REP1_R1.fastq.gz
## Started analysis of YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 5% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 10% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 15% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 20% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 25% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 30% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 35% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 40% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 45% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 50% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 55% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 60% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 65% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 70% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 75% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 80% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 85% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 90% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Approx 95% complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Analysis complete for YPS606_WT_MOCK_REP2_R1.fastq.gz
## Started analysis of YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 5% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 10% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 15% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 20% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 25% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 30% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 35% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 40% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 45% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 50% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 55% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 60% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 65% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 70% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 75% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 80% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 85% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 90% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Approx 95% complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Analysis complete for YPS606_WT_MOCK_REP3_R1.fastq.gz
## Started analysis of YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 5% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 10% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 15% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 20% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 25% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 30% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 35% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 40% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 45% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 50% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 55% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 60% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 65% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 70% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 75% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 80% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 85% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 90% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Approx 95% complete for YPS606_WT_MOCK_REP4_R1.fastq.gz
## Analysis complete for YPS606_WT_MOCK_REP4_R1.fastq.gz

This link shows the fastqc output for the trimmed WT_MOCK_REP1.fastq.gz

browseURL("~/Desktop/Genomic_Data_Analysis/QC/fastqc/Trimmed/YPS606_WT_MOCK_REP1_R1_fastqc.html")

We could do this for each of the html fastq files to see how they all look but with a large sample size that takes a long time and can lead to missing important information.

3.9 Multiqc for QC on mutliple samples

One of our favorite ways to analyze multiple samples simultaneously is MultiQC a software that combines fastQC (and other) reports

Here is the code to run it:

# Be sure to change this file path to the path you want to run multiqc
QC_DIR="/Users/$USER/Desktop/Genomic_Data_Analysis/QC"

# activate QC environment
conda activate QC

# run multiqc on all of the fastqc outputs
multiqc $QC_DIR/fastqc -o $QC_DIR -m fastqc -f
## 
##   /// MultiQC 🔍 | v1.15
## 
## |           multiqc | MultiQC Version v1.16 now available!
## |           multiqc | Only using modules: fastqc
## |           multiqc | Search path : /Users/clstacy/Desktop/Genomic_Data_Analysis/QC/fastqc
## |         searching | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 66/66  
## |            fastqc | Found 32 reports
## |           multiqc | Report      : ../../../Desktop/Genomic_Data_Analysis/QC/multiqc_report.html   (overwritten)
## |           multiqc | Data        : ../../../Desktop/Genomic_Data_Analysis/QC/multiqc_data   (overwritten)
## |           multiqc | MultiQC complete
path_multiqc <- "~/Desktop/Genomic_Data_Analysis/QC/multiqc_report.html"
browseURL(path_multiqc)

Be sure to knit this file into a pdf or html file once you’re finished.

System information for reproducibility:

pander::pander(sessionInfo())

R version 4.3.1 (2023-06-16)

Platform: aarch64-apple-darwin20 (64-bit)

locale: en_US.UTF-8||en_US.UTF-8||en_US.UTF-8||C||en_US.UTF-8||en_US.UTF-8

attached base packages: stats4, stats, graphics, grDevices, utils, datasets, methods and base

other attached packages: ShortRead(v.1.58.0), GenomicAlignments(v.1.36.0), SummarizedExperiment(v.1.30.2), MatrixGenerics(v.1.12.3), matrixStats(v.1.0.0), Rsamtools(v.2.16.0), GenomicRanges(v.1.52.1), Biostrings(v.2.68.1), GenomeInfoDb(v.1.36.4), XVector(v.0.40.0), BiocParallel(v.1.34.2), Rfastp(v.1.10.0), org.Sc.sgd.db(v.3.17.0), AnnotationDbi(v.1.62.2), IRanges(v.2.34.1), S4Vectors(v.0.38.2), Biobase(v.2.60.0), BiocGenerics(v.0.46.0), clusterProfiler(v.4.8.2), ggVennDiagram(v.1.2.3), tidytree(v.0.4.5), igraph(v.1.5.1), janitor(v.2.2.0), BiocManager(v.1.30.22), pander(v.0.6.5), knitr(v.1.44), here(v.1.0.1), lubridate(v.1.9.3), forcats(v.1.0.0), stringr(v.1.5.0), dplyr(v.1.1.3), purrr(v.1.0.2), readr(v.2.1.4), tidyr(v.1.3.0), tibble(v.3.2.1), ggplot2(v.3.4.4), tidyverse(v.2.0.0) and pacman(v.0.5.1)

loaded via a namespace (and not attached): RColorBrewer(v.1.1-3), rstudioapi(v.0.15.0), jsonlite(v.1.8.7), magrittr(v.2.0.3), farver(v.2.1.1), rmarkdown(v.2.25), ragg(v.1.2.6), fs(v.1.6.3), zlibbioc(v.1.46.0), vctrs(v.0.6.4), memoise(v.2.0.1), RCurl(v.1.98-1.12), ggtree(v.3.8.2), S4Arrays(v.1.0.6), htmltools(v.0.5.6.1), curl(v.5.1.0), gridGraphics(v.0.5-1), sass(v.0.4.7), KernSmooth(v.2.23-22), bslib(v.0.5.1), plyr(v.1.8.9), cachem(v.1.0.8), lifecycle(v.1.0.3), pkgconfig(v.2.0.3), Matrix(v.1.6-1.1), R6(v.2.5.1), fastmap(v.1.1.1), gson(v.0.1.0), GenomeInfoDbData(v.1.2.10), snakecase(v.0.11.1), digest(v.0.6.33), aplot(v.0.2.2), enrichplot(v.1.20.0), colorspace(v.2.1-0), patchwork(v.1.1.3), rprojroot(v.2.0.3), textshaping(v.0.3.7), RSQLite(v.2.3.1), hwriter(v.1.3.2.1), labeling(v.0.4.3), fansi(v.1.0.5), timechange(v.0.2.0), abind(v.1.4-5), httr(v.1.4.7), polyclip(v.1.10-6), compiler(v.4.3.1), proxy(v.0.4-27), bit64(v.4.0.5), withr(v.2.5.1), downloader(v.0.4), viridis(v.0.6.4), DBI(v.1.1.3), ggforce(v.0.4.1), MASS(v.7.3-60), DelayedArray(v.0.26.7), rjson(v.0.2.21), classInt(v.0.4-10), HDO.db(v.0.99.1), units(v.0.8-4), tools(v.4.3.1), ape(v.5.7-1), scatterpie(v.0.2.1), glue(v.1.6.2), nlme(v.3.1-163), GOSemSim(v.2.26.1), sf(v.1.0-14), grid(v.4.3.1), shadowtext(v.0.1.2), reshape2(v.1.4.4), fgsea(v.1.26.0), generics(v.0.1.3), gtable(v.0.3.4), tzdb(v.0.4.0), class(v.7.3-22), data.table(v.1.14.8), hms(v.1.1.3), tidygraph(v.1.2.3), utf8(v.1.2.3), ggrepel(v.0.9.4), pillar(v.1.9.0), yulab.utils(v.0.1.0), vroom(v.1.6.4), splines(v.4.3.1), tweenr(v.2.0.2), treeio(v.1.24.3), lattice(v.0.21-9), deldir(v.1.0-9), bit(v.4.0.5), tidyselect(v.1.2.0), GO.db(v.3.17.0), gridExtra(v.2.3), bookdown(v.0.36), xfun(v.0.40), graphlayouts(v.1.0.1), stringi(v.1.7.12), lazyeval(v.0.2.2), ggfun(v.0.1.3), yaml(v.2.3.7), evaluate(v.0.22), codetools(v.0.2-19), interp(v.1.1-4), ggraph(v.2.1.0), qvalue(v.2.32.0), RVenn(v.1.1.0), ggplotify(v.0.1.2), cli(v.3.6.1), systemfonts(v.1.0.5), munsell(v.0.5.0), jquerylib(v.0.1.4), Rcpp(v.1.0.11), png(v.0.1-8), parallel(v.4.3.1), blob(v.1.2.4), jpeg(v.0.1-10), latticeExtra(v.0.6-30), DOSE(v.3.26.1), bitops(v.1.0-7), viridisLite(v.0.4.2), e1071(v.1.7-13), scales(v.1.2.1), crayon(v.1.5.2), rlang(v.1.1.1), cowplot(v.1.1.1), fastmatch(v.1.1-4) and KEGGREST(v.1.40.1)