java.lang.Object
htsjdk.tribble.AbstractFeatureCodec<T,htsjdk.tribble.readers.LineIterator>
htsjdk.tribble.AsciiFeatureCodec<TableFeature>
org.broadinstitute.hellbender.utils.codecs.table.TableCodec
All Implemented Interfaces:
htsjdk.tribble.FeatureCodec<TableFeature,htsjdk.tribble.readers.LineIterator>

public final class TableCodec extends htsjdk.tribble.AsciiFeatureCodec<TableFeature>
Reads tab deliminated tabular text files

  • Header: must begin with line HEADER or track (for IGV), followed by any number of column names, separated by whitespace.
  • Header: Custom header delimiters can be provided, with a null header line being interpreted as having a non-delimeted header which consists of one line.
  • Comment lines starting with # are ignored
  • Each non-header and non-comment line is split into parts by whitespace, and these parts are assigned as a map to their corresponding column name in the header. Note that the first element (corresponding to the HEADER column) must be a valid genome loc such as 1, 1:1 or 1:1-10, which is the position of the Table element on the genome. TableCodec requires that there be one value for each column in the header, and no more, on all lines.

File format example 1

     HEADER a b c
     1:1  1   2   3
     1:2  4   5   6
     1:3  7   8   9
 

File format example 2

     a b c
     1:1  1   2   3
     1:2  4   5   6
     1:3  7   8   9
 
  • Field Details

  • Constructor Details

    • TableCodec

      public TableCodec(String headerLineDelimiter)
      Create a TableCodec with a configured header line delimiter
      Parameters:
      headerLineDelimiter - the delimeter for comment header lines, or null if the header is a single commented line-
    • TableCodec

      public TableCodec()
      Create a TableCodec for IGV track data.
  • Method Details

    • decode

      public TableFeature decode(String line)
      Specified by:
      decode in class htsjdk.tribble.AsciiFeatureCodec<TableFeature>
    • readActualHeader

      public List<String> readActualHeader(htsjdk.tribble.readers.LineIterator reader)
      Specified by:
      readActualHeader in class htsjdk.tribble.AsciiFeatureCodec<TableFeature>
    • canDecode

      public boolean canDecode(String path)