picard.illumina.parser

## Class MultiTileParser<OUTPUT_RECORD extends picard.illumina.parser.IlluminaData>

- java.lang.Object
- - picard.illumina.parser.MultiTileParser<OUTPUT_RECORD>

- Type Parameters:
    `OUTPUT_RECORD` - The kind of record to be returned (as opposed to the type of the record stored in the file).
  Direct Known Subclasses:
    MultiTileFilterParser, MultiTileLocsParser

      public abstract class MultiTileParser<OUTPUT_RECORD extends picard.illumina.parser.IlluminaData>
      extends Object

  Abstract class for files with fixed-length records for multiple tiles, e.g. .locs and .filter files.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MultiTileParser(TileIndex tileIndex, List<Integer> requestedTiles, Set<IlluminaDataType> supportedTypes)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `int` | `getTileOfNextCluster()` Get the tile for the NEXT DATA_TYPE object that will be returned by this parser.
    `boolean` | `hasNext()` Is there a DATA_TYPE object for another cluster remaining.
    `OUTPUT_RECORD` | `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

    - #### MultiTileParser

          public MultiTileParser(TileIndex tileIndex,
                                 List<Integer> requestedTiles,
                                 Set<IlluminaDataType> supportedTypes)

      Parameters:
        `tileIndex` - Enables conversion from tile number to record number in this file.
        `requestedTiles` - Iterate over these tile numbers, which must be in ascending order.
        `supportedTypes` - The data types(s) that are provided by this file type, used to decide what file types to read.

  - ### Method Detail

    - #### seekToTile

          public void seekToTile(int oneBasedTileNumber)

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

    - #### next

          public OUTPUT_RECORD 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.

    - #### 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

    - #### getTileOfNextCluster

          public int getTileOfNextCluster()

      Get the tile for the NEXT DATA_TYPE object that will be returned by this parser. This should be called BEFORE next if you want the tile for the value returned by next

    - #### 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

    - #### remove

          public void remove()

    - #### close

          public void close()