Fastq.open(file, mode='r') do |fastq|
fastq.each do |entry|
if encoding == 'auto'
- if entry.qual.match(/[!-:]/) # sanger or illumina18
+ if entry.qual_base33? # sanger or illumina18
encoding = 'illumina18'
- elsif entry.qual.match(/[K-h]/) # solexa or illumina13 or illumina15
+ elsif entry.qual_base64? # solexa or illumina13 or illumina15
encoding = 'illumina13'
else
raise SeqError, "Could not auto-detect quality score encoding"