Package htsjdk.samtools.cram.structure
Class Slice
- java.lang.Object
-
- htsjdk.samtools.cram.structure.Slice
-
public class Slice extends Object
CRAM slice is a logical union of blocks into for example alignment slices.
-
-
Field Summary
Fields Modifier and Type Field Description int
alignmentSpan
int
alignmentStart
long
bases
long
containerOffset
int[]
contentIDs
Block
coreBlock
Block
embeddedRefBlock
int
embeddedRefBlockContentID
Map<Integer,Block>
external
long
globalRecordCounter
Block
headerBlock
int
index
static int
MULTI_REFERENCE
static int
NO_ALIGNMENT_SPAN
static int
NO_ALIGNMENT_START
int
nofBlocks
int
nofRecords
int
offset
byte[]
refMD5
int
sequenceId
int
size
SAMBinaryTagAndValue
sliceTags
-
Constructor Summary
Constructors Constructor Description Slice()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CramRecordReader
createCramRecordReader(CompressionHeader header, ValidationStringency validationStringency)
Initialize a Cram Record Reader from a SliceObject
getAttribute(short tag)
Get tag value attached to the slice.Map<Integer,AlignmentSpan>
getMultiRefAlignmentSpans(CompressionHeader header, ValidationStringency validationStringency)
Uses a Multiple Reference Slice Alignment Reader to determine the Reference Spans of a Slice.boolean
isMapped()
boolean
isMultiref()
void
setAttribute(String tag, Object value)
Set a value for the tag.void
setRefMD5(byte[] ref)
void
setUnsignedArrayAttribute(String tag, Object value)
String
toString()
boolean
validateRefMD5(byte[] ref)
-
-
-
Field Detail
-
MULTI_REFERENCE
public static final int MULTI_REFERENCE
- See Also:
- Constant Field Values
-
NO_ALIGNMENT_START
public static final int NO_ALIGNMENT_START
- See Also:
- Constant Field Values
-
NO_ALIGNMENT_SPAN
public static final int NO_ALIGNMENT_SPAN
- See Also:
- Constant Field Values
-
sequenceId
public int sequenceId
-
alignmentStart
public int alignmentStart
-
alignmentSpan
public int alignmentSpan
-
nofRecords
public int nofRecords
-
globalRecordCounter
public long globalRecordCounter
-
nofBlocks
public int nofBlocks
-
contentIDs
public int[] contentIDs
-
embeddedRefBlockContentID
public int embeddedRefBlockContentID
-
refMD5
public byte[] refMD5
-
headerBlock
public Block headerBlock
-
coreBlock
public Block coreBlock
-
embeddedRefBlock
public Block embeddedRefBlock
-
offset
public int offset
-
containerOffset
public long containerOffset
-
size
public int size
-
index
public int index
-
bases
public long bases
-
sliceTags
public SAMBinaryTagAndValue sliceTags
-
-
Method Detail
-
validateRefMD5
public boolean validateRefMD5(byte[] ref)
-
setRefMD5
public void setRefMD5(byte[] ref)
-
getAttribute
public Object getAttribute(short tag)
Get tag value attached to the slice.- Parameters:
tag
- tag ID as a short integer as returned bySAMTag.makeBinaryTag(String)
- Returns:
- a value of the tag
-
setAttribute
public void setAttribute(String tag, Object value)
Set a value for the tag.- Parameters:
tag
- tag ID as a short integer as returned bySAMTag.makeBinaryTag(String)
value
- tag value
-
isMapped
public boolean isMapped()
-
isMultiref
public boolean isMultiref()
-
createCramRecordReader
public CramRecordReader createCramRecordReader(CompressionHeader header, ValidationStringency validationStringency)
Initialize a Cram Record Reader from a Slice- Parameters:
header
- the associated Cram Compression HeadervalidationStringency
- how strict to be when reading this CRAM record
-
getMultiRefAlignmentSpans
public Map<Integer,AlignmentSpan> getMultiRefAlignmentSpans(CompressionHeader header, ValidationStringency validationStringency)
Uses a Multiple Reference Slice Alignment Reader to determine the Reference Spans of a Slice. The intended use is for CRAI indexing.- Parameters:
header
- the associated Cram Compression HeadervalidationStringency
- how strict to be when reading CRAM records
-
-