Class 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 Detail

      • 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 Detail

      • isEmpty

        public boolean isEmpty()
      • length

        public int length()
      • getTotalCycles

        public int getTotalCycles()
      • getIndices

        public int[] getIndices()
      • getDescriptorLengths

        public int[] getDescriptorLengths()
      • getCycleIndexRanges

        public Range[] getCycleIndexRanges()
      • 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