Previous changeset 9:3a458e268066 (2016-11-02) Next changeset 11:db2dc6bc8f05 (2017-04-20) |
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/fastqc commit 2bfbb5ae6b801e43355fdc3f964a5111fe3fe3a1 |
modified:
rgFastQC.py rgFastQC.xml test-data/fastqc_contaminants.txt test-data/fastqc_customlimits.txt test-data/fastqc_report.html test-data/fastqc_report2.html |
added:
test-data/1000gsample.fastq.bz2 |
b |
diff -r 3a458e268066 -r a00a6402d09a rgFastQC.py --- a/rgFastQC.py Wed Nov 02 16:12:51 2016 -0400 +++ b/rgFastQC.py Wed Feb 08 12:43:43 2017 -0500 |
[ |
@@ -15,30 +15,28 @@ rgFastQC.py -i path/dataset_1.dat -j 1000gsample.fastq -o path/dataset_3.dat -d path/job_working_directory/subfolder -f fastq -n FastQC -c path/dataset_2.dat -e fastqc - """ - +import bz2 +import glob +import gzip +import mimetypes +import optparse +import os import re -import os import shutil import subprocess -import optparse import tempfile -import glob -import gzip -import bz2 import zipfile -import mimetypes + class FastQCRunner(object): - - def __init__(self,opts=None): + def __init__(self, opts=None): ''' Initializes an object to run FastQC in Galaxy. To start the process, use the function run_fastqc() ''' # Check whether the options are specified and saves them into the object - assert opts != None + assert opts is not None self.opts = opts def prepare_command_line(self): @@ -62,7 +60,7 @@ trimext = True f.close() elif linf.endswith('bz2'): - f = bz2.open(self.opts.input,'rb') + f = bz2.BZ2File(self.opts.input, 'r') try: f.readline() except: @@ -72,35 +70,35 @@ if not zipfile.is_zipfile(self.opts.input): trimext = True if trimext: - f = open(self.opts.input) - try: - f.readline() - except: - raise Exception("Input file corruption, could not identify the filetype") - infname = os.path.splitext(infname)[0] + f = open(self.opts.input) + try: + f.readline() + except: + raise Exception("Input file corruption, could not identify the filetype") + infname = os.path.splitext(infname)[0] # Replace unwanted or problematic charaters in the input file name - self.fastqinfilename = re.sub(ur'[^a-zA-Z0-9_\-\.]', '_', os.path.basename(infname)) + self.fastqinfilename = re.sub(r'[^a-zA-Z0-9_\-\.]', '_', os.path.basename(infname)) # check that the symbolic link gets a proper ending, fastqc seems to ignore the given format otherwise - if 'fastq' in opts.informat: + if 'fastq' in self.opts.informat: # with fastq the .ext is ignored, but when a format is actually passed it must comply with fastqc's # accepted formats.. - opts.informat = 'fastq' - elif not self.fastqinfilename.endswith(opts.informat): - self.fastqinfilename += '.%s' % opts.informat + self.opts.informat = 'fastq' + elif not self.fastqinfilename.endswith(self.opts.informat): + self.fastqinfilename += '.%s' % self.opts.informat # Build the Commandline from the given parameters - command_line = [opts.executable, '--outdir %s' % opts.outputdir] - if opts.contaminants != None: - command_line.append('--contaminants %s' % opts.contaminants) - if opts.limits != None: - command_line.append('--limits %s' % opts.limits) + command_line = [opts.executable, '--outdir %s' % self.opts.outputdir] + if self.opts.contaminants is not None: + command_line.append('--contaminants %s' % self.opts.contaminants) + if self.opts.limits is not None: + command_line.append('--limits %s' % self.opts.limits) command_line.append('--quiet') - command_line.append('--extract') # to access the output text file - if type[-1] != "gzip": - command_line.append('-f %s' % opts.informat) - else: - self.fastqinfilename += ".gz" + command_line.append('--extract') # to access the output text file + if type[-1] != "gzip": + command_line.append('-f %s' % self.opts.informat) + else: + self.fastqinfilename += ".gz" command_line.append(self.fastqinfilename) self.command_line = ' '.join(command_line) @@ -110,30 +108,30 @@ ''' # retrieve html file - result_file = glob.glob(opts.outputdir + '/*html') + result_file = glob.glob(self.opts.outputdir + '/*html') with open(result_file[0], 'rb') as fsrc: with open(self.opts.htmloutput, 'wb') as fdest: shutil.copyfileobj(fsrc, fdest) # retrieve text file - text_file = glob.glob(opts.outputdir + '/*/fastqc_data.txt') + text_file = glob.glob(self.opts.outputdir + '/*/fastqc_data.txt') with open(text_file[0], 'rb') as fsrc: with open(self.opts.textoutput, 'wb') as fdest: shutil.copyfileobj(fsrc, fdest) def run_fastqc(self): ''' - Executes FastQC. Make sure the mandatory import parameters input, inputfilename, outputdir and htmloutput have been specified in the options (opts) + Executes FastQC. Make sure the mandatory import parameters input, inputfilename, outputdir and htmloutput have been specified in the options ''' # Create a log file - dummy,tlog = tempfile.mkstemp(prefix='rgFastQC',suffix=".log",dir=self.opts.outputdir) + dummy, tlog = tempfile.mkstemp(prefix='rgFastQC', suffix=".log", dir=self.opts.outputdir) sout = open(tlog, 'w') self.prepare_command_line() sout.write(self.command_line) sout.write('\n') - sout.write("Creating symlink\n") # between the input (.dat) file and the given input file name + sout.write("Creating symlink\n") # between the input (.dat) file and the given input file name os.symlink(self.opts.input, self.fastqinfilename) sout.write("check_call\n") subprocess.check_call(self.command_line, shell=True) @@ -142,6 +140,7 @@ sout.write("Finished") sout.close() + if __name__ == '__main__': op = optparse.OptionParser() op.add_option('-i', '--input', default=None) @@ -156,9 +155,9 @@ op.add_option('-e', '--executable', default='fastqc') opts, args = op.parse_args() - assert opts.input != None - assert opts.inputfilename != None - assert opts.htmloutput != None + assert opts.input is not None + assert opts.inputfilename is not None + assert opts.htmloutput is not None if not os.path.exists(opts.outputdir): os.makedirs(opts.outputdir) |
b |
diff -r 3a458e268066 -r a00a6402d09a rgFastQC.xml --- a/rgFastQC.xml Wed Nov 02 16:12:51 2016 -0400 +++ b/rgFastQC.xml Wed Feb 08 12:43:43 2017 -0500 |
[ |
@@ -10,26 +10,26 @@ <regex match="Exception:" /> </stdio> <command><![CDATA[ - python '$__tool_directory__'/rgFastQC.py - -i "$input_file" - -d "$html_file.files_path" - -o "$html_file" - -t "$text_file" - -f "$input_file.ext" - -j "$input_file.name" - #if $contaminants.dataset and str($contaminants) > '' - -c "$contaminants" - #end if - #if $limits.dataset and str($limits) > '' - -l "$limits" - #end if + python '${__tool_directory__}/rgFastQC.py' + -i '$input_file' + -d '${html_file.files_path}' + -o '$html_file' + -t '$text_file' + -f '${input_file.ext}' + -j '${input_file.name}' + #if $contaminants.dataset and str($contaminants) > '' + -c '$contaminants' + #end if + #if $limits.dataset and str($limits) > '' + -l '$limits' + #end if ]]></command> <inputs> - <param format="fastqsanger,fastq,bam,sam" name="input_file" type="data" label="Short read data from your current history" /> + <param format="fastq,fastq.gz,fastq.bz2,bam,sam" name="input_file" type="data" label="Short read data from your current history" /> <param name="contaminants" type="data" format="tabular" optional="true" label="Contaminant list" - help="tab delimited file with 2 columns: name and sequence. For example: Illumina Small RNA RT Primer CAAGCAGAAGACGGCATACGA"/> + help="tab delimited file with 2 columns: name and sequence. For example: Illumina Small RNA RT Primer CAAGCAGAAGACGGCATACGA" /> <param name="limits" type="data" format="txt" optional="true" label="Submodule and Limit specifing file" - help="a file that specifies which submodules are to be executed (default=all) and also specifies the thresholds for the each submodules warning parameter" /> + help="a file that specifies which submodules are to be executed (default=all) and also specifies the thresholds for the each submodules warning parameter" /> </inputs> <outputs> <data format="html" name="html_file" label="${tool.name} on ${on_string}: Webpage" /> @@ -49,14 +49,19 @@ <output name="text_file" file="fastqc_data2.txt" ftype="txt" compare="sim_size"/> </test> <test> - <param name="input_file" value="1000gsample.fastq.gz" /> + <param name="input_file" value="1000gsample.fastq.gz" ftype="fastq.gz" /> + <param name="contaminants" value="fastqc_contaminants.txt" ftype="tabular" /> + <output name="html_file" file="fastqc_report.html" ftype="html" lines_diff="100"/> + <output name="text_file" file="fastqc_data.txt" ftype="txt" lines_diff="100"/> + </test> + <test> + <param name="input_file" value="1000gsample.fastq.bz2" ftype="fastq.bz2" /> <param name="contaminants" value="fastqc_contaminants.txt" ftype="tabular" /> <output name="html_file" file="fastqc_report.html" ftype="html" lines_diff="100"/> <output name="text_file" file="fastqc_data.txt" ftype="txt" lines_diff="100"/> </test> </tests> <help> - .. class:: infomark **Purpose** @@ -69,16 +74,14 @@ The main functions of FastQC are: -- Import of data from BAM, SAM or FastQ/FastQ.gz files (any variant), +- Import of data from BAM, SAM or FastQ/FastQ.gz files (any variant), - Providing a quick overview to tell you in which areas there may be problems - Summary graphs and tables to quickly assess your data - Export of results to an HTML based permanent report - Offline operation to allow automated generation of reports without running the interactive application - ----- - .. class:: infomark **FastQC** @@ -123,11 +126,10 @@ All except Basic Statistics and Overrepresented sequences are plots. .. _FastQC: http://www.bioinformatics.bbsrc.ac.uk/projects/fastqc/ .. _Picard-tools: http://picard.sourceforge.net/index.shtml - </help> <citations> <citation type="bibtex"> - @ARTICLE{andrews_s, + @unpublished{andrews_s, author = {Andrews, S.}, keywords = {bioinformatics, ngs, qc}, priority = {2}, |
b |
diff -r 3a458e268066 -r a00a6402d09a test-data/1000gsample.fastq.bz2 |
b |
Binary file test-data/1000gsample.fastq.bz2 has changed |
b |
diff -r 3a458e268066 -r a00a6402d09a test-data/fastqc_contaminants.txt --- a/test-data/fastqc_contaminants.txt Wed Nov 02 16:12:51 2016 -0400 +++ b/test-data/fastqc_contaminants.txt Wed Feb 08 12:43:43 2017 -0500 |
[ |
b"@@ -1,170 +1,170 @@\n-# This file contains a list of potential contaminants which are\r\n-# frequently found in high throughput sequencing reactions. These\r\n-# are mostly sequences of adapters / primers used in the various\r\n-# sequencing chemistries.\r\n-# \r\n-# Please DO NOT rely on these sequences to design your own oligos, some\r\n-# of them are truncated at ambiguous positions, and none of them are\r\n-# definitive sequences from the manufacturers so don't blame us if you\r\n-# try to use them and they don't work.\r\n-#\r\n-# You can add more sequences to the file by putting one line per entry\r\n-# and specifying a name[tab]sequence. If the contaminant you add is \r\n-# likely to be of use to others please consider sending it to the FastQ\r\n-# authors, either via a bug report at www.bioinformatics.bbsrc.ac.uk/bugzilla/\r\n-# or by directly emailing simon.andrews@bbsrc.ac.uk so other users of\r\n-# the program can benefit.\r\n-\r\n-Illumina Single End Apapter 1\t\t\t\t\tACACTCTTTCCCTACACGACGCTGTTCCATCT\r\n-Illumina Single End Apapter 2\t\t\t\t\tCAAGCAGAAGACGGCATACGAGCTCTTCCGATCT\r\n-Illumina Single End PCR Primer 1\t\t\t\tAATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n-Illumina Single End PCR Primer 2\t\t\t\tCAAGCAGAAGACGGCATACGAGCTCTTCCGATCT\r\n-Illumina Single End Sequencing Primer\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n-\r\n-Illumina Paired End Adapter 1\t\t\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n-Illumina Paired End Adapter 2\t\t\t\t\tCTCGGCATTCCTGCTGAACCGCTCTTCCGATCT\r\n-Illumina Paried End PCR Primer 1\t\t\t\tAATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n-Illumina Paired End PCR Primer 2\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGGTCTCGGCATTCCTGCTGAACCGCTCTTCCGATCT\r\n-Illumina Paried End Sequencing Primer 1\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n-Illumina Paired End Sequencing Primer 2\t\t\tCGGTCTCGGCATTCCTACTGAACCGCTCTTCCGATCT\r\n-\r\n-Illumina DpnII expression Adapter 1\t\t\t\tACAGGTTCAGAGTTCTACAGTCCGAC\r\n-Illumina DpnII expression Adapter 2\t\t\t\tCAAGCAGAAGACGGCATACGA\r\n-Illumina DpnII expression PCR Primer 1\t\t\tCAAGCAGAAGACGGCATACGA\r\n-Illumina DpnII expression PCR Primer 2\t\t\tAATGATACGGCGACCACCGACAGGTTCAGAGTTCTACAGTCCGA\r\n-Illumina DpnII expression Sequencing Primer\t\tCGACAGGTTCAGAGTTCTACAGTCCGACGATC\r\n-\r\n-Illumina NlaIII expression Adapter 1\t\t\tACAGGTTCAGAGTTCTACAGTCCGACATG\r\n-Illumina NlaIII expression Adapter 2\t\t\tCAAGCAGAAGACGGCATACGA\r\n-Illumina NlaIII expression PCR Primer 1\t\t\tCAAGCAGAAGACGGCATACGA\r\n-Illumina NlaIII expression PCR Primer 2\t\t\tAATGATACGGCGACCACCGACAGGTTCAGAGTTCTACAGTCCGA\r\n-Illumina NlaIII expression Sequencing Primer\tCCGACAGGTTCAGAGTTCTACAGTCCGACATG\r\n-\r\n-Illumina Small RNA Adapter 1\t\t\t\t\tGTTCAGAGTTCTACAGTCCGACGATC\r\n-Illumina Small RNA Adapter 2\t\t\t\t\tTCGTATGCCGTCTTCTGCTTGT\r\n-Illumina Small RNA RT Primer\t\t\t\t\tCAAGCAGAAGACGGCATACGA\r\n-Illumina Small RNA PCR Primer 1\t\t\t\t\tCAAGCAGAAGACGGCATACGA\r\n-Illumina Small RNA PCR Primer 2\t\t\t\t\tAATGATACGGCGACCACCGACAGGTTCAGAGTTCTACAGTCCGA\r\n-Illumina Small RNA Sequencing Primer\t\t\tCGACAGGTTCAGAGTTCTACAGTCCGACGATC\r\n-\r\n-Illumina Multiplexing Adapter 1\t\t\t\t\tGATCGGAAGAGCACACGTCT\r\n-Illumina Multiplexing Adapter 2\t\t\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n-Illumina Multiplexing PCR Primer 1.01\t\t\tAATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n-Illumina Multiplexing PCR Primer 2.01\t\t\tGTGACTGGAGTTCAGACGTGTGCTCTTCCGATCT\r\n-Illumina Multiplexing Read1 Sequencing Primer\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n-Illumina Multiplexing Index Sequencing Primer\tGATCGGAAGAGCACACGTCTGAACTCCAGTCAC\r\n-Illumina Multiplexing Read2 Sequencing Primer\tGTGACTGGAGTTCAGACGTGTGCTCTTCCGATCT\r\n-\r\n-Illumina PCR Primer Index 1\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGTGATGTGACTGGAGTTC\r\n-Illumina PCR Primer Index 2\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATACATCGGTGACTGGAGTTC\r\n-Illumina PCR Primer Index 3\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCCTAAGTGACTGGAGTTC\r\n-Illumina PCR Primer Index 4\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGGTCAGTGACTGGAGTTC\r\n-Illumina PCR Primer Index 5\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCACTGTGTGACTGGAGTTC\r\n-Illumina PCR Primer Index 6\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATTGGCGTGACTGGAGTTC\r\n-Illumina PCR Prime"..b"AAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 13\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTTGACTGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 14\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGGAACTGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 15\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGACATGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 16\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGGACGGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 17\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCTCTACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 18\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCGGACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 19\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTTTCACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 20\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGGCCACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 21\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGAAACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 22\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGTACGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 23\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCCACTCGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 24\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCTACCGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 25\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATCAGTGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 26\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCTCATGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 27\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATAGGAATGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 28\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCTTTTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 29\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTAGTTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 30\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCCGGTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 31\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATCGTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 32\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGAGTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 33\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGCCTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 34\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCCATGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 35\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATAAAATGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 36\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGTTGGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 37\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATTCCGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 38\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATAGCTAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 39\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGTATAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 40\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTCTGAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 41\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGTCGTCGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 42\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGATTAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 43\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCTGTAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 44\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATTATAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 45\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGAATGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 46\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTCGGGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 47\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCTTCGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 48\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGCCGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+\n+ABI Dynabead EcoP Oligo\t\t\t\t\t\t\tCTGATCTAGAGGTACCGGATCCCAGCAGT\n+ABI Solid3 Adapter A\t\t\t\t\t\t\tCTGCCCCGGGTTCCTCATTCTCTCAGCAGCATG\n+ABI Solid3 Adapter B\t\t\t\t\t\t\tCCACTACGCCTCCGCTTTCCTCTCTATGGGCAGTCGGTGAT\n+ABI Solid3 5' AMP Primer\t\t\t\t\t\tCCACTACGCCTCCGCTTTCCTCTCTATG\n+ABI Solid3 3' AMP Primer\t\t\t\t\t\tCTGCCCCGGGTTCCTCATTCT\n+ABI Solid3 EF1 alpha Sense Primer\t\t\t\tCATGTGTGTTGAGAGCTTC\n+ABI Solid3 EF1 alpha Antisense Primer\t\t\tGAAAACCAAAGTGGTCCAC\n+ABI Solid3 GAPDH Forward Primer\t\t\t\t\tTTAGCACCCCTGGCCAAGG\n+ABI Solid3 GAPDH Reverse Primer\t\t\t\t\tCTTACTCCTTGGAGGCCATG\n" |
b |
diff -r 3a458e268066 -r a00a6402d09a test-data/fastqc_customlimits.txt --- a/test-data/fastqc_customlimits.txt Wed Nov 02 16:12:51 2016 -0400 +++ b/test-data/fastqc_customlimits.txt Wed Feb 08 12:43:43 2017 -0500 |
b |
@@ -1,84 +1,84 @@ -# For each of the modules you can choose to not run that -# module at all by setting the value below to 1 for the -# modules you want to remove. -duplication ignore 1 -kmer ignore 0 -n_content ignore 0 -overrepresented ignore 0 -quality_base ignore 0 -sequence ignore 0 -gc_sequence ignore 0 -quality_sequence ignore 1 -tile ignore 1 -sequence_length ignore 0 -adapter ignore 0 - -# For the duplication module the value is the percentage -# remaining after deduplication. Measured levels below -# these limits trigger the warning / error. -duplication warn 70 -duplication error 50 - -# For the kmer module the filter is on the -log10 binomial -# pvalue for the most significant Kmer, so 5 would be -# 10^-5 = p<0.00001 -kmer warn 2 -kmer error 5 - -# For the N module the filter is on the percentage of Ns -# at any position in the library -n_content warn 5 -n_content error 20 - -# For the overrepresented seqs the warn value sets the -# threshold for the overrepresented sequences to be reported -# at all as the proportion of the library which must be seen -# as a single sequence -overrepresented warn 0.001 -overrepresented error 1 - -# The per base quality filter uses two values, one for the value -# of the lower quartile, and the other for the value of the -# median quality. Failing either of these will trigger the alert -quality_base_lower warn 10 -quality_base_lower error 5 -quality_base_median warn 50 -quality_base_median error 20 - -# The per base sequence content module tests the maximum deviation -# between A and T or C and G -sequence warn 2 -sequence error 5 - -# The per sequence GC content tests the maximum deviation between -# the theoretical distribution and the real distribution -gc_sequence warn 15 -gc_sequence error 30 - -# The per sequence quality module tests the phred score which is -# most frequently observed -quality_sequence warn 27 -quality_sequence error 20 - -# The per tile module tests the maximum phred score loss between -# and individual tile and the average for that base across all tiles -tile warn 5 -tile error 10 - -# The sequence length module tests are binary, so the values here -# simply turn them on or off. The actual tests warn if you have -# sequences of different length, and error if you have sequences -# of zero length. - -sequence_length warn 1 -sequence_length error 1 - -# The adapter module's warnings and errors are based on the -# percentage of reads in the library which have been observed -# to contain an adapter associated Kmer at any point - -adapter warn 5 -adapter error 10 - - +# For each of the modules you can choose to not run that +# module at all by setting the value below to 1 for the +# modules you want to remove. +duplication ignore 1 +kmer ignore 0 +n_content ignore 0 +overrepresented ignore 0 +quality_base ignore 0 +sequence ignore 0 +gc_sequence ignore 0 +quality_sequence ignore 1 +tile ignore 1 +sequence_length ignore 0 +adapter ignore 0 + +# For the duplication module the value is the percentage +# remaining after deduplication. Measured levels below +# these limits trigger the warning / error. +duplication warn 70 +duplication error 50 + +# For the kmer module the filter is on the -log10 binomial +# pvalue for the most significant Kmer, so 5 would be +# 10^-5 = p<0.00001 +kmer warn 2 +kmer error 5 + +# For the N module the filter is on the percentage of Ns +# at any position in the library +n_content warn 5 +n_content error 20 + +# For the overrepresented seqs the warn value sets the +# threshold for the overrepresented sequences to be reported +# at all as the proportion of the library which must be seen +# as a single sequence +overrepresented warn 0.001 +overrepresented error 1 + +# The per base quality filter uses two values, one for the value +# of the lower quartile, and the other for the value of the +# median quality. Failing either of these will trigger the alert +quality_base_lower warn 10 +quality_base_lower error 5 +quality_base_median warn 50 +quality_base_median error 20 + +# The per base sequence content module tests the maximum deviation +# between A and T or C and G +sequence warn 2 +sequence error 5 + +# The per sequence GC content tests the maximum deviation between +# the theoretical distribution and the real distribution +gc_sequence warn 15 +gc_sequence error 30 + +# The per sequence quality module tests the phred score which is +# most frequently observed +quality_sequence warn 27 +quality_sequence error 20 + +# The per tile module tests the maximum phred score loss between +# and individual tile and the average for that base across all tiles +tile warn 5 +tile error 10 + +# The sequence length module tests are binary, so the values here +# simply turn them on or off. The actual tests warn if you have +# sequences of different length, and error if you have sequences +# of zero length. + +sequence_length warn 1 +sequence_length error 1 + +# The adapter module's warnings and errors are based on the +# percentage of reads in the library which have been observed +# to contain an adapter associated Kmer at any point + +adapter warn 5 +adapter error 10 + + \ No newline at end of file |
b |
diff -r 3a458e268066 -r a00a6402d09a test-data/fastqc_report.html --- a/test-data/fastqc_report.html Wed Nov 02 16:12:51 2016 -0400 +++ b/test-data/fastqc_report.html Wed Feb 08 12:43:43 2017 -0500 |
[ |
b'@@ -1,187 +1,187 @@\n-<html><head><title>1000gsample.fastq FastQC Report</title><style type="text/css">\r\n- @media screen {\r\n- div.summary {\r\n- width: 18em;\r\n- position:fixed;\r\n- top: 3em;\r\n- margin:1em 0 0 1em;\r\n- }\r\n- \r\n- div.main {\r\n- display:block;\r\n- position:absolute;\r\n- overflow:auto;\r\n- height:auto;\r\n- width:auto;\r\n- top:4.5em;\r\n- bottom:2.3em;\r\n- left:18em;\r\n- right:0;\r\n- border-left: 1px solid #CCC;\r\n- padding:0 0 0 1em;\r\n- background-color: white;\r\n- z-index:1;\r\n- }\r\n- \r\n- div.header {\r\n- background-color: #EEE;\r\n- border:0;\r\n- margin:0;\r\n- padding: 0.5em;\r\n- font-size: 200%;\r\n- font-weight: bold;\r\n- position:fixed;\r\n- width:100%;\r\n- top:0;\r\n- left:0;\r\n- z-index:2;\r\n- }\r\n-\r\n- div.footer {\r\n- background-color: #EEE;\r\n- border:0;\r\n- margin:0;\r\n-\tpadding:0.5em;\r\n- height: 1.3em;\r\n-\toverflow:hidden;\r\n- font-size: 100%;\r\n- font-weight: bold;\r\n- position:fixed;\r\n- bottom:0;\r\n- width:100%;\r\n- z-index:2;\r\n- }\r\n- \r\n- img.indented {\r\n- margin-left: 3em;\r\n- }\r\n- }\r\n- \r\n- @media print {\r\n-\timg {\r\n-\t\tmax-width:100% !important;\r\n-\t\tpage-break-inside: avoid;\r\n-\t}\r\n-\th2, h3 {\r\n-\t\tpage-break-after: avoid;\r\n-\t}\r\n-\tdiv.header {\r\n- background-color: #FFF;\r\n- }\r\n-\t\r\n- }\r\n- \r\n- body { \r\n- font-family: sans-serif; \r\n- color: #000; \r\n- background-color: #FFF;\r\n- border: 0;\r\n- margin: 0;\r\n- padding: 0;\r\n- }\r\n- \r\n- div.header {\r\n- border:0;\r\n- margin:0;\r\n- padding: 0.5em;\r\n- font-size: 200%;\r\n- font-weight: bold;\r\n- width:100%;\r\n- } \r\n- \r\n- #header_title {\r\n- display:inline-block;\r\n- float:left;\r\n- clear:left;\r\n- }\r\n- #header_filename {\r\n- display:inline-block;\r\n- float:right;\r\n- clear:right;\r\n- font-size: 50%;\r\n- margin-right:2em;\r\n- text-align: right;\r\n- }\r\n-\r\n- div.header h3 {\r\n- font-size: 50%;\r\n- margin-bottom: 0;\r\n- }\r\n- \r\n- div.summary ul {\r\n- padding-left:0;\r\n- list-style-type:none;\r\n- }\r\n- \r\n- div.summary ul li img {\r\n- margin-bottom:-0.5em;\r\n- margin-top:0.5em;\r\n- }\r\n-\t \r\n- div.main {\r\n- background-color: white;\r\n- }\r\n- \r\n- div.module {\r\n- padding-bottom:1.5em;\r\n- padding-top:1.5em;\r\n- }\r\n-\t \r\n- div.footer {\r\n- background-color: #EEE;\r\n- border:0;\r\n- margin:0;\r\n- padding: 0.5em;\r\n- font-size: 100%;\r\n- font-weight: bold;\r\n- width:100%;\r\n- }\r\n-\r\n-\r\n- a {\r\n- color: #000080;\r\n- }\r\n-\r\n- a:hover {\r\n- color: #800000;\r\n- }\r\n- \r\n- h2 {\r\n- color: #800000;\r\n- padding-bottom: 0;\r\n- margin-bottom: 0;\r\n- clear:left;\r\n- }\r\n-\r\n- table { \r\n- margin-left: 3em;\r\n- text-align: center;\r\n- }\r\n- \r\n- th { \r\n- text-align: center;\r\n- background-color: #000080;\r\n- color: #FFF;\r\n- padding: 0.4em;\r\n- } \r\n- \r\n- td { \r\n- font-family: monospace; \r\n- text-align: left;\r\n- background-color: #EEE;\r\n- color: #000;\r\n- padding: 0.4em;\r\n- }\r\n-\r\n- img {\r\n- padding-top: 0;\r\n- margin-top: 0;\r\n- border-top: 0;\r\n- }\r\n-\r\n- \r\n- p {\r\n- padding-top: 0;\r\n- margin-top: 0;\r\n- }\r\n+<html><head><title>1000gsample.fastq FastQC Report</title><style type="text/css">\n+ @media screen {\n+ div.summary {\n+ width: 18em;\n+ position:fixed;\n+ top: 3em;\n+ margin:1em 0 0 1em;\n+ }\n+ \n+ div.main {\n+ display:block;\n+ position:absolute;\n+ overflow:auto;\n+ height:auto;\n+ width:auto;\n+ top:4.5em;\n+ bottom:2.3em;\n+ left:18em;\n+ right:0;\n+ border-left: 1px solid #CCC;\n+ padding:0 0 0 1em;\n+ background-color: white;\n+ z-index:1;\n+ }\n+ \n+ div.header {\n+ background-color: #EEE;\n+ border:0;\n+ margin:0;\n+ padding: 0.5em;\n+ font-size: 200%;\n+ font-weight: bold;\n+ position:fixed;\n+ width:100%;\n+ top:0;\n+ left:0;\n+ z-index:2;\n+ }\n+\n+ div.footer {\n+ background-color: #EEE;\n+ border:0;\n+ margin:0;\n+\tpadding:0.5em;\n+ height: 1.3em;\n+\toverflow:hidden;\n+ font-size: 100%;\n+ font-weight: bold;\n+ position:fixed;\n+ bottom:0;\n+ width:100%;\n+ z-'..b'Xtx+o/acs1pitD/987+X/GW9gHTbs7ifv2zczMzMb677w3NcO47aBwGraD/77x+effjD1z11P3Hv6sbPL//VW3spbjeutnrx3/uxX5v/x1flzX59/5+H9713a//7l/Rce3X/x8do/n3/mgdPfnH/+2w80vYK38lbeyltt8K0+/PPDV14u8NN+AweWmZmZ2eQnsMzMzMx6C6xF0Z8iNDMzMxNYH3VVqd+DZWZmZiaw+pdy0y0v+7rEYtJbzU6u1/tkVtkY7sPA6xRP9pFYGZ8nXaztvQ8D73OqVvHPjbDlvHxuTPJzo+m+2i5r6CtVGQmS8XnZ8flkqe3S/a7Ieye93hurd0LMmzR9Kel4L0VaeZ8nHe/k4v+Sh+/Dsndj+D4sZQXOpfjnRpPVx+dG6/ssG8St92Hf59X350bTbenjPmx6/318bjT9i9b37er7cyNwRsW/JEa6xa0inxtjD6wib5562SbpTQb4kDq+h+zASnqrYb5hZ38wxa3Uz5Mi0TOk1Qc9zBflmIPr1erjc2OAbzAjOS+fGz43mu6rIa0y3+gFVsdP0OzH7BbdLuEKrA0G1sBX5vq4JC6werL6/ia39v57fdaswPK5sanzarrKOJi1c4HV9zOcuv8LkPQg5qrV5ZHT1ArMuC0xbziewBryYbsBoqfL50nG7ervi/Iw/5/oSC5RDPPduqfPjabb1VPoBx6aKf51I/xMx15vV69fN6r3YX9fNwZ7Htt4Amuyz8EassyKPGg92LPEun8DSPp3aVsCa4Bv1T09KWrj92Hfz6XYlLWRuhrgU3Ey5zWGK1gDPBbf6+fGBu/DAZ672evnYeu5dGqPrQisYR5YzP4ZvYEDq2ON9XS7xhBYg30t7v55slOB5XPDeY05sHp9xtLalaRhLhJPILBq76shrTLtMf7A6v4mvaLZP2uQfQl3mMBK/f+3NvtQ2gD/T+EA37Zb78Nt/CbaWjyTqav+0Jj7sNfzmupPES4Gv9A4/O3q+6cjB364f7CH4IsQG/g9WGP+zU/Zl5QG+01dXZ4clv0RZp9sf7+bqvY5B2W5mHfY9+0a8j4cwGo6sl6tAT43+v4muvH7cDHR303V01Wlwb5uLKb7u8QC0TPY80QLPKK1MDMzM7OyxeYuMDMzMxNYZmZmZgLLzMzMTGCZmZmZmcAyMzMzE1hmZmZmAsvMzMzMBJaZmZmZwDIzMzMTWGZm0/mC2PzfNsn+j6D19J/1MDOBZWbjaoju/z2vvv/79iMMrC4fnsAyE1hmNv3AKvi9f2LpILDMTGCZWeHAarqyVX3hh3+vvn7re1t7w/BHGP/Kax9D+FYEXl6rRL5++P1oLDOBZWa7GFjVRqltpqa/xL+31qtBqa9crZzwrYj5OFsDK+lmCiwzgWVm0w+swLWlQEvF/NPsl3d/5fg36YnI+0jMTGCZ2UQCK+bltQ9+bUVgJT2EJ7DMTGCZ2WYCKxATI7+C1bGKBJaZCSwz6xpYwzwHq+/Aar3SFv/EqVol4zlY6spMYJnZjgbWIv2nCKv/KPKnCPsLrMhbEf/Tf+HbFfl+BJaZwDIzs/r0zCtXv8ndTGCZmVl+hLkTzExgmZkJLDMTWGZmZmYCy8zMzGw39w+cI8K4UYXsgAAAAABJRU5ErkJg" alt="Adapter graph" width="800" height="600"/></p></div><div class="module"><h2 id="M11"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFlUlEQVR42s2XCUzTVxzHybIs0IgCLYqyQ9RtmhjCNKKbikajYVc22NThNjYjeC0yWBESxAV1Ckw8QEUF5ChnS4FyFETucwWU+7ClHKKiImLI4nCz9bv3/pS7ra1HtM1Lm/b/fp/ve+93PQMABq9y6D/Bz+ANNvethWxPw3Xs3wx/YAb9Tn6j/700AeZc1qccrhGPw2UNkk8Fx9voIceX9Tcz6Hf62/B/PPrsCxNgzjW043iyGjheRkOWQRzFt2IH/Nl4DDFyHjJ6siDoSoZ/YwB2VuyEffpGzA5iK+izdA6d+8wCyHa+SYyEsj2N/jU/aaL0vbIf0sF2tA92oOVBG+ruN6CqrwZldypR0FuMnBuXkX49C5GyaGwq3ASLU2ZKOpfaoLb0EmDibmLC8TQq5/iw/vlIaA1xjxiyQTmaH7Sitr8ekr5qlN6pQP6tImTfyIXoeiYEnSmIlSfiooyHc20R8G84htUZq0FtUFvUpk4ChldO4H6sRzvKXdEw0ISmgRZc7a/DXwRccrscebcKIb5xCWndGeB3CsGTJyBCGoPQtnCcajlLjugk/qgPxO+1h7Eqyw7UFrWpbiemCKBbRlW7lrmgcaAZV/prUXm3CsW3y3D5VgGyenKQ2p2OpM5k8NoTEC6Nxtm2MJxsPoPAxhM4XB+AA1cPwbvmADyqvPFLpQdsM1aodoIVqlUAdRp6bgv5HzBbXHFXgqLbpci9mY/MnmykdIuQ2CFATHs8wqRRONN6ASeaTyOg8TgO1fnDl4C9anzhLvHCnkp3uJTvgXOJC7YUOWN+0nww/jTJMSevvsHs+DRlSOsZFPaW4NLNPOLpYgi70pBAwFHtcbhwLRKnW8/jeHMIOecgHKw7iv1XD2Jf9X78KtmHyNZoiOQi/FiyHZsJ+Ov87/DZZUesEq8H+4SxkjLUCmDinISPY74jcm4Oe3RyVyriO/iIksUS8EWEtJ5DUFMwjhIH86s7Ap8rfvCs9oGbxBO7KtwQ3hKBrgdd6H94D3ypgIAdsD7nc6wWb8DyzDWYy58HyhifJ8ZWT5NMoLGCJ48jsZ2COHkSCSkezl+LQHBLKI40BGJLsRPW5qzDskxbLE5bDBuRDWwzV5DV2SGwNhCdAx0Yed172AdeWyyWpa/ColQbzE1+H7MTLcEOmKagrAkCaAqlWWwZf6kqlMY8+gDZ3jXZazEz0Rym8TPUDg+yetl9Kca/HikeIUUmgEXizAnPml2YDsoaSduMAJrHaSrdWvw9AYcR8LBHu0m4eJtvqRGsDS4k8DlJFlPnxM0AZVHmmABSTGg+31GxW+XRAfi51AWztKxaI/zxELNytXDVoCzKHBNAKhotKrsr9zIe7Vq+G5wEs9EJi1I+hFDKx7zkuTrAk7XCGQGERZlTBLiSuN1Ltn2BcMEEeGF3PoaI8dzObFgJ3nsuuHoBqiNwLNgMu+x1ow9SByrsyoNC+ZiBPFb8h5LrhWrhqTKhTnD1R6BywuWZn0zYejq2FTuj/k7tKEz5RPlccLVOOBKG7DATtZO+yXNATW81npD3ZHhaux5wTWE4kohoktA0cWPOelT3SkZFDMNT9ICbwCJplvpEND4Vm8ZqNrJBJWJIT7h5Ioek5a+wRLRUcyoeX4y0GaMiaEjqCn9X8A62le0ADXGLYLbmYjS+HJtGTdf5TLUNa5E1Kc8+8K09iPkJVk8vx+MbEm1H8bTBTjDFF3lfMlmVNipLREt0a0gmt2TPIsKKZEv3Ki5TU2gZt8+1168lm9yU6noc1MO3FDkxYNojhpH+YW2Gnf5Nqbq2nHHMWPVbbZNuA6firQghpZt2TRHSSGwn/eScYPNnb8s1XUxoDFtGWpD6sAgrxSvhSi4juypJ31f6ExwLSNsl/BicAOMXczF5ba5mr83l9GWN/wE1f784zfWjGwAAAABJRU5ErkJg" alt="[OK]"/>Kmer Content</h2><p>No overrepresented Kmers</p></div></div><div class="footer">Produced by <a href="http://www.bioinformatics.babraham.ac.uk/projects/fastqc/">FastQC</a> (version 0.11.4)</div></body></html>\n\\ No newline at end of file\n' |
b |
diff -r 3a458e268066 -r a00a6402d09a test-data/fastqc_report2.html --- a/test-data/fastqc_report2.html Wed Nov 02 16:12:51 2016 -0400 +++ b/test-data/fastqc_report2.html Wed Feb 08 12:43:43 2017 -0500 |
[ |
b'@@ -1,187 +1,187 @@\n-<html><head><title>1000gsample.fastq FastQC Report</title><style type="text/css">\r\n- @media screen {\r\n- div.summary {\r\n- width: 18em;\r\n- position:fixed;\r\n- top: 3em;\r\n- margin:1em 0 0 1em;\r\n- }\r\n- \r\n- div.main {\r\n- display:block;\r\n- position:absolute;\r\n- overflow:auto;\r\n- height:auto;\r\n- width:auto;\r\n- top:4.5em;\r\n- bottom:2.3em;\r\n- left:18em;\r\n- right:0;\r\n- border-left: 1px solid #CCC;\r\n- padding:0 0 0 1em;\r\n- background-color: white;\r\n- z-index:1;\r\n- }\r\n- \r\n- div.header {\r\n- background-color: #EEE;\r\n- border:0;\r\n- margin:0;\r\n- padding: 0.5em;\r\n- font-size: 200%;\r\n- font-weight: bold;\r\n- position:fixed;\r\n- width:100%;\r\n- top:0;\r\n- left:0;\r\n- z-index:2;\r\n- }\r\n-\r\n- div.footer {\r\n- background-color: #EEE;\r\n- border:0;\r\n- margin:0;\r\n-\tpadding:0.5em;\r\n- height: 1.3em;\r\n-\toverflow:hidden;\r\n- font-size: 100%;\r\n- font-weight: bold;\r\n- position:fixed;\r\n- bottom:0;\r\n- width:100%;\r\n- z-index:2;\r\n- }\r\n- \r\n- img.indented {\r\n- margin-left: 3em;\r\n- }\r\n- }\r\n- \r\n- @media print {\r\n-\timg {\r\n-\t\tmax-width:100% !important;\r\n-\t\tpage-break-inside: avoid;\r\n-\t}\r\n-\th2, h3 {\r\n-\t\tpage-break-after: avoid;\r\n-\t}\r\n-\tdiv.header {\r\n- background-color: #FFF;\r\n- }\r\n-\t\r\n- }\r\n- \r\n- body { \r\n- font-family: sans-serif; \r\n- color: #000; \r\n- background-color: #FFF;\r\n- border: 0;\r\n- margin: 0;\r\n- padding: 0;\r\n- }\r\n- \r\n- div.header {\r\n- border:0;\r\n- margin:0;\r\n- padding: 0.5em;\r\n- font-size: 200%;\r\n- font-weight: bold;\r\n- width:100%;\r\n- } \r\n- \r\n- #header_title {\r\n- display:inline-block;\r\n- float:left;\r\n- clear:left;\r\n- }\r\n- #header_filename {\r\n- display:inline-block;\r\n- float:right;\r\n- clear:right;\r\n- font-size: 50%;\r\n- margin-right:2em;\r\n- text-align: right;\r\n- }\r\n-\r\n- div.header h3 {\r\n- font-size: 50%;\r\n- margin-bottom: 0;\r\n- }\r\n- \r\n- div.summary ul {\r\n- padding-left:0;\r\n- list-style-type:none;\r\n- }\r\n- \r\n- div.summary ul li img {\r\n- margin-bottom:-0.5em;\r\n- margin-top:0.5em;\r\n- }\r\n-\t \r\n- div.main {\r\n- background-color: white;\r\n- }\r\n- \r\n- div.module {\r\n- padding-bottom:1.5em;\r\n- padding-top:1.5em;\r\n- }\r\n-\t \r\n- div.footer {\r\n- background-color: #EEE;\r\n- border:0;\r\n- margin:0;\r\n- padding: 0.5em;\r\n- font-size: 100%;\r\n- font-weight: bold;\r\n- width:100%;\r\n- }\r\n-\r\n-\r\n- a {\r\n- color: #000080;\r\n- }\r\n-\r\n- a:hover {\r\n- color: #800000;\r\n- }\r\n- \r\n- h2 {\r\n- color: #800000;\r\n- padding-bottom: 0;\r\n- margin-bottom: 0;\r\n- clear:left;\r\n- }\r\n-\r\n- table { \r\n- margin-left: 3em;\r\n- text-align: center;\r\n- }\r\n- \r\n- th { \r\n- text-align: center;\r\n- background-color: #000080;\r\n- color: #FFF;\r\n- padding: 0.4em;\r\n- } \r\n- \r\n- td { \r\n- font-family: monospace; \r\n- text-align: left;\r\n- background-color: #EEE;\r\n- color: #000;\r\n- padding: 0.4em;\r\n- }\r\n-\r\n- img {\r\n- padding-top: 0;\r\n- margin-top: 0;\r\n- border-top: 0;\r\n- }\r\n-\r\n- \r\n- p {\r\n- padding-top: 0;\r\n- margin-top: 0;\r\n- }\r\n+<html><head><title>1000gsample.fastq FastQC Report</title><style type="text/css">\n+ @media screen {\n+ div.summary {\n+ width: 18em;\n+ position:fixed;\n+ top: 3em;\n+ margin:1em 0 0 1em;\n+ }\n+ \n+ div.main {\n+ display:block;\n+ position:absolute;\n+ overflow:auto;\n+ height:auto;\n+ width:auto;\n+ top:4.5em;\n+ bottom:2.3em;\n+ left:18em;\n+ right:0;\n+ border-left: 1px solid #CCC;\n+ padding:0 0 0 1em;\n+ background-color: white;\n+ z-index:1;\n+ }\n+ \n+ div.header {\n+ background-color: #EEE;\n+ border:0;\n+ margin:0;\n+ padding: 0.5em;\n+ font-size: 200%;\n+ font-weight: bold;\n+ position:fixed;\n+ width:100%;\n+ top:0;\n+ left:0;\n+ z-index:2;\n+ }\n+\n+ div.footer {\n+ background-color: #EEE;\n+ border:0;\n+ margin:0;\n+\tpadding:0.5em;\n+ height: 1.3em;\n+\toverflow:hidden;\n+ font-size: 100%;\n+ font-weight: bold;\n+ position:fixed;\n+ bottom:0;\n+ width:100%;\n+ z-'..b'Xtx+o/acs1pitD/987+X/GW9gHTbs7ifv2zczMzMb677w3NcO47aBwGraD/77x+effjD1z11P3Hv6sbPL//VW3spbjeutnrx3/uxX5v/x1flzX59/5+H9713a//7l/Rce3X/x8do/n3/mgdPfnH/+2w80vYK38lbeyltt8K0+/PPDV14u8NN+AweWmZmZ2eQnsMzMzMx6C6xF0Z8iNDMzMxNYH3VVqd+DZWZmZiaw+pdy0y0v+7rEYtJbzU6u1/tkVtkY7sPA6xRP9pFYGZ8nXaztvQ8D73OqVvHPjbDlvHxuTPJzo+m+2i5r6CtVGQmS8XnZ8flkqe3S/a7Ieye93hurd0LMmzR9Kel4L0VaeZ8nHe/k4v+Sh+/Dsndj+D4sZQXOpfjnRpPVx+dG6/ssG8St92Hf59X350bTbenjPmx6/318bjT9i9b37er7cyNwRsW/JEa6xa0inxtjD6wib5562SbpTQb4kDq+h+zASnqrYb5hZ38wxa3Uz5Mi0TOk1Qc9zBflmIPr1erjc2OAbzAjOS+fGz43mu6rIa0y3+gFVsdP0OzH7BbdLuEKrA0G1sBX5vq4JC6werL6/ia39v57fdaswPK5sanzarrKOJi1c4HV9zOcuv8LkPQg5qrV5ZHT1ArMuC0xbziewBryYbsBoqfL50nG7ervi/Iw/5/oSC5RDPPduqfPjabb1VPoBx6aKf51I/xMx15vV69fN6r3YX9fNwZ7Htt4Amuyz8EassyKPGg92LPEun8DSPp3aVsCa4Bv1T09KWrj92Hfz6XYlLWRuhrgU3Ey5zWGK1gDPBbf6+fGBu/DAZ672evnYeu5dGqPrQisYR5YzP4ZvYEDq2ON9XS7xhBYg30t7v55slOB5XPDeY05sHp9xtLalaRhLhJPILBq76shrTLtMf7A6v4mvaLZP2uQfQl3mMBK/f+3NvtQ2gD/T+EA37Zb78Nt/CbaWjyTqav+0Jj7sNfzmupPES4Gv9A4/O3q+6cjB364f7CH4IsQG/g9WGP+zU/Zl5QG+01dXZ4clv0RZp9sf7+bqvY5B2W5mHfY9+0a8j4cwGo6sl6tAT43+v4muvH7cDHR303V01Wlwb5uLKb7u8QC0TPY80QLPKK1MDMzM7OyxeYuMDMzMxNYZmZmZgLLzMzMTGCZmZmZmcAyMzMzE1hmZmZmAsvMzMzMBJaZmZmZwDIzMzMTWGZm0/mC2PzfNsn+j6D19J/1MDOBZWbjaoju/z2vvv/79iMMrC4fnsAyE1hmNv3AKvi9f2LpILDMTGCZWeHAarqyVX3hh3+vvn7re1t7w/BHGP/Kax9D+FYEXl6rRL5++P1oLDOBZWa7GFjVRqltpqa/xL+31qtBqa9crZzwrYj5OFsDK+lmCiwzgWVm0w+swLWlQEvF/NPsl3d/5fg36YnI+0jMTGCZ2UQCK+bltQ9+bUVgJT2EJ7DMTGCZ2WYCKxATI7+C1bGKBJaZCSwz6xpYwzwHq+/Aar3SFv/EqVol4zlY6spMYJnZjgbWIv2nCKv/KPKnCPsLrMhbEf/Tf+HbFfl+BJaZwDIzs/r0zCtXv8ndTGCZmVl+hLkTzExgmZkJLDMTWGZmZmYCy8zMzGw39w+cI8K4UYXsgAAAAABJRU5ErkJg" alt="Adapter graph" width="800" height="600"/></p></div><div class="module"><h2 id="M11"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFlUlEQVR42s2XCUzTVxzHybIs0IgCLYqyQ9RtmhjCNKKbikajYVc22NThNjYjeC0yWBESxAV1Ckw8QEUF5ChnS4FyFETucwWU+7ClHKKiImLI4nCz9bv3/pS7ra1HtM1Lm/b/fp/ve+93PQMABq9y6D/Bz+ANNvethWxPw3Xs3wx/YAb9Tn6j/700AeZc1qccrhGPw2UNkk8Fx9voIceX9Tcz6Hf62/B/PPrsCxNgzjW043iyGjheRkOWQRzFt2IH/Nl4DDFyHjJ6siDoSoZ/YwB2VuyEffpGzA5iK+izdA6d+8wCyHa+SYyEsj2N/jU/aaL0vbIf0sF2tA92oOVBG+ruN6CqrwZldypR0FuMnBuXkX49C5GyaGwq3ASLU2ZKOpfaoLb0EmDibmLC8TQq5/iw/vlIaA1xjxiyQTmaH7Sitr8ekr5qlN6pQP6tImTfyIXoeiYEnSmIlSfiooyHc20R8G84htUZq0FtUFvUpk4ChldO4H6sRzvKXdEw0ISmgRZc7a/DXwRccrscebcKIb5xCWndGeB3CsGTJyBCGoPQtnCcajlLjugk/qgPxO+1h7Eqyw7UFrWpbiemCKBbRlW7lrmgcaAZV/prUXm3CsW3y3D5VgGyenKQ2p2OpM5k8NoTEC6Nxtm2MJxsPoPAxhM4XB+AA1cPwbvmADyqvPFLpQdsM1aodoIVqlUAdRp6bgv5HzBbXHFXgqLbpci9mY/MnmykdIuQ2CFATHs8wqRRONN6ASeaTyOg8TgO1fnDl4C9anzhLvHCnkp3uJTvgXOJC7YUOWN+0nww/jTJMSevvsHs+DRlSOsZFPaW4NLNPOLpYgi70pBAwFHtcbhwLRKnW8/jeHMIOecgHKw7iv1XD2Jf9X78KtmHyNZoiOQi/FiyHZsJ+Ov87/DZZUesEq8H+4SxkjLUCmDinISPY74jcm4Oe3RyVyriO/iIksUS8EWEtJ5DUFMwjhIH86s7Ap8rfvCs9oGbxBO7KtwQ3hKBrgdd6H94D3ypgIAdsD7nc6wWb8DyzDWYy58HyhifJ8ZWT5NMoLGCJ48jsZ2COHkSCSkezl+LQHBLKI40BGJLsRPW5qzDskxbLE5bDBuRDWwzV5DV2SGwNhCdAx0Yed172AdeWyyWpa/ColQbzE1+H7MTLcEOmKagrAkCaAqlWWwZf6kqlMY8+gDZ3jXZazEz0Rym8TPUDg+yetl9Kca/HikeIUUmgEXizAnPml2YDsoaSduMAJrHaSrdWvw9AYcR8LBHu0m4eJtvqRGsDS4k8DlJFlPnxM0AZVHmmABSTGg+31GxW+XRAfi51AWztKxaI/zxELNytXDVoCzKHBNAKhotKrsr9zIe7Vq+G5wEs9EJi1I+hFDKx7zkuTrAk7XCGQGERZlTBLiSuN1Ltn2BcMEEeGF3PoaI8dzObFgJ3nsuuHoBqiNwLNgMu+x1ow9SByrsyoNC+ZiBPFb8h5LrhWrhqTKhTnD1R6BywuWZn0zYejq2FTuj/k7tKEz5RPlccLVOOBKG7DATtZO+yXNATW81npD3ZHhaux5wTWE4kohoktA0cWPOelT3SkZFDMNT9ICbwCJplvpEND4Vm8ZqNrJBJWJIT7h5Ioek5a+wRLRUcyoeX4y0GaMiaEjqCn9X8A62le0ADXGLYLbmYjS+HJtGTdf5TLUNa5E1Kc8+8K09iPkJVk8vx+MbEm1H8bTBTjDFF3lfMlmVNipLREt0a0gmt2TPIsKKZEv3Ki5TU2gZt8+1168lm9yU6noc1MO3FDkxYNojhpH+YW2Gnf5Nqbq2nHHMWPVbbZNuA6firQghpZt2TRHSSGwn/eScYPNnb8s1XUxoDFtGWpD6sAgrxSvhSi4juypJ31f6ExwLSNsl/BicAOMXczF5ba5mr83l9GWN/wE1f784zfWjGwAAAABJRU5ErkJg" alt="[OK]"/>Kmer Content</h2><p>No overrepresented Kmers</p></div></div><div class="footer">Produced by <a href="http://www.bioinformatics.babraham.ac.uk/projects/fastqc/">FastQC</a> (version 0.11.4)</div></body></html>\n\\ No newline at end of file\n' |