lederhosen 1.4.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source :rubygems
2
2
 
3
- gem 'dna', '0.0.12'
3
+ gem 'dna', '0.1.2'
4
4
  gem 'progressbar'
5
5
  gem 'thor'
6
6
 
data/lederhosen.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "lederhosen"
8
- s.version = "1.4.0"
8
+ s.version = "1.6.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Austin G. Davis-Richardson"]
@@ -36,6 +36,7 @@ Gem::Specification.new do |s|
36
36
  "lib/lederhosen/tasks/split_fasta.rb",
37
37
  "lib/lederhosen/tasks/trim.rb",
38
38
  "lib/lederhosen/tasks/version.rb",
39
+ "lib/lederhosen/trimmer.rb",
39
40
  "lib/lederhosen/version.rb",
40
41
  "readme.md",
41
42
  "spec/cli_spec.rb",
@@ -43,10 +44,11 @@ Gem::Specification.new do |s|
43
44
  "spec/data/ILT_L_9_B_001_3.txt.gz",
44
45
  "spec/data/ILT_L_9_B_002_1.txt.gz",
45
46
  "spec/data/ILT_L_9_B_002_3.txt.gz",
47
+ "spec/data/example.fastq",
46
48
  "spec/data/test.uc",
47
- "spec/misc_spec.rb",
48
49
  "spec/no_tasks_spec.rb",
49
- "spec/spec_helper.rb"
50
+ "spec/spec_helper.rb",
51
+ "spec/trimmer_spec.rb"
50
52
  ]
51
53
  s.homepage = "http://audy.github.com/lederhosen"
52
54
  s.licenses = ["MIT"]
@@ -58,7 +60,7 @@ Gem::Specification.new do |s|
58
60
  s.specification_version = 3
59
61
 
60
62
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
- s.add_runtime_dependency(%q<dna>, ["= 0.0.12"])
63
+ s.add_runtime_dependency(%q<dna>, ["= 0.1.2"])
62
64
  s.add_runtime_dependency(%q<progressbar>, [">= 0"])
63
65
  s.add_runtime_dependency(%q<thor>, [">= 0"])
64
66
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
@@ -66,7 +68,7 @@ Gem::Specification.new do |s|
66
68
  s.add_development_dependency(%q<jeweler>, [">= 0"])
67
69
  s.add_development_dependency(%q<ruby-prof>, [">= 0"])
68
70
  else
69
- s.add_dependency(%q<dna>, ["= 0.0.12"])
71
+ s.add_dependency(%q<dna>, ["= 0.1.2"])
70
72
  s.add_dependency(%q<progressbar>, [">= 0"])
71
73
  s.add_dependency(%q<thor>, [">= 0"])
72
74
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
@@ -75,7 +77,7 @@ Gem::Specification.new do |s|
75
77
  s.add_dependency(%q<ruby-prof>, [">= 0"])
76
78
  end
77
79
  else
78
- s.add_dependency(%q<dna>, ["= 0.0.12"])
80
+ s.add_dependency(%q<dna>, ["= 0.1.2"])
79
81
  s.add_dependency(%q<progressbar>, [">= 0"])
80
82
  s.add_dependency(%q<thor>, [">= 0"])
81
83
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
@@ -13,39 +13,59 @@ module Lederhosen
13
13
  method_option :reads_dir, :type => :string, :required => true
14
14
  method_option :out_dir, :type => :string, :required => true
15
15
  method_option :pretrim, :type => :numeric, :default => 11
16
+ method_option :read_type, :type => :string, :default => 'qseq'
17
+ method_option :min_length, :type => :numeric, :default => 75
16
18
 
17
19
  def trim
18
- raw_reads = options[:reads_dir]
19
- out_dir = options[:out_dir]
20
- pretrim = options[:pretrim]
20
+ raw_reads = options[:reads_dir]
21
+ out_dir = options[:out_dir]
22
+ pretrim = options[:pretrim]
23
+ read_type = options[:read_type]
24
+ min_length = options[:min_length]
21
25
 
22
26
  ohai "trimming #{File.dirname(raw_reads)} and saving to #{out_dir}"
23
-
24
27
  run "mkdir -p #{out_dir}"
25
28
 
26
- raw_reads = get_grouped_qseq_files raw_reads
29
+ raw_reads =
30
+ if read_type == 'qseq'
31
+ get_grouped_qseq_files(raw_reads)
32
+ elsif read_type == 'fastq'
33
+ r = Dir[raw_reads].map do |x|
34
+ [ File.basename(x, '.fastq'), x ]
35
+ end
36
+ Hash[r]
37
+ end
38
+
39
+ if raw_reads.size == 0
40
+ ohno 'glob matches no reads'
41
+ end
42
+
43
+ raw_reads.map do |prefix, files|
27
44
 
28
- ohai "found #{raw_reads.length} pairs of reads"
45
+ # get an output handle
46
+ out = File.join(out_dir, "#{File.basename(prefix)}.fasta")
47
+
48
+ # create the trimmed sequence generator
49
+ trimmer =
50
+ if read_type == 'qseq'
51
+ Trimmer::QSEQTrimmer.new(*files)
52
+ elsif read_type == 'fastq'
53
+ Trimmer::InterleavedTrimmer.new(files)
54
+ end
55
+
56
+ # trim and write
57
+ File.open(out, 'w') do |o|
58
+ trimmer.each do |trimmed_record|
59
+ o.puts trimmed_record
60
+ end
61
+ end # File.open
29
62
 
30
- pbar = ProgressBar.new "trimming", raw_reads.length
31
- raw_reads.each do |a|
32
- pbar.inc
33
- out = File.join(out_dir, "#{File.basename(a[0])}.fasta")
34
- # TODO get total and trimmed
35
- total, trimmed = trim_pairs a[1][0], a[1][1], out, :min_length => 70
36
63
  end
37
- pbar.finish
38
64
 
39
65
  end
40
66
 
41
67
  no_tasks do
42
68
 
43
- # reverse complement a DNA sequence
44
- # assumes only GATCN nucleotides
45
- def reverse_complement(s)
46
- s.reverse.tr('GATCNgatcn','CTAGNctagn')
47
- end
48
-
49
69
  # Function for grouping qseq files produced by splitting illumina
50
70
  # reads by barcode
51
71
  #
@@ -55,81 +75,7 @@ module Lederhosen
55
75
  Dir.glob(glob).group_by { |x| File.basename(x).split('_')[0..4].join('_') }
56
76
  end
57
77
 
58
- # Trim a pair of QSEQ files. Saves to a single,
59
- # interleaved .fasta file
60
- def trim_pairs(left, right, out, args={})
61
- cutoff = args[:cutoff] || 20
62
- min_length = args[:min_length] || 70
63
-
64
- left_handle, right_handle =
65
- begin
66
- [ Zlib::GzipReader.open(left), Zlib::GzipReader.open(right)]
67
- rescue Zlib::GzipFile::Error
68
- [ File.open(left), File.open(right) ]
69
- end
70
-
71
- out_handle = File.open out, 'w'
72
-
73
- left_reads = Dna.new left_handle
74
- right_reads = Dna.new right_handle
75
-
76
- i = 0
77
- left_reads.zip(right_reads).each do |a, b|
78
- i += 1
79
- seqa = trim_seq a
80
- seqb = trim_seq b
81
- unless [seqa, seqb].include? nil
82
- if seqb.length >= min_length && seqa.length >= min_length
83
- seqb = reverse_complement(seqb)
84
- out_handle.puts ">#{i}:0\n#{seqa}\n>#{i}:1\n#{seqb}"
85
- end
86
- end
87
- end
88
- left_handle.close
89
- right_handle.close
90
- out_handle.close
91
- end
92
-
93
- # Return longest subsequence with quality scores
94
- # greater than min. (Illumina PHRED)
95
- # Trim2 from Huang, et. al
96
- # returns just the sequence
97
- def trim_seq(dna, args={})
98
-
99
-
100
- pretrim = args[:pretrim] || false
101
- # trim primers off of sequence
102
- # XXX this is experiment-specific and needs to be made
103
- # into a parameter
104
- if pretrim
105
- dna.sequence = dna.sequence[pretrim..-1]
106
- dna.quality = dna.quality[pretrim..-1]
107
- end
108
-
109
- # throw away any read with an ambiguous primer
110
- return nil if dna.sequence =~ /N/
111
-
112
- min = args[:min] || 20 # what is this constant?
113
- offset = args[:cutoff] || 64 # XXX depends on sequencing tech.
114
-
115
- _sum, _max, first, last, start, _end = 0, 0, 0, 0, 0
116
-
117
- dna.quality.each_byte.each_with_index do |b, a|
118
- _sum += (b - offset - min)
119
- if _sum > _max
120
- _max = _sum
121
- _end = a
122
- start = first
123
- elsif _sum < 0
124
- _sum = 0
125
- first = a
126
- end
127
- end
128
-
129
- # XXX why is this rescue statement here?
130
- dna.sequence[start + 11, _end - start].gsub('.', 'N') rescue nil
131
- end
132
- end
78
+ end # no_tasks
133
79
 
