Package org.snpeff.binseq.indexer

# Class SequenceIndexer<T extends BinarySequence>

java.lang.Object
org.snpeff.binseq.indexer.SequenceIndexer<T>

All Implemented Interfaces:
  `Iterable<T>`, `Comparator<Long>`

Direct Known Subclasses:
  `SuffixIndexerNmer`

public class SequenceIndexer<T extends BinarySequence> extends Object implements Comparator<Long>, Iterable<T>
A collection of sequences that are indexed using some algorithm Note: The ID is just the position in the array. That is why the array should not change the order of the elements (only append new ones or replace old ones).

Author:
  pcingola

## Constructor Summary

Constructors
Constructor
Description
`SequenceIndexer(SubsequenceComparator<T> subsequenceComparator)`

## Method Summary

Modifier and Type
Method
Description
`void`
`add(Collection<T> sequences)`
Add a collection of sequences
`int`
`add(T sequence)`
Add a sequence to this index
`int`
`compare(Long reference1, Long reference2)`
Compare two references
`T`
`get(int idx)`
Get sequence in entry number 'idx'
`Iterator<T>`
`iterator()`
`int`
`size()`
Number of sequences in this index

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

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

### Methods inherited from interface java.util.Comparator

`equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

## Constructor Details

### SequenceIndexer

public SequenceIndexer(SubsequenceComparator<T> subsequenceComparator)

## Method Details

### add

public void add(Collection<T> sequences)
Add a collection of sequences

Parameters:
  `sequences` -

### add

public int add(T sequence)
Add a sequence to this index

Parameters:
  `sequence` -
Returns:
  Index to this sequence (a number that can be used to retrieve this sequence)

### compare

public int compare(Long reference1, Long reference2)
Compare two references

Specified by:
  `compare` in interface `Comparator<T extends BinarySequence>`
Parameters:
  `reference1` -
  `reference2` -
Returns:

### get

public T get(int idx)
Get sequence in entry number 'idx'

Parameters:
  `idx` -
Returns:

### iterator

public Iterator<T> iterator()

Specified by:
  `iterator` in interface `Iterable<T extends BinarySequence>`

### size

public int size()
Number of sequences in this index

Returns: