picard.illumina.parser

## Class PerTileParser<ILLUMINA_DATA extends picard.illumina.parser.IlluminaData>

- java.lang.Object
- - picard.illumina.parser.PerTileParser<ILLUMINA_DATA>

- Direct Known Subclasses:
    PosParser

      public abstract class PerTileParser<ILLUMINA_DATA extends picard.illumina.parser.IlluminaData>
      extends Object

  Abstract base class for Parsers that open a single tile file at a time and iterate through them.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PerTileParser(picard.illumina.parser.IlluminaFileMap tilesToFiles)`
    `PerTileParser(picard.illumina.parser.IlluminaFileMap tilesToFiles, int nextTile)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `int` | `getTileOfNextCluster()` Return the tile of the NEXT ILLUMINA_DATA object to be returned by the method next.
    `boolean` | `hasNext()` Is there a DATA_TYPE object for another cluster remaining.
    `protected abstract htsjdk.samtools.util.CloseableIterator<ILLUMINA_DATA>` | `makeTileIterator(File nextTileFile)` Factory method for the iterator of each tile
    `void` | `maybeAdvance()`
    `ILLUMINA_DATA` | `next()` Read the next read's set of data and set it into the provided data object.
    `void` | `remove()`
    `void` | `seekToTile(int oneBasedTileNumber)` Jump so that the next record returned will be from the specified tile.
    `Set<IlluminaDataType>` | `supportedTypes()` The DataTypes that this parser can provide
    `void` | `verifyData(List<Integer> tiles, int[] cycles)` Given the expected tiles and cycles for this run, make sure this parser can provide data for all tiles/cycles or throws an exception if it's missing any required data or data structures it relies on do not disagree with the provided tiles/cycles

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.util.Iterator

      `forEachRemaining`

- - ### Constructor Detail

    - #### PerTileParser

          public PerTileParser(picard.illumina.parser.IlluminaFileMap tilesToFiles)

    - #### PerTileParser

          public PerTileParser(picard.illumina.parser.IlluminaFileMap tilesToFiles,
                               int nextTile)

  - ### Method Detail

    - #### makeTileIterator

          protected abstract htsjdk.samtools.util.CloseableIterator<ILLUMINA_DATA> makeTileIterator(File nextTileFile)

      Factory method for the iterator of each tile

    - #### getTileOfNextCluster

          public int getTileOfNextCluster()

      Return the tile of the NEXT ILLUMINA_DATA object to be returned by the method next. This might force us to advance to the next file (as it will contains the data for the next) tile/ILLUMINA_DATA object.
      Returns:
        tile number for the next ILLUMINA_DATA object to be returned

    - #### seekToTile

          public void seekToTile(int oneBasedTileNumber)

      Jump so that the next record returned will be from the specified tile.

    - #### maybeAdvance

          public void maybeAdvance()

    - #### next

          public ILLUMINA_DATA next()

      Read the next read's set of data and set it into the provided data object. The object must have the appropriate IlluminaEndData objects set into it for first end, second end, barcode.

    - #### remove

          public void remove()

    - #### hasNext

          public boolean hasNext()

      Is there a DATA_TYPE object for another cluster remaining.
      Returns:
        TRUE if there is a DATA_TYPE object for the next cluster that can be provided by next

    - #### close

          public void close()

    - #### verifyData

          public void verifyData(List<Integer> tiles,
                                 int[] cycles)

      Given the expected tiles and cycles for this run, make sure this parser can provide data for all tiles/cycles or throws an exception if it's missing any required data or data structures it relies on do not disagree with the provided tiles/cycles
      Parameters:
        `tiles` - The number of tiles in the current run
        `cycles` - The number of cycles in the current run

    - #### supportedTypes

          public Set<IlluminaDataType> supportedTypes()

      The DataTypes that this parser can provide