134
80
  end
135
81
  end
@@ -0,0 +1,126 @@
1
+ module Lederhosen
2
+ module Trimmer
3
+
4
+ # Base class for trimming paired-end reads
5
+ class PairedTrimmer < Enumerator
6
+ def initialize(paired_iterator, args = {})
7
+ @paired_iterator = paired_iterator
8
+ @pretrim = args[:pretrim]
9
+ @min_length = args[:min_length] || 70
10
+ end
11
+
12
+ def each(&block)
13
+ @paired_iterator.each_with_index do |a, i|
14
+ seqa = trim_seq a[0], :pretrim => @pretrim
15
+ seqb = trim_seq a[1], :pretrim => @pretrim
16
+ unless [seqa, seqb].include? nil
17
+ if seqb.length >= @min_length && seqa.length >= @min_length
18
+ seqb = reverse_complement(seqb) # experiment-specific?
19
+ a = Fasta.new :name => "#{i}:0", :sequence => seqa
20
+ b = Fasta.new :name => "#{i}:1", :sequence => seqb
21
+ block.yield a
22
+ block.yield b
23
+ else # we just skip bad reads entirely
24
+ next
25
+ end
26
+ else
27
+ next
28
+ end
29
+ end
30
+ end
31
+
32
+ # reverse complement a DNA sequence
33
+ # assumes only GATCN nucleotides
34
+ def reverse_complement(s)
35
+ s.reverse.tr('GATCNgatcn','CTAGNctagn')
36
+ end
37
+
38
+ # this method does the actual trimming. It is a class method
39
+ # so you can use it if you don't want to initialize a PairedTrimmer
40
+ def trim_seq(dna, args={})
41
+ pretrim = args[:pretrim] || false
42
+
43
+ # trim primers off of sequence
44
+ # XXX this is experiment-specific and needs to be made
45
+ # into a parameter
46
+ if pretrim
47
+ dna.sequence = dna.sequence[pretrim..-1]
48
+ dna.quality = dna.quality[pretrim..-1]
49
+ end
50
+
51
+ dna.sequence.gsub! '.', 'N'
52
+
53
+ min = args[:min] || 20 # what is this constant?
54
+ offset = args[:cutoff] || 64 # XXX depends on sequencing tech.
55
+
56
+ _sum, _max, first, last, start, _end = 0, 0, 0, 0, 0
57
+
58
+ dna.quality.each_byte.each_with_index do |b, a|
59
+ _sum += (b - offset - min)
60
+ if _sum > _max
61
+ _max = _sum
62
+ _end = a
63
+ start = first
64
+ elsif _sum < 0
65
+ _sum = 0
66
+ first = a
67
+ end
68
+ end
69
+
70
+ dna.sequence[start, _end - start] rescue nil
71
+ end
72
+
73
+ end
74
+
75
+ #
76
+ # Yields trimmed fasta records given an input
77
+ # interleaved, paired-end fastq file
78
+ class InterleavedTrimmer < PairedTrimmer
79
+
80
+ def initialize(interleaved_file, args = {})
81
+ # create an iterator that yields paired records
82
+ # as an array
83
+
84
+ handle =
85
+ begin
86
+ Zlib::GzipReader.open(interleaved_file)
87
+ rescue Zlib::GzipFile::Error
88
+ File.open(interleaved_file)
89
+ end
90
+
91
+ reads = Dna.new handle
92
+ iterator = reads.each_slice(2)
93
+
94
+ super(iterator, args)
95
+
96
+ end
97
+ end
98
+
99
+ # Yield trimmed fasta records given an two separate
100
+ # paired QSEQ files
101
+ class QSEQTrimmer < PairedTrimmer
102
+ def initialize(left_file, right_file, args = {})
103
+ # create an iterator that yields paired records
104
+ # as an array
105
+
106
+ left_handle, right_handle =
107
+ begin
108
+ [ Zlib::GzipReader.open(left_file), Zlib::GzipReader.open(right_file)]
109
+ rescue Zlib::GzipFile::Error
110
+ [ File.open(left_file), File.open(right_file) ]
111
+ end
112
+
113
+ left_file_reads = Dna.new left_handle
114
+ right_reads = Dna.new right_handle
115
+
116
+ iterator = left_file_reads.zip(right_reads)
117
+
118
+ super(iterator, args)
119
+
120
+ left_handle.close
121
+ right_handle.close
122
+ end
123
+ end
124
+
125
+ end # module Trimmer
126
+ end # module Lederhosen
@@ -1,8 +1,8 @@
1
1
  module Lederhosen
2
2
  module Version
3
3
  MAJOR = 1
4
- MINOR = 4
5
- CODENAME = 'Strickjacke' # changes for minor versions
4
+ MINOR = 6
5
+ CODENAME = 'Sauerkraut' # changes for minor versions
6
6
  PATCH = 0
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH].join('.')
data/lib/lederhosen.rb CHANGED
@@ -6,16 +6,3 @@ require 'progressbar'
6
6
  require 'thor'
7
7
 
8
8
  Dir.glob(File.join(File.dirname(__FILE__), 'lederhosen', '*.rb')).each { |f| require f }
9
-
10
- ##
11
- # Here I extend the string class to add the to_kmers method
12
- #
13
- # Does it really need to be a method of String? Sure, why not?
14
- #
15
- class String
16
- def to_kmers(k)
17
- return [] if k == 0
18
- k -= 1
19
- (0..(self.length-k-1)).collect { |i| self[i..i+k] }
20
- end
21
- end
data/readme.md CHANGED
@@ -38,12 +38,16 @@ Lederhosen is invoked by typing `lederhosen [TASK]`
38
38
 
39
39
  ### Trim Reads
40
40
 
41
- Trim (Illumina) reads using quality scores. Output will be a directory of fasta files. Reads can optionally be gzipped.
41
+ Trim (Illumina, QSEQ format) reads using quality scores. Output will be a directory of fasta files. Reads can optionally be gzipped.
42
42
 
