Package picard.illumina.parser

# Class ReadStructure.Substructure

java.lang.Object
picard.illumina.parser.ReadStructure.Substructure

All Implemented Interfaces:
  `Iterable<ReadDescriptor>`

Enclosing class:
  ReadStructure

public class ReadStructure.Substructure extends Object implements Iterable<ReadDescriptor>
Represents a subset of ReadDescriptors in the containing ReadStructure, they ARE NOT necessarily contiguous in the containing ReadStructure but they ARE in the order they appear in the containing ReadStructure

## Constructor Summary

Constructors
Constructor
Description
`Substructure(List<Integer> descriptorIndices, List<Range> allRanges)`
Indices into the ReadStructure.descriptors for this specific substructure, indices must be in the order they appear in the descriptors list (but the indices do NOT have to be continuous)

## Method Summary

Modifier and Type
Method
Description
`ReadDescriptor`
`get(int index)`
`Range[]`
`getCycleIndexRanges()`
`int[]`
`getCycles()`
`int[]`
`getDescriptorLengths()`
`int[]`
`getIndices()`
`int`
`getTotalCycles()`
`boolean`
`isEmpty()`
`Iterator<ReadDescriptor>`
`iterator()`
`int`
`length()`
`ReadStructure`
`toReadStructure()`
Create a ReadStructure from this substructure composed of only the descriptors contained in this substructure, Any ReadDescriptors not in this substructure are treated as if they don't exist (e.g.

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

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

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

`forEach, spliterator`

## Constructor Details

### Substructure

public Substructure(List<Integer> descriptorIndices, List<Range> allRanges)
Indices into the ReadStructure.descriptors for this specific substructure, indices must be in the order they appear in the descriptors list (but the indices do NOT have to be continuous)

Parameters:
  `descriptorIndices` - A list of indices into ReadStructure.descriptors of the enclosing ReadStructure
  `allRanges` - A list of ranges for all reads (not just those in this substructure) in the same order as ReadStructure.descriptors

## Method Details

### get

public ReadDescriptor get(int index)

### isEmpty

public boolean isEmpty()

### length

public int length()

### getTotalCycles

public int getTotalCycles()

### getIndices

public int[] getIndices()

### getDescriptorLengths

public int[] getDescriptorLengths()

### getCycleIndexRanges

public Range[] getCycleIndexRanges()

### iterator

public Iterator<ReadDescriptor> iterator()

Specified by:
  `iterator` in interface `Iterable<ReadDescriptor>`

### getCycles

public int[] getCycles()

### toReadStructure

public ReadStructure toReadStructure()
Create a ReadStructure from this substructure composed of only the descriptors contained in this substructure, Any ReadDescriptors not in this substructure are treated as if they don't exist (e.g. if you have a readStructure (36T8S8B36T) and this substructure consists of all the non-skipped reads than toReadStructure would return (36T8B36T) in ReadStructure form