Package htsjdk.samtools.fastq
Class FastqReader
- java.lang.Object
-
- htsjdk.samtools.fastq.FastqReader
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Iterable<FastqRecord>,Iterator<FastqRecord>
public class FastqReader extends Object implements Iterator<FastqRecord>, Iterable<FastqRecord>, Closeable
Reads a FASTQ file with four lines per record. WARNING: Despite the fact that this class implements Iterable, calling iterator() method does not start iteration from the beginning of the file. Developers should probably not call iterator() directly. It is provided so that this class can be used in Java for-each loop.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classFastqReader.LineTypeEnum of the types of lines we see in Fastq.
-
Constructor Summary
Constructors Constructor Description FastqReader(BufferedReader reader)FastqReader(File file)FastqReader(File file, boolean skipBlankLines)ConstructorFastqReader(File file, BufferedReader reader)FastqReader(File file, BufferedReader reader, boolean skipBlankLines)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheckLine(String line, FastqReader.LineType kind)Checks that the line is neither null (representing EOF) or empty (blank line in file).voidclose()protected Stringerror(String msg)Generates an error message with line number information.FilegetFile()intgetLineNumber()booleanhasNext()Iterator<FastqRecord>iterator()WARNING: Despite the fact that this class implements Iterable, calling iterator() method does not start iteration from the beginning of the file.FastqRecordnext()voidremove()StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Constructor Detail
-
FastqReader
public FastqReader(File file)
-
FastqReader
public FastqReader(File file, boolean skipBlankLines)
Constructor- Parameters:
file- of FASTQ to read read. Will be opened with htsjdk.samtools.util.IOUtil.openFileForBufferedReadingskipBlankLines- should we skip blank lines ?
-
FastqReader
public FastqReader(BufferedReader reader)
-
FastqReader
public FastqReader(File file, BufferedReader reader, boolean skipBlankLines)
Constructor- Parameters:
file- Name of FASTQ being read, or null if not known.reader- input reader . Will be closed by the close methodskipBlankLines- should we skip blank lines ?
-
FastqReader
public FastqReader(File file, BufferedReader reader)
-
-
Method Detail
-
hasNext
public boolean hasNext()
- Specified by:
hasNextin interfaceIterator<FastqRecord>
-
next
public FastqRecord next()
- Specified by:
nextin interfaceIterator<FastqRecord>
-
remove
public void remove()
- Specified by:
removein interfaceIterator<FastqRecord>
-
iterator
public Iterator<FastqRecord> iterator()
WARNING: Despite the fact that this class implements Iterable, calling iterator() method does not start iteration from the beginning of the file. Developers should probably not call iterator() directly. It is provided so that this class can be used in Java for-each loop.- Specified by:
iteratorin interfaceIterable<FastqRecord>
-
getLineNumber
public int getLineNumber()
-
getFile
public File getFile()
- Returns:
- Name of FASTQ being read, or null if not known.
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
checkLine
protected void checkLine(String line, FastqReader.LineType kind)
Checks that the line is neither null (representing EOF) or empty (blank line in file).
-
-