43
43
  lederhosen trim --reads_dir=reads/*.txt --out_dir=trimmed/
44
44
 
45
45
  The trimming process will reverse complement the "right" pair so that both reads are in the forward orientation.
46
46
 
47
+ You can also trim interleaved, paired-end FASTQ files:
48
+
49
+ lederhosen trim --reads_dir=reads/*.fastq --out_dir=trimmed/ read-type='fastq'
50
+
47
51
  ### Create Database
48
52
 
49
53
  Create UDB database required by usearch from TaxCollector
@@ -65,6 +69,7 @@ lederhosen cluster \
65
69
  --output=clusters_95.uc \
66
70
  --database=taxcollector.udb
67
71
  ```
72
+
68
73
  ### Generate OTU table(s)
69
74
 
70
75
  Create an OTU abundance table where rows are samples and columns are clusters. The entries are the number of reads for that cluster in a sample.
data/spec/cli_spec.rb CHANGED
@@ -12,11 +12,16 @@ describe Lederhosen::CLI do
12
12
  $?.success?.should be_true
13
13
  end
14
14
 
15
- it 'should trim reads' do
15
+ it 'should trim paired QSEQ reads' do
16
16
  `./bin/lederhosen trim --reads-dir=spec/data/IL*.txt.gz --out-dir=#{$test_dir}/trimmed`
17
17
  $?.success?.should be_true
18
18
  end
19
19
 
20
+ it 'should trim paired, interleaved FASTQ reads' do
21
+ `./bin/lederhosen trim --reads-dir=spec/data/example.fastq --out-dir=#{$test_dir}/trimmed --read-type fastq`
22
+ $?.success?.should be_true
23
+ end
24
+
20
25
  it 'can create a usearch udb using usearch' do
21
26
  `./bin/lederhosen make_udb --input #{$test_dir}/trimmed/ILT_L_9_B_001.fasta --output #{$test_dir}/test_db.udb`
22
27
  $?.success?.should be_true
@@ -0,0 +1,400 @@
1
+ @HWUSI-EAS163FR:13:1:13:8520:20401:0:1:1
2
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGAGCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
3
+ +HWUSI-EAS163FR:13:1:13:8520:20401:0:1:1
4
+ hhhhhhhhhh[ffffhhhghhhhhhR`de\EHXKUdffefhhghhhceh`aaccfedWeedddedVaQd^Y[HR[ZJTQZMNTSWbcad_bdad]^ZQU_B
5
+ @HWUSI-EAS163FR:13:1:13:8520:20401:0:3:1
6
+ GNNNACTACCGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
7
+ +HWUSI-EAS163FR:13:1:13:8520:20401:0:3:1
8
+ aBBB[_a__T]BBBTW_\_V]^]J]^____afWfffff[ffffffT\B^\^\LY\eeffed_fWfTPY[[_bZL`[cacchggea``Zb`Ua`ca
9
+ @HWUSI-EAS163FR:13:1:13:11817:20423:0:1:1
10
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTATTGGGCGTAAGGCGCGCGCAGGCGGATTGGTCAGTCTGTCTTAAAAGTTC
11
+ +HWUSI-EAS163FR:13:1:13:11817:20423:0:1:1
12
+ hhhhhhhhhhhhhhhhhhfhghgghacffaffdddhfhghhgffhf_affafddddagddddfagaeae]_ca_ce\acaY\VV^a\_ca_``S\[Z_^_Z
13
+ @HWUSI-EAS163FR:13:1:13:11817:20423:0:3:1
14
+ GNNNACTCACGNNNATCTAATCCCGTTTGCTCCCCTGGCTTTCGCGCCTCAGCGTCAGTTTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTCT
15
+ +HWUSI-EAS163FR:13:1:13:11817:20423:0:3:1
16
+ aBBBY____]]BBBI^WTV^fafdedfZfd^edd_ehhghhhdh[f]Wfdghehggdfhhhhhfgdgcgdgg_ffdccefacc[acfccBBBBBB
17
+ @HWUSI-EAS163FR:13:1:13:17330:20421:0:1:1
18
+ GTGCGCTAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGACAGTTT
19
+ +HWUSI-EAS163FR:13:1:13:17330:20421:0:1:1
20
+ fff[fbKdebffffagcgggeggfgcfcfaffdScfaffdgggggSdfffggegSRbec[c\fccJeJdd`eJ_e^KcR_ee^WWW[aadfdccSI]VO`a
21
+ @HWUSI-EAS163FR:13:1:13:17330:20421:0:3:1
22
+ GNNNACTACACNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
23
+ +HWUSI-EAS163FR:13:1:13:17330:20421:0:3:1
24
+ aBBB_aaaaa\BBBZ_`__\hehhghhhhfhhhhhghhhgggehghgahhghahheff]daaW]f]dffW]ccc]eeehchhfghfa^Lb^W]``
25
+ @HWUSI-EAS163FR:13:1:13:17318:20444:0:1:1
26
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
27
+ +HWUSI-EAS163FR:13:1:13:17318:20444:0:1:1
28
+ ggggggggggfgggggggggggggeffff[`adadggggg_fcfffedfdgfgggf_affedfdfWfdfdcfWcfbRb_]bbb`beg_]ceebecdaeac]
29
+ @HWUSI-EAS163FR:13:1:13:17318:20444:0:3:1
30
+ GNNNACTACACNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
31
+ +HWUSI-EAS163FR:13:1:13:17318:20444:0:3:1
32
+ ^BBBV_aa_UTBBBTZ_\_Yghhhcfffdffh_hhffddf_ffffadffeff_[edffdbcaaWc_W]b_Z`Z\`]``b`ehfefcW_W__a_aa
33
+ @HWUSI-EAS163FR:13:1:13:7273:20455:0:1:1
34
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
35
+ +HWUSI-EAS163FR:13:1:13:7273:20455:0:1:1
36
+ hhhhhhhhhhhhhhhhhhghhhhghadffZaccc`hggfhfhffh_[^bLW\XX[a_cc_badccV^X_Y\`Y\^a\__^aaZWaaa\ebadac_ZZ`V_^
37
+ @HWUSI-EAS163FR:13:1:13:7273:20455:0:3:1
38
+ GNNNACTACGCNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
39
+ +HWUSI-EAS163FR:13:1:13:7273:20455:0:3:1
40
+ ^BBBWX^_ZWWBBBTW_W]XhhehhfhhhdehchhhhhhhhhhhhY`B``\^\\^hhhfgghgdfa]ddec[dfadedccfdfcbb]Lbb\^_^_
41
+ @HWUSI-EAS163FR:13:1:13:10932:20593:0:1:1
42
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
43
+ +HWUSI-EAS163FR:13:1:13:10932:20593:0:1:1
44
+ hhhhhhhhhhhhhhhhhhhhhhhhhhehhdehhhdhghghfhghhhahhhchhhhhdhhdaaffe^b`b`^b^`bdadddddb_eabadbcece_][`_`\
45
+ @HWUSI-EAS163FR:13:1:13:10932:20593:0:3:1
46
+ GNNNACTACGGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
47
+ +HWUSI-EAS163FR:13:1:13:10932:20593:0:3:1
48
+ aBBBX\a\\^\BBBZY_Z_Yeffffhhhhgchhhhhgfgghhhgh_`B`a``_`bfdhhfdegchfffegddffffffdfhdfabdcadd]cac`
49
+ @HWUSI-EAS163FR:13:1:13:9788:20737:0:1:1
50
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
51
+ +HWUSI-EAS163FR:13:1:13:9788:20737:0:1:1
52
+ gggggggggggggggggeagfffffffdgegggfffggggggggfgegggfgggdb_Ydbb_bddegggddfbdfdaddaddddddgfggcebdJ[Y^\^d
53
+ @HWUSI-EAS163FR:13:1:13:9788:20737:0:3:1
54
+ GNNNACTACAGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCTGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
55
+ +HWUSI-EAS163FR:13:1:13:9788:20737:0:3:1
56
+ ^BBBU]]_]][BBBZ^````ghhghhhhhhgghhhhgghhhhhhg_bBbbbb```bgggdSDFFPRHUPOcdadddcdeffddbaedbaaX_Oa_
57
+ @HWUSI-EAS163FR:13:1:13:9788:20763:0:1:1
58
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
59
+ +HWUSI-EAS163FR:13:1:13:9788:20763:0:1:1
60
+ hhhhhhhhhhhhhhhhhhghghhhhhghhgghhhdfhhghehhhhhdhhgfhhhhdb]fdddhhhdgdhddfadfa_bdafgfffdhffffhdfcd`gddd
61
+ @HWUSI-EAS163FR:13:1:13:9788:20763:0:3:1
62
+ GNNNACTACAGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
63
+ +HWUSI-EAS163FR:13:1:13:9788:20763:0:3:1
64
+ aBBBY_a_a_^BBBZ\aaa_hhhhhhhhhhghhhhhhhhhhhhgg`aB`dddbbdfghhhXGIGXUSSSUfhfhefcfhhhcfhgddbeaad^dc
65
+ @HWUSI-EAS163FR:13:1:13:15892:20797:0:1:1
66
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
67
+ +HWUSI-EAS163FR:13:1:13:15892:20797:0:1:1
68
+ hhhhhhhhhhhhhhhhhhhhhhhhhhghh[fcffdhhhhhfhghhfbfffdhhhhfddfdddhhf_fafa`b]`bcaca_ddbaedaaee_dada__aac_
69
+ @HWUSI-EAS163FR:13:1:13:15892:20797:0:3:1
70
+ GNNNACTACGGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
71
+ +HWUSI-EAS163FR:13:1:13:15892:20797:0:3:1
72
+ aBBB[_a__\_BBBW\a^a\ghhhghhhhhghahhhhfchhhhhgbgfggghffhfgghfecdae[a_aa_dRbacdddedbfddd`\da[baab
73
+ @HWUSI-EAS163FR:13:1:13:6920:20815:0:1:1
74
+ GTGTGCCAGCCGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATCATTGGGCGTAAAGCGCGCGCAGGCGGATAGGTCAGTCTGTCTCAAAAGTTC
75
+ +HWUSI-EAS163FR:13:1:13:6920:20815:0:1:1
76
+ hhhhhhhhhhhhhhhhhhfhghhhheghhddfeddhgggghgfhhb^^bH^^^`^fdgdffdfcgaeccaaddacaaaa`a^a`d_^\`^\UQNX^\_^_]
77
+ @HWUSI-EAS163FR:13:1:13:6920:20815:0:3:1
78
+ GNNNACTACGCNNNTATCTAATCCCGTTCGCTCCCCTGGCTTTCGCGNCTCAGCGTCAGTTTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
79
+ +HWUSI-EAS163FR:13:1:13:6920:20815:0:3:1
80
+ aBBB[_aa_a]BBBXZ`]__hhghafhhdhfhhhhhhgfhhhhhhbdBdd`bdbeghhhgghgghffghhcadhadededhchafbabddHb_b^
81
+ @HWUSI-EAS163FR:13:1:13:17972:20814:0:1:1
82
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGATCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
83
+ +HWUSI-EAS163FR:13:1:13:17972:20814:0:1:1
84
+ hhhhhhhhhhhhhhhhhhghhhhhhhgahggghhghhhghhhghhgehhhfhhhhabdfdbdhgebedhcahadhdadccddcbddfdddfheeaaabbdd
85
+ @HWUSI-EAS163FR:13:1:13:17972:20814:0:3:1
86
+ GNNNACTACGCNNNTATCTAANCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
87
+ +HWUSI-EAS163FR:13:1:13:17972:20814:0:3:1
88
+ aBBBYaaaa\_BBBYZ`__]dBeeeddeeeghghhfghhhhhhhhghhhhhhhfhfhhghfhhfhdggfdhgffhbdghdhfffeacddbcccdd
89
+ @HWUSI-EAS163FR:13:1:13:7991:20840:0:1:1
90
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTGATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
91
+ +HWUSI-EAS163FR:13:1:13:7991:20840:0:1:1
92
+ hhhhhhhhhhhhhhhhhhfhhhhhhhghhffhhhfgggfhfhghh`_`bH\_^^^cdhgfecgffagdgabd_bddadcadebcc`a]aaddadaa]a`aa
93
+ @HWUSI-EAS163FR:13:1:13:7991:20840:0:3:1
94
+ GNNNACTACGGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
95
+ +HWUSI-EAS163FR:13:1:13:7991:20840:0:3:1
96
+ aBBB_aaaaa`BBB\\aaaahhhhhhhhhhgghhhhhhhhhhhhhbdBfdddbbdhghghhfafhhehehfbddghhgdhhdffgeedde[a_d_
97
+ @HWUSI-EAS163FR:13:1:13:17959:20835:0:1:1
98
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGATCGTAGATGGATGTTTACGTCAGTTGTGAAAGTTT
99
+ +HWUSI-EAS163FR:13:1:13:17959:20835:0:1:1
100
+ cffffffffffafff]fWffcfQff`ZK`YcX^aWbbb`b[accf]W_ffOd]YJJZ^^Z_a_fYIYYZYP[G^^VURVZaWWG^QSGVS]b^BBBBBBBB
101
+ @HWUSI-EAS163FR:13:1:13:17959:20835:0:3:1
102
+ GNNNACTACGCNNNTATCTAANCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCCATCGGAGTTC
103
+ +HWUSI-EAS163FR:13:1:13:17959:20835:0:3:1
104
+ \BBBVaa^^aaBBB^Z`__]dBeeeceedeacfffSfdefhhhcggh_fgffef]affc]fafcf]ffaf[cfRa_c]c]cW_cJ^d^[W\YQ[]
105
+ @HWUSI-EAS163FR:13:1:13:14495:20882:0:1:1
106
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTATTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCC
107
+ +HWUSI-EAS163FR:13:1:13:14495:20882:0:1:1
108
+ hhhhhhhhhhhhhhhhhhghhhhhhhghhfhhgghhhgfhgghhhhchhhhhgegfghfhhfhhhgfgegbfgdgffbdddd[ffdddf_dfdfcdc`ade
109
+ @HWUSI-EAS163FR:13:1:13:14495:20882:0:3:1
110
+ GNNNACTACGCNNNTATCTAATCCTGTTTGCTCCCCACGCTTTCGCANCTGAGCGTCAGTCTTCGTCCAGGGGGCCGCCTTCGCCACCGGTATTC
111
+ +HWUSI-EAS163FR:13:1:13:14495:20882:0:3:1
112
+ aBBB_bbbbbbBBB]^aaaahhhhhhhhhhhhghhhchhhhhhhgbbBddbbbbdhchhhhghghdhgdhffchgeffgfbgdcgeddb[__b_b
113
+ @HWUSI-EAS163FR:13:1:13:2382:20888:0:1:1
114
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTATTGGGCGTAAAGCGCGCGCAGGCGGATCGGTCAGTCTGTCTTAAAAGTTC
115
+ +HWUSI-EAS163FR:13:1:13:2382:20888:0:1:1
116
+ hhhhhhhhhhhhhhhghhhhhhhhhe_ffdffcc`hghghhggehh_bhhehgffhdfggacfdhdhgheahgbggffbhgda]dbbbbaa[d_[^Qb_`R
117
+ @HWUSI-EAS163FR:13:1:13:2382:20888:0:3:1
118
+ GNNNACTACGGNNNTATCTAATCCCGTNCGCTCCCCTGGCTTTCGCGNCTCAGCGTCAGTTTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
119
+ +HWUSI-EAS163FR:13:1:13:2382:20888:0:3:1
120
+ aBBBXaa^aaaBBBX^aaaahhhhheeBbededeegggaafhhhgdfBbb`ad`adfaffgghc[cf_]fW[`d_ehWcadehhd_aPbbM`]a^
121
+ @HWUSI-EAS163FR:13:1:13:4259:20898:0:1:1
122
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
123
+ +HWUSI-EAS163FR:13:1:13:4259:20898:0:1:1
124
+ hhhhhhhhhhhhhhhhhhhhhhhhhfdffcffffchghghfhghhfaff_afccfhchhdcafcfafafaafaffeaeedeedaeaaaddeecdaa_dadb
125
+ @HWUSI-EAS163FR:13:1:13:4259:20898:0:3:1
126
+ GNNNACTACGGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
127
+ +HWUSI-EAS163FR:13:1:13:4259:20898:0:3:1
128
+ aBBB]aaaa^`BBB\[a^a^hhhhhfcfffT[F[]SXXTVhhhhfbbBdddbbbbghhhfhhhahhhgfhdfbafdfffchd]_cadbac_a\a_
129
+ @HWUSI-EAS163FR:13:1:13:3280:20911:0:1:1
130
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTATTGGGCGTAAAGCGCGCGCAGGCGGATCAGTCAGTCTGTCTTAAAAGTTC
131
+ +HWUSI-EAS163FR:13:1:13:3280:20911:0:1:1
132
+ hhhhhhhhhhhhhhhhhhghhhhhhdeffdhhhddhdhghhhgghhabhhcheehgfhdffdghhghcggbheahdaabddaa^edcdedcce__a\aaa_
133
+ @HWUSI-EAS163FR:13:1:13:3280:20911:0:3:1
134
+ GNNNACTACCGNNNTATCTAATCCCGTNCGCTCCCCTGGCTTTCGCGNCTCAGCGTCAGTTTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
135
+ +HWUSI-EAS163FR:13:1:13:3280:20911:0:3:1
136
+ `BBB]]IZ]]aBBBW^aaaaghhhhedBeedeeeeh]hhhhhhhaddBeedbddfhhhhghhheheghgghdcfdhchghhghehceehh_hddd
137
+ @HWUSI-EAS163FR:13:1:13:4054:20949:0:1:1
138
+ TGTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTT
139
+ +HWUSI-EAS163FR:13:1:13:4054:20949:0:1:1
140
+ ffcffdcddLZaaaac_ccadbdb]aaOaaW\[^aY`]a^fffccddXb]dOd__dd`dd``Wddd^d\dXH\GPaaW^^``d[^a\ZWd^^b]bWXW^Zd
141
+ @HWUSI-EAS163FR:13:1:13:4054:20949:0:3:1
142
+ GNNNACTACCGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
143
+ +HWUSI-EAS163FR:13:1:13:4054:20949:0:3:1
144
+ ^BBBW]_\[ZZBBBT\a^a\hhhhhe\eeeadaddfffffhhhhhbdB`bbbbbdgghhhfhhdhdggghfcegfhhfdcdchdgdedgd_daca
145
+ @HWUSI-EAS163FR:13:1:13:4704:21006:0:1:1
146
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGGTGCAAGCGTTATCCGGAATGATTGGGCGTAAAGGGCTCGTAGGCGGTTCGTCGCGTCCGGTGTGAAAGTCC
147
+ +HWUSI-EAS163FR:13:1:13:4704:21006:0:1:1
148
+ hhhhhhhhhhhhhhhhhhehfhhhheefffafcfffefdfhehhhb_`dH]aaa_gdhdcddgghdgdhcdhgdgbddcdccgad^aaac_d_a]_\_^\a
149
+ @HWUSI-EAS163FR:13:1:13:4704:21006:0:3:1
150
+ GNNNACTACAGNNNTATCTAATCCTGTTCGCTCCCCACGCTTTCGCTNCTCAGCGTCAGTAACGGCCCAGAGACCTGCCTTCGCCATTGGTGTTC
151
+ +HWUSI-EAS163FR:13:1:13:4704:21006:0:3:1
152
+ ]BBBXY____`BBBY^a^aahehhhhhhhhghchhhhhhghhhffddBddd`dadehhhggggheghggfafdhdcddddhhhdgacWdbadadc
153
+ @HWUSI-EAS163FR:13:1:13:15502:21011:0:1:1
154
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCC
155
+ +HWUSI-EAS163FR:13:1:13:15502:21011:0:1:1
156
+ hhhhhhhhhhhhhhhhghfhhhghhfbffcZdbbbeddbehffhhhefhhfffhfffhfgfcgchfffffdfdcgfcdcc__T_ca\]a]`dac`a_^a_d
157
+ @HWUSI-EAS163FR:13:1:13:15502:21011:0:3:1
158
+ GNNNACTACGGNNNTATCTAANCCTGTTTGCTCCCCACGCTTTCGCANCTGAGCGTCAGTCTTCGTCCAGGGGGCCGCCTTCGCCACCGGTATTC
159
+ +HWUSI-EAS163FR:13:1:13:15502:21011:0:3:1
160
+ aBBB^aa_^a_BBBY\aaaadBffdfffffhhhhhhegghfhhhd`^Bd__`_bbfffhdfdfegaggdaddadddfffcdccfcddd_a]aaaa
161
+ @HWUSI-EAS163FR:13:1:13:13717:21119:0:1:1
162
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCTGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCC
163
+ +HWUSI-EAS163FR:13:1:13:13717:21119:0:1:1
164
+ ggggggggegegggfgggagdgbdgebdfc[fddaddd_dba`aJ^\\]^dfcaddde`c]ab]bd`dd`_cccbaY]_]WTZT]\\\_XY]R]VZUZ\L_
165
+ @HWUSI-EAS163FR:13:1:13:13717:21119:0:3:1
166
+ GNNNACTACCCNNNTATCTAANCCTGTTTGCTCCCCACGCTTTCGCANCTGAGCGTAAGTCTTCGTCCAGGGGGCCGCCTTCGCCACCGGTATTC
167
+ +HWUSI-EAS163FR:13:1:13:13717:21119:0:3:1
168
+ `BBB_bbbbbbBBB\_aaa^cBddafffdehhghhhhhhfhhhffd\Bd`^``ddRSU\V[Z[Z[hhhhh_c[caeabdcefdaddddad`acdd
169
+ @HWUSI-EAS163FR:13:1:13:2231:21246:0:1:1
170
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
171
+ +HWUSI-EAS163FR:13:1:13:2231:21246:0:1:1
172
+ hhhhhhhhchhhghffhghhghhhhhhghgfgghdfghehdhghhabfffbhhhhfdffdcafffbfffbcfaffeehhegf]Wgacafaffc]a`_c`fQ
173
+ @HWUSI-EAS163FR:13:1:13:2231:21246:0:3:1
174
+ GNNNACTACCGNNNTATCTAATCCTGTNTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
175
+ +HWUSI-EAS163FR:13:1:13:2231:21246:0:3:1
176
+ aBBBa_aa^aaBBB^\aaaaghhhhffBffeeeee_c_cdfdfffdcBeeffdefhh]Yc[W_ffhffdh[ffRafdcccghf_cfadfdW[cfW
177
+ @HWUSI-EAS163FR:13:1:13:11172:21249:0:1:1
178
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTATTGGGCGTAAAGCGCGCGCAGGCGGATCGGTCAGTCTGTCTTAAAAGTTC
179
+ +HWUSI-EAS163FR:13:1:13:11172:21249:0:1:1
180
+ hhhhhhhhhhhhhhhhhhfhhhgghdghhdhhggehggfhfegfhhcdgfdfebddffdfdaddfdfdfdcddcec`ccca_`__`aaa^ada___]a^aY
181
+ @HWUSI-EAS163FR:13:1:13:11172:21249:0:3:1
182
+ GNNNACTACACNNNTATCTAATCCCGTTCGCTCCCCTGGCTTTCGCGNCTCAGCGTCAGTTTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
183
+ +HWUSI-EAS163FR:13:1:13:11172:21249:0:3:1
184
+ _BBBZaaaaaaBBBZ^aaaahhhhhhhhhhhhhhhhhfghhhhhhb`Bbdbbdbdghdhhfffbfhffdhggdadcffffhbgad__]c[_c_aa
185
+ @HWUSI-EAS163FR:13:1:13:1874:21266:0:1:1
186
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGCAAGTTT
187
+ +HWUSI-EAS163FR:13:1:13:1874:21266:0:1:1
188
+ gggggggfgggggggggcggaggggfdffafeffdfafff_fedfdK`ddQfcfdfafc```fbd]dQ[_]f_fffabfaddbaf^``bbacf_J]_bW`e
189
+ @HWUSI-EAS163FR:13:1:13:1874:21266:0:3:1
190
+ GNNNACTACCGNNNTATCTAATCCTGTNTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTCAGCAGGCTGCCTTCGCAATCGGAGTTC
191
+ +HWUSI-EAS163FR:13:1:13:1874:21266:0:3:1
192
+ aBBB`^aa\aaBBBV[a\a\fhdafedBda]^acdfhfhhcafcfWaB_ca`^d_fcfffLb]LW`eJa_Sa^Ra^Wa]eLaaR^`[^daLKSa[
193
+ @HWUSI-EAS163FR:13:1:13:3728:21370:0:1:1
194
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
195
+ +HWUSI-EAS163FR:13:1:13:3728:21370:0:1:1
196
+ hhhhhhhhhhghhhhhhhhhhhhhhfcffdhhhhehhhhhhhghhfaffcbffcffcffa`_ddd_f`f``d_bdebfedff]_f`__bbaccc_^Y`Z_`
197
+ @HWUSI-EAS163FR:13:1:13:3728:21370:0:3:1
198
+ GNNNACNACGGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNCTCAATGTCAGTTGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
199
+ +HWUSI-EAS163FR:13:1:13:3728:21370:0:3:1
200
+ bBBB^\Ba^_\BBBZ[a\a\hhhhhhhhhfhgghhfhdhgfffff`dBbdbdbddhghghfdgdgeghfgfhhhgha]aghfefdbddddRa^a`
201
+ @HWUSI-EAS163FR:13:1:13:14734:21363:0:1:1
202
+ GTGTGCCAGCCGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTATTGGGCGTAAAGCGCGCGCAGGCGGATAGGTCAGTCTGTCTTAAAAGTTC
203
+ +HWUSI-EAS163FR:13:1:13:14734:21363:0:1:1
204
+ hhhhhhhhghhhhhhhhhfhhhhhhehhhchhffdhhgfhhghhhhffdhfffgfcfgdghfffhfggghbfd_fca_b_b]b_b_aabafccccdcabca
205
+ @HWUSI-EAS163FR:13:1:13:14734:21363:0:3:1
206
+ GNNNACTACGGNNNTATCTAANCCCGTTCGCTCCCCTGGCTTTCGCGNCTCAGCGTCAGTTTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
207
+ +HWUSI-EAS163FR:13:1:13:14734:21363:0:3:1
208
+ ^BBBYa`_aabBBB\aaaaaeBeeeedeeehhhhhhhhhgfhhhcd`Bd`d`addghdhdghhhgfghghehh_^aacfcdd[egcdcca^aaad
209
+ @HWUSI-EAS163FR:13:1:13:2725:21428:0:1:1
210
+ GTGTGCCAGNAGCCGCGGTAATACGTAGGGGGCAAGCGTTATCCGGATTTACTGGGTGTAAAGGGAGCGTAGACGGTTCTGCAAGTCTGGAGTGAAAGCCC
211
+ +HWUSI-EAS163FR:13:1:13:2725:21428:0:1:1
212
+ hhhhhfffeBdffffffheffffffhhhhhhgghhhhhghdhfhhh_hhhfghhffbfddacfcdbfdfdWf]cfghhgghedWcddffdWfddJ\W^^BB
213
+ @HWUSI-EAS163FR:13:1:13:2725:21428:0:3:1
214
+ GNNNACNACGCNNNTATCTAATCCCGTNCGCTCCCCTGGCTTTCGCGNCTCAGCGTCAGTTTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
215
+ +HWUSI-EAS163FR:13:1:13:2725:21428:0:3:1
216
+ aBBB_`Bbba`BBBY^bba`hhhhhffBec^cccc\Jdccehhh[daB`adbddehehhhhhhcgeehhhcJ^[_bWWbbhagfcddbae[_fWd
217
+ @HWUSI-EAS163FR:13:1:13:6824:21459:0:1:1
218
+ NTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTCATTGGGTTTAAAGGGAGCGTAGGCGGACGCTTAAGTCAGTTGTGAAAGTTT
219
+ +HWUSI-EAS163FR:13:1:13:6824:21459:0:1:1
220
+ BSSSSWWWWWb__b___________VUVTTVVVVVYYYYY_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
221
+ @HWUSI-EAS163FR:13:1:13:6824:21459:0:3:1
222
+ GNNNACTACGCNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGNATCAGCGTCAGTTACAGTCCAGCAGGCTGCCTTCGCAATCGGAGTTC
223
+ +HWUSI-EAS163FR:13:1:13:6824:21459:0:3:1
224
+ ^BBBT\a]\_\BBB[W_W_Wfhhhhghhhg_ghhhhchhghhhgh^`B_`bb`_`ecfgfhffdfaffdfcfdfddddcfddd`cabaab\a\a_
225
+ @HWUSI-EAS163FR:13:1:13:9876:21486:0:1:1
226
+ NTGTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCC
227
+ +HWUSI-EAS163FR:13:1:13:9876:21486:0:1:1
228
+ BSSSSWVVVVb_bb__bbbbbbb__YYYYQPWWWW[Y[[[b_b__b__b________bb______________Z______WQQWVOUUUSYYYYPWWTWW_
229
+ @HWUSI-EAS163FR:13:1:13:9876:21486:0:3:1
230
+ GNNNACTACGCNNNTATCTAANCCTGTCTGCTCCCCACGCTTTCGCANCTGAGCGTCAGTCTTCGTCCAGGGGGCCGCCTTCGCCACCGGTATTC
231
+ +HWUSI-EAS163FR:13:1:13:9876:21486:0:3:1
232
+ `BBB_`bb`b`BBB\\a^_^dBddd]YF[[ZZ[[[gghgehhhfgbbBbb_bb`bdgdfdgggegfhhdhcddbcefdfffcfdddfcba[_aaa
233
+ @HWUSI-EAS163FR:13:1:13:7294:21566:0:1:0
234
+ NNGTGCCAGCCGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATCATTGGGCGTAAAGCGCGCGCAGGCGGATCGGTCAGTCTGTCTTAAAAGTTC
235
+ +HWUSI-EAS163FR:13:1:13:7294:21566:0:1:0
236
+ BBKOJNQNQQ__________YYYYYYYYYYVTTVV[[[[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
237
+ @HWUSI-EAS163FR:13:1:13:7294:21566:0:3:0
238
+ GNNNACNACCGNNNTATCTAATCCCGTTCGCTCCCCTGGCTTTCGCGNCTCAGCGTCAGTTTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
239
+ +HWUSI-EAS163FR:13:1:13:7294:21566:0:3:0
240
+ aBBB]_Baaa^BBBTX]V][hhhheghhgh_hghhhehghhhheha`B`ab_b`bddRfehhhefgfffaf[fgdcgfdffca_a_acca_d_d_
241
+ @HWUSI-EAS163FR:13:1:14:4037:1434:0:1:1
242
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGAGTTATCCGGATTTAGTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
243
+ +HWUSI-EAS163FR:13:1:14:4037:1434:0:1:1
244
+ hhhghhhhhhhhhhhhhhfghhgghedhhaadddb`Q`_bacaccgcdggYHa^^ZW[ZXaaccd`bbda^a\aad__b_aa__aaa`d`ddad`_]b]aa
245
+ @HWUSI-EAS163FR:13:1:14:4037:1434:0:3:1
246
+ GNNNACTACCCNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTNGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
247
+ +HWUSI-EAS163FR:13:1:14:4037:1434:0:3:1
248
+ PBBBX`_aaabBBB`]``__ghhhghhhhhfhfhhhahhhhhhhhehhhhhhhhebfdedBdfbda_a_ahhcfgfhhhhhh]ghchhdddccge
249
+ @HWUSI-EAS163FR:13:1:14:18004:1460:0:1:1
250
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCC
251
+ +HWUSI-EAS163FR:13:1:14:18004:1460:0:1:1
252
+ hhhhhhhhhhfhhhhhhhfhhghhgfbffcQdbbbfdfdfddbddhddgghchhggchddbbd_fabdddddbag__aaa^\Y^`_a_aG^_Z_Y^a__^b
253
+ @HWUSI-EAS163FR:13:1:14:18004:1460:0:3:1
254
+ GNNNACTACAGNNNTATCTAATCCTGTTTGCTCCCCACGCTTTCGCACCTTAGCGTCAGTNTTCGTCCAGGGGGCCGCCTTCGCCACCGGTATTC
255
+ +HWUSI-EAS163FR:13:1:14:18004:1460:0:3:1
256
+ _BBB_aaaaaaBBBZ_____hhhhhhhhhhhhhhhhchghhhhfhd]hhdbhdfhbbbb`B_`^aZ\\\Ybbdddcdegf]ccda]^_^^U[^^_
257
+ @HWUSI-EAS163FR:13:1:14:10965:1570:0:1:1
258
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGGTGCAAGCGTCATCCGGAATTACTGGGCGTAAAGGGCTCGTAGGCGGTTCGTCGCGTCCGGTGTGAAAGTCC
259
+ +HWUSI-EAS163FR:13:1:14:10965:1570:0:1:1
260
+ gggggggggggggggggggggggggddfffaffcfaN_][TPQQUURSXZ[F^\\ZUZZZaadddddae`a[aabc`aaZ_aa_aa_aaVW___WZSROYX
261
+ @HWUSI-EAS163FR:13:1:14:10965:1570:0:3:1
262
+ GNNNACTACGCNNNTATCTAATCCTGTTCGCTCCCCACGCTTTCGCTCCTCAGCGTCAGTNACGGCCCAGAGACCTGCCTTCGCCATTGGTGTTC
263
+ +HWUSI-EAS163FR:13:1:14:10965:1570:0:3:1
264
+ ^BBBVa]__Z]BBBX\]]_`hffhdafffcgghhhh`hhfghhdhhdhhgefeef^aa`_Bbb__``a^_aabae_adgaacaccZR\\\R][^^
265
+ @HWUSI-EAS163FR:13:1:14:6225:1638:0:1:1
266
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCGGAATTAGTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCC
267
+ +HWUSI-EAS163FR:13:1:14:6225:1638:0:1:1
268
+ ggggggggggggggfgggggggggggeggg`gggg]O^[^bb`dbggfggWMZZU_`b_`gdfggdQbdddgaddaad__bbb_]_baaa]UZ_`aadabf
269
+ @HWUSI-EAS163FR:13:1:14:6225:1638:0:3:1
270
+ GNNNACTACGCNNNTATCTAATCCTGTTTGCTCCCCACGCTTTCGCACCTGAGCGTCAGTNTTCGTCCAGGGGGCCGCCTTCGCCACAGGTATTC
271
+ +HWUSI-EAS163FR:13:1:14:6225:1638:0:3:1
272
+ aBBBabbbbb]BBBY]___]hhhhhhhhhhhhhhhhfhghhhhhfhhhhhdechgbdbbbBZ^^]bddb`_gggghcddacfaaf`b`[_[`^[_
273
+ @HWUSI-EAS163FR:13:1:14:19237:1628:0:1:1
274
+ GTGTGCNAGCCGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
275
+ +HWUSI-EAS163FR:13:1:14:19237:1628:0:1:1
276
+ hhhhhfBfffdfffdhhhghhhhhhgghhaacfccghhghdhhhhgcehhchhhgfadedcdgdgbeeeabd_bdgcdcabdbaaabadadddda__daaa
277
+ @HWUSI-EAS163FR:13:1:14:19237:1628:0:3:1
278
+ GNNNACTACAGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTNGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
279
+ +HWUSI-EAS163FR:13:1:14:19237:1628:0:3:1
280
+ aBBB^aaaaa_BBB[^aaaahhhhhhhhghghghhhghghhhhhghhhhhhhahh`bbb`B^a^a]\\\\fgdadcadegde[gbdaac_Wdada
281
+ @HWUSI-EAS163FR:13:1:14:12932:1741:0:1:1
282
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAGATCCC
283
+ +HWUSI-EAS163FR:13:1:14:12932:1741:0:1:1
284
+ hhghhhhhhhhhhhhhghhhhhhhhhghhgbffffdhfehhgghggghhhbUb```bd`bggghhhffghffffgfdhfdebe_daddaaddaa___Q`]c
285
+ @HWUSI-EAS163FR:13:1:14:12932:1741:0:3:1
286
+ GNNNACTACCGNNNTATCTAATCCTGTTTGCTCCCCACGCTTTCGCACCTGAGCGTCAGTNTTCGTCCAGGGGGCCGCCTTCGCCACCGGTATTC
287
+ +HWUSI-EAS163FR:13:1:14:12932:1741:0:3:1
288
+ ^BBB\aaaaaaBBB^`````hghhh^fffffdhhhhghhgghhgahhfhfggghh`daa^Bddddbdb`bda_ehhhfhg_fW_d\d^`Z\aaaa
289
+ @HWUSI-EAS163FR:13:1:14:12140:1797:0:1:1
290
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTACTGGGCGTAAAGCGCGCGCAGGCGGATAGGTCAGTCTGTCTTAAAAGTTC
291
+ +HWUSI-EAS163FR:13:1:14:12140:1797:0:1:1
292
+ hhhhhhhhhhhhhhhhhhghhhhhh`bff]bdbbbhghghggehhhdahh^Ra`^```^`dfffgaedebahddfd___]____a`cada_bbI___aa_]
293
+ @HWUSI-EAS163FR:13:1:14:12140:1797:0:3:1
294
+ GNNNACTACACNNNTATCTAATCCCGTTCGCTCCCCTGGCTTTCGCGCCTCAGCGTCAGTNTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
295
+ +HWUSI-EAS163FR:13:1:14:12140:1797:0:3:1
296
+ aBBB_aaaaa]BBBX\`\`_hhhhchhhhehhhhhf`affhhhhchchhhhhghgbfddbBddddbdddbgghgahghhdhhhgh_dbdc_daad
297
+ @HWUSI-EAS163FR:13:1:14:9185:1953:0:1:1
298
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTACTGGGCGTAAAGCGCGCGCAGGCGGATCGGTCAGTCTGTCTTAAAAGTTC
299
+ +HWUSI-EAS163FR:13:1:14:9185:1953:0:1:1
300
+ hhhghhhhhhhhhhhhhhghhhhhhdhhhdhghhgcWfccfdffdddfhhbR`_```b`bhfdfggfgfhfhddfcf_fcaac_c\aa_\cabacaaa``b
301
+ @HWUSI-EAS163FR:13:1:14:9185:1953:0:3:1
302
+ GNNNACTACCGNNNTATCTAATCCCGTTCGCTCCCCTGGCTTTCGCGCCTCAGCGTCAGTNTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
303
+ +HWUSI-EAS163FR:13:1:14:9185:1953:0:3:1
304
+ ^BBB]aa^^\^BBBXbbbb`hhhhhhhhhfhfhhhhchhhfhhhhhhhgcfdfffbfffdBeeed`eeedheccghghhhhhghhghhgRacacf
305
+ @HWUSI-EAS163FR:13:1:14:9209:1945:0:1:1
306
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTACTGGGTGTAAAGGGCGCGCAGGTGGATGTGTAAGTCTGTTTTGAAAGTTT
307
+ +HWUSI-EAS163FR:13:1:14:9209:1945:0:1:1
308
+ ffffaffffed_ddfafffa`d_`dQU]ZTKRQKP^M]\^W_Z^_[PH^\SEZTUTKPWOZW^H^BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
309
+ @HWUSI-EAS163FR:13:1:14:9209:1945:0:3:1
310
+ GNNNACTACCGNNNTATCTAATCCCGTTCGCTCCCCTGGCTTTCGCGCCTCAGCGTCAGTNTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
311
+ +HWUSI-EAS163FR:13:1:14:9209:1945:0:3:1
312
+ _BBB]aaaaa\BBB]Z__]_ffff[fffLfcffffccfffffffadfaafacaWa`^Y``B`^I]WQNWYJ^^^\W^`\efffc``[b^bPJW_^
313
+ @HWUSI-EAS163FR:13:1:14:5635:2015:0:1:1
314
+ GTGTGCCAGCAGCCGCGGTAATACGTAGGGTGCAAGCGTTATCCGGAATTACTGGGCGTAAAGGGCTCGTAGGCGGTTCGTCGCGTCCGGTGTGAAAGTCC
315
+ +HWUSI-EAS163FR:13:1:14:5635:2015:0:1:1
316
+ hhhhhhhhhhhhhhhhhhhhhhhhhghhhh]ffcfaOcabfffffhfghh`Hdd`aaa_agghfhhfhhfeghghgdfgfaddbdddgbg_dccaccdabf
317
+ @HWUSI-EAS163FR:13:1:14:5635:2015:0:3:1
318
+ GNNNACTACGCNNNTATCTAATCCTGTTCGCTCCCTACGCTTTCGCTCCTCAGCGTCAGTNACGGCCCAGAGACCTGCCTTCGCCATTGGTGTTC
319
+ +HWUSI-EAS163FR:13:1:14:5635:2015:0:3:1
320
+ aBBB`aaaaa\BBBTa``_YhhhhghhhhhhghhhdcfhghhhhhhfhhhhhhhhfffffBddd`ddd``feefeddffdhhgeheeggdad_de
321
+ @HWUSI-EAS163FR:13:1:14:17418:2043:0:1:1
322
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
323
+ +HWUSI-EAS163FR:13:1:14:17418:2043:0:1:1
324
+ hhhhhhhhhhhhhhhhhhghhhhhhhfhhfghhhegghghhgfhggdhhhcghggdafedddgedcgfgdcg[dggbcdebddadcedddeeagaaac\bd
325
+ @HWUSI-EAS163FR:13:1:14:17418:2043:0:3:1
326
+ GNNNACTACAGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTNGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
327
+ +HWUSI-EAS163FR:13:1:14:17418:2043:0:3:1
328
+ aBBBaaaaaaZBBBW^aaaahhhhhhhhhhdchhhhhhhhhhhhghhghhhhchhfffffBdebd^[\[[[fddfhggggfghegeggLe]dab_
329
+ @HWUSI-EAS163FR:13:1:14:16008:2079:0:1:1
330
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTTTGTTAAGTCAGATGTGAAATCCC
331
+ +HWUSI-EAS163FR:13:1:14:16008:2079:0:1:1
332
+ hhhhhhhhhhhhhhhghhhhhhhhhfdffc`ffffhgfehgcghhfe[hheehea]afccffhcgecbecdhffgdedgda``accdbdQ_aac\`]`_^c
333
+ @HWUSI-EAS163FR:13:1:14:16008:2079:0:3:1
334
+ GNNNACTACCGNNNTATCTAATCCTGTTTGCTCCCCACGCTTTCGCACCTGAGCGTCAGTNTTCGTCCAGGGGGCCGCCTTCGCCACCGGTATTC
335
+ +HWUSI-EAS163FR:13:1:14:16008:2079:0:3:1
336
+ ^BBB[]a_a]aBBB\`b`bahhhhhfghhhhhhhhhchhghhhhhhWhhhfhgggbbbbbB`d`d___[_]ddcdeedfffdacfddcdda[daa
337
+ @HWUSI-EAS163FR:13:1:14:14760:2094:0:1:1
338
+ GTGTGCCAGCCGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
339
+ +HWUSI-EAS163FR:13:1:14:14760:2094:0:1:1
340
+ hhhhhhhhhhhhhhghhghhhhhhhhghhdhghhchhhhhfhgghfcfffdhhhcfaffabcdedahdhgbf_dedaaeddedaedccedfffg]aagdde
341
+ @HWUSI-EAS163FR:13:1:14:14760:2094:0:3:1
342
+ GNNNACTACGGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTNGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
343
+ +HWUSI-EAS163FR:13:1:14:14760:2094:0:3:1
344
+ ^BBBW_aa__`BBB]\a^a_hhhhhhhhhhghhhhhhhhhhhhhhhhhhhhhghgaffccB``^`JTWWWfhdfffchhffhbgeddgdacdcab
345
+ @HWUSI-EAS163FR:13:1:14:8199:2240:0:1:1
346
+ GTGTGCCAGCCGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGATTTACTGGGTTTAAAGGGCGCGCAGGCGGATCTGTCAGTCTGTCTTGAAAGTTC
347
+ +HWUSI-EAS163FR:13:1:14:8199:2240:0:1:1
348
+ hhhhhhhhhhhghhhhgghhhhhhhR[a_OROWPU^Q^]^Zda`ab^KbbZK\ZZTILTT^^`K`Z`^`QZ[JJ[ZZZOFITFQR___a`BBBBBBBBBBB
349
+ @HWUSI-EAS163FR:13:1:14:8199:2240:0:3:1
350
+ GNNNACTACGGNNNTATCTAATCCCGTTTGCTCCCCTGGCTTTCGCGCCTCAGCGTCAGTNTTCGTCCAGAAAGCCGCCTTCGCCACTGGTGTTC
351
+ +HWUSI-EAS163FR:13:1:14:8199:2240:0:3:1
352
+ ^BBBWaa___IBBBT\aaaahhhh]fffQfLd[ee^KLY^ededa[fffffcR[f]^^^^BUUT[OKNXUN]Z\L\[a`^dhdd[WQQ[[R^^__
353
+ @HWUSI-EAS163FR:13:1:14:10159:2240:0:1:1
354
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGTGTTATCCGGATTTACTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
355
+ +HWUSI-EAS163FR:13:1:14:10159:2240:0:1:1
356
+ hhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhbFdbbcffffgfhhh^Hc_^_^_a_hfghhfghhg`[_`bhgggdggcegchhgdegaeccdgdaf
357
+ @HWUSI-EAS163FR:13:1:14:10159:2240:0:3:1
358
+ GNNNACTACGGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTNGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
359
+ +HWUSI-EAS163FR:13:1:14:10159:2240:0:3:1
360
+ ^BBB]a_a___BBBZaaa_ahhhhhhhhhghhfhhghhhhhhhghhghhfhhhdh_`d``B`e``a^^^_dhddhcbgggegdgfb`L_^]a_ac
361
+ @HWUSI-EAS163FR:13:1:14:19702:2247:0:1:1
362
+ GTGTGCNAGCAGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTATTGGGCGTAAAGCGCGCGCAGGCGGATAGGTCAGTCTGTCTTAAAAGTTC
363
+ +HWUSI-EAS163FR:13:1:14:19702:2247:0:1:1
364
+ fffffdBdddY\aa^fffdffffffdfffcfffffeffeffefffecdefeeededffdeedddeeeddededdddddYY`]U]`_cccadddabbac`c_
365
+ @HWUSI-EAS163FR:13:1:14:19702:2247:0:3:1
366
+ GNNNACTACGGNNNTATCTAATCCCGTTCGCTCCCCTGGCTTTCGCGCCTCAGCGTCAGTATTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
367
+ +HWUSI-EAS163FR:13:1:14:19702:2247:0:3:1
368
+ ^BBB]aaaaabBBB\Z_\\_hgghhhhhhcfchhhhccghhhhghhhhhhhahhfefhfaRfdbdeffefhhhhahghegefeccccccaZ^]``
369
+ @HWUSI-EAS163FR:13:1:14:10956:2321:0:1:1
370
+ GTGTGCCAGCCGCCGCGGTAATACGTAGGTGGCAAGCGTTGTCCGGAATTATTGGGCGTAAAGCGCGCGCAGGCGGATCAGTCAGTCTCTCTTAAAAGTTC
371
+ +HWUSI-EAS163FR:13:1:14:10956:2321:0:1:1
372
+ hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhaafefhhhhhhhhhhdFdb``dd^ddhehhhhhghd[dcdeeaheeaedeOVFFEVTNNSgfge`g
373
+ @HWUSI-EAS163FR:13:1:14:10956:2321:0:3:1
374
+ GNNNACTACCCNNNTATCTAATCCCGTTCGCTCCCCTGGCTTTCGCGCCTCAGCGTCAGTNTTCGTCCAGAAAGTCGCCTTCGCCACTGGTGTTC
375
+ +HWUSI-EAS163FR:13:1:14:10956:2321:0:3:1
376
+ ^BBB]aaaaaaBBBZaaaaahhhhhhhhhcfdffffcfffhhhhghahheffefe^da`^Ba`d``dfbbghhecfafeadebdfac_a_M^\Z^
377
+ @HWUSI-EAS163FR:13:1:14:14947:2338:0:1:1
378
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCACGCAGGCGGTCTGTCAAGTCGGATGTGAAATCCC
379
+ +HWUSI-EAS163FR:13:1:14:14947:2338:0:1:1
380
+ hhhhhhhhhhhhhhhhhhghghhhhhehhhbffdfffhhhhegghhhdhhgegaehhadcgggghgfghg[e_aegdfbdcdedc]dcc[_c_caW\Z^^h
381
+ @HWUSI-EAS163FR:13:1:14:14947:2338:0:3:1
382
+ GNNNACTACCGNNNTATCTAATCCTGTTTGCTCCCCACGCTTTCGCACCTGAGCGTCAGTCTTCGTCCAGGGGGCCGCCTTCGCCACCGGTATTC
383
+ +HWUSI-EAS163FR:13:1:14:14947:2338:0:3:1
384
+ `BBB`bbbb`^BBB[``___hhhhhhhhhhhhhhhhghhhhhhhghahhg]fcffdfff]ZQ^]`ghehfgbgggddehcegccgdfd]bVaa_c
385
+ @HWUSI-EAS163FR:13:1:14:3515:2423:0:1:1
386
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTATTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
387
+ +HWUSI-EAS163FR:13:1:14:3515:2423:0:1:1
388
+ hhhhhhhhhhhhhhhhhhhhhhhhhfaffZ`bbbbhfhghhhghhhbhhh_N__da^da^dbfeeafcfeaf_achadddddcaeddbgacede__adbbc
389
+ @HWUSI-EAS163FR:13:1:14:3515:2423:0:3:1
390
+ GNNNACTACACNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTNGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
391
+ +HWUSI-EAS163FR:13:1:14:3515:2423:0:3:1
392
+ _BBBZ_aa_\\BBBW]````hhhhhghhhhchahhhgh[hhhhhh_hhhhhhg_hdddddB[aWaaa_a^caacfddffdhhhgJbb`^_abccd
393
+ @HWUSI-EAS163FR:13:1:14:6115:2415:0:1:1
394
+ GTGTGCCAGCAGCCGCGGTAATACGGAGGATCCGAGCGTTATCCGGATTTACTGGGTTTAAAGGGAGCGTAGATGGATGTTTAAGTCAGTTGTGAAAGTTT
395
+ +HWUSI-EAS163FR:13:1:14:6115:2415:0:1:1
396
+ hhhhhhhhhhhhhhhhhhhhhhhhhhdhh[Zadaa\F\Z\`dda`hehhh`Mda`a^^a_hghhgahhhfghaahgdfgfadgegdfag`fhfg__dda_a
397
+ @HWUSI-EAS163FR:13:1:14:6115:2415:0:3:1
398
+ GNNNACTACGGNNNTATCTAATCCTGTTTGATACCCACACTTTCGAGCCTCAATGTCAGTNGCAGCTTAGCAGGCTGCCTTCGCAATCGGAGTTC
399
+ +HWUSI-EAS163FR:13:1:14:6115:2415:0:3:1
400
+ aBBB_a`aa]ZBBBYaaaaahhhhhhhhhhdhchhhhhhhhhhhghhhghehhghbdfdbB`ead`\\^^fhdefacffadfddWb`b``adabe
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+
3
+ describe Lederhosen::Trimmer do
4
+
5
+ describe Lederhosen::Trimmer::PairedTrimmer do
6
+
7
+ end
8
+
9
+ describe Lederhosen::Trimmer::QSEQTrimmer do
10
+
11
+ let(:qseq_trimmer) { Lederhosen::Trimmer::QSEQTrimmer.new 'spec/data/ILT_L_9_B_001_1.txt.gz', 'spec/data/ILT_L_9_B_001_3.txt.gz' }
12
+
13
+ it 'can be initialized' do
14
+ qseq_trimmer.should_not be_nil
15
+ end
16
+
17
+ it 'has an #each function that generates record objects' do
18
+ qseq_trimmer.each do |x|
19
+ x.should be_an_instance_of Fasta
20
+ end
21
+ end
22
+
23
+ it 'should create an even number of records (not output singletons)' do
24
+ qseq_trimmer.to_a.flatten.size.should be_even
25
+ end
26
+ end
27
+
28
+ describe Lederhosen::Trimmer::InterleavedTrimmer do
29
+
30
+ let(:interleaved_trimmer) { Lederhosen::Trimmer::InterleavedTrimmer.new 'spec/data/example.fastq' }
31
+
32
+ it 'can be initialized' do
33
+ interleaved_trimmer.should_not be_nil
34
+ end
35
+
36
+ it 'has an #each function that generates record objects' do
37
+ interleaved_trimmer.each do |x|
38
+ x.should be_an_instance_of Fasta
39
+ end
40
+ end
41
+
42
+ it 'should create an even number of records (not output singletons)' do
43
+ interleaved_trimmer.to_a.flatten.size.should be_even
44
+ end
45
+ end
46
+
47
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lederhosen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.0.12
21
+ version: 0.1.2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.0.12
29
+ version: 0.1.2
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: progressbar
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +150,7 @@ files:
150
150
  - lib/lederhosen/tasks/split_fasta.rb
151
151
  - lib/lederhosen/tasks/trim.rb
152
152
  - lib/lederhosen/tasks/version.rb
153
+ - lib/lederhosen/trimmer.rb
153
154
  - lib/lederhosen/version.rb
154
155
  - readme.md
155
156
  - spec/cli_spec.rb
@@ -157,10 +158,11 @@ files:
157
158
  - spec/data/ILT_L_9_B_001_3.txt.gz
158
159
  - spec/data/ILT_L_9_B_002_1.txt.gz
159
160
  - spec/data/ILT_L_9_B_002_3.txt.gz
161
+ - spec/data/example.fastq
160
162
  - spec/data/test.uc
161
- - spec/misc_spec.rb
162
163
  - spec/no_tasks_spec.rb
163
164
  - spec/spec_helper.rb
165
+ - spec/trimmer_spec.rb
164
166
  homepage: http://audy.github.com/lederhosen
165
167
  licenses:
166
168
  - MIT
@@ -176,7 +178,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
176
178
  version: '0'
177
179
  segments:
178
180
  - 0
179
- hash: 598176715743028608
181
+ hash: 2684834348311279261
180
182
  required_rubygems_version: !ruby/object:Gem::Requirement
181
183
  none: false
182
184
  requirements:
data/spec/misc_spec.rb DELETED
@@ -1,11 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe String do
4
- it 'generate_kmers should generate kmers for a string' do
5
- 'test'.to_kmers(2).should == ['te', 'es', 'st']
6
- 'test'.to_kmers(3).should == ['tes', 'est']
7
- 'test'.to_kmers(4).should == ['test']
8
- 'test'.to_kmers(5).should == []
9
- 'test'.to_kmers(0).should == []
10
- end
11
- end