Package htsjdk.samtools.util

# Class EdgingRecordAndOffset

java.lang.Object
htsjdk.samtools.util.AbstractRecordAndOffset
htsjdk.samtools.util.EdgingRecordAndOffset

public abstract class EdgingRecordAndOffset extends AbstractRecordAndOffset
Holds a SAMRecord plus the zero-based offset into that SAMRecord's bases and quality scores that corresponds to the base and quality for the start of alignment block at the genomic position described by the AbstractLocusInfo. This is implementation for EdgeReadIterator, field `type` added to indicate whether object represents the start or the end of an alignment block.

Subclasses StartEdgingRecordAndOffset and EndEdgingRecordAndOffset are used in EdgeReadIterator to distinguish starting and ending of the alignment block as for each alignment block two objects of `EdgingRecordAndOffset` are created with two different types. The main idea of using EdgeReadIterator is to process alignment block starting from locus where BEGIN type occurs, aggregate information per locus and keep it until END type occurs, then remove alignment block from consideration.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`EdgingRecordAndOffset.Type`
Describes the type of `TypedRecordAndOffset`, whether it represents the start or the end of an alignment block.

## Nested classes/interfaces inherited from class htsjdk.samtools.util.AbstractRecordAndOffset

`AbstractRecordAndOffset.AlignmentType`

## Field Summary

### Fields inherited from class htsjdk.samtools.util.AbstractRecordAndOffset

`alignmentType, offset, record`

## Method Summary

Modifier and Type
Method
Description
`static EdgingRecordAndOffset`
`createBeginRecord(SAMRecord record, int offset, int length, int refPos)`
`static EdgingRecordAndOffset`
`createEndRecord(EdgingRecordAndOffset startRecord)`
`abstract byte`
`getBaseQuality(int position)`
`abstract int`
`getRefPos()`
`abstract EdgingRecordAndOffset`
`getStart()`
`abstract EdgingRecordAndOffset.Type`
`getType()`

### Methods inherited from class htsjdk.samtools.util.AbstractRecordAndOffset

`getAlignmentType, getBaseQualities, getBaseQuality, getLength, getOffset, getReadBase, getReadName, getRecord, validateOffset`

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

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

## Method Details

### getStart

public abstract EdgingRecordAndOffset getStart()

### getType

public abstract EdgingRecordAndOffset.Type getType()

### getBaseQuality

public abstract byte getBaseQuality(int position)

### getRefPos

public abstract int getRefPos()

### createBeginRecord

public static EdgingRecordAndOffset createBeginRecord(SAMRecord record, int offset, int length, int refPos)

### createEndRecord

public static EdgingRecordAndOffset createEndRecord(EdgingRecordAndOffset startRecord)