@@ -126,14 +126,22 @@ function PairedReads{A}(rdrx::FASTQ.Reader, rdry::FASTQ.Reader,
126126 readpos = write (fd, UInt64 (0 )) + sizepos
127127
128128 pairs = discarded = truncated = 0
129+ p = 1
129130
130131 @info " Building paired read datastore from FASTQ files"
131132 @info " Writing paired reads to datastore"
132133
133134 while ! eof (rdrx) && ! eof (rdry)
134135 # Read in the two records.
135- read! (rdrx, lread)
136- read! (rdry, rread)
136+ try # TODO : Get to the bottom of why this is nessecery to fix Windows issues.
137+ read! (rdrx, lread)
138+ read! (rdry, rread)
139+ catch ex
140+ if isa (ex, EOFError)
141+ break
142+ end
143+ rethrow ()
144+ end
137145
138146 llen = UInt64 (FASTQ. seqlen (lread))
139147 rlen = UInt64 (FASTQ. seqlen (rread))
@@ -178,7 +186,7 @@ function PairedReads{A}(rdrx::FASTQ.Reader, rdry::FASTQ.Reader,
178186
179187 seek (fd, sizepos)
180188 write (fd, nreads)
181-
189+ flush (fd)
182190 close (fd)
183191
184192 @info " Done writing paired read sequences to datastore"
@@ -205,7 +213,7 @@ function Base.open(::Type{PairedReads{A}}, filename::String, name::Union{String,
205213 nreads = read (fd, UInt64)
206214 readpos_offset = position (fd)
207215
208- return PairedReads {A} (filename, isnothing ( name) ? default_name : Symbol (name), default_name,
216+ return PairedReads {A} (filename, name === nothing ? default_name : Symbol (name), default_name,
209217 max_read_len, chunksize, fragsize,
210218 readpos_offset, nreads, orientation, fd)
211219end
0 commit comments