# Hierarchy For Package htsjdk.samtools

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - htsjdk.samtools.AbstractBAMFileIndex (implements htsjdk.samtools.BAMIndex)
    - htsjdk.samtools.CSIIndex (implements htsjdk.samtools.BrowseableBAMIndex)
    - htsjdk.samtools.DiskBasedBAMFileIndex
  - htsjdk.samtools.AbstractSAMHeaderRecord (implements java.io.Serializable)
    - htsjdk.samtools.SAMFileHeader (implements htsjdk.beta.plugin.HtsHeader)
    - htsjdk.samtools.SAMProgramRecord
    - htsjdk.samtools.SAMReadGroupRecord
    - htsjdk.samtools.SAMSequenceRecord (implements java.lang.Cloneable, htsjdk.samtools.util.Locatable)
  - htsjdk.samtools.AlignmentBlock (implements java.io.Serializable)
  - htsjdk.samtools.BamConverter
  - htsjdk.samtools.BamFileIoUtils
  - htsjdk.samtools.BAMFileReader.BAMQueryFilteringIterator
  - htsjdk.samtools.BAMFileSpan (implements htsjdk.samtools.SAMFileSpan, java.io.Serializable)
  - htsjdk.samtools.BAMIndexer
  - htsjdk.samtools.BAMIndexMetaData
  - htsjdk.samtools.BamIndexValidator
  - htsjdk.samtools.BAMQueryMultipleIntervalsIteratorFilter
  - htsjdk.samtools.BAMRecordCodec (implements htsjdk.samtools.util.SortingCollection.Codec<T>)
  - htsjdk.samtools.BAMSBIIndexer
  - htsjdk.samtools.BAMStartingAtIteratorFilter
  - htsjdk.samtools.BAMStreamWriter
  - htsjdk.samtools.Bin (implements java.lang.Comparable<T>)
    - htsjdk.samtools.BinWithOffset
  - htsjdk.samtools.BinaryTagCodec
  - htsjdk.samtools.BinList (implements java.lang.Iterable<T>)
  - htsjdk.samtools.BinningIndexBuilder
  - htsjdk.samtools.BinningIndexContent
  - htsjdk.samtools.BinningIndexContent.BinList (implements java.lang.Iterable<T>)
  - htsjdk.samtools.Chunk (implements java.lang.Cloneable, java.lang.Comparable<T>, java.io.Serializable)
  - htsjdk.samtools.Cigar (implements java.lang.Iterable<T>, java.io.Serializable)
  - htsjdk.samtools.CigarElement (implements java.io.Serializable)
  - htsjdk.samtools.CoordinateSortedPairInfoMap<KEY,REC> (implements java.lang.Iterable<T>)
  - htsjdk.samtools.CRAMBAIIndexer (implements htsjdk.samtools.CRAMIndexer)
  - htsjdk.samtools.CRAMContainerStreamWriter
  - htsjdk.samtools.CRAMCRAIIndexer (implements htsjdk.samtools.CRAMIndexer)
  - htsjdk.samtools.CRAMIterator (implements java.io.Closeable, htsjdk.samtools.SAMRecordIterator)
  - htsjdk.samtools.CustomReaderFactory
  - htsjdk.samtools.Defaults
  - htsjdk.samtools.DefaultSAMRecordFactory (implements htsjdk.samtools.SAMRecordFactory)
  - htsjdk.samtools.DownsamplingIterator (implements htsjdk.samtools.util.CloseableIterator<T>)
  - htsjdk.samtools.DownsamplingIteratorFactory
  - htsjdk.samtools.DuplicateScoringStrategy
  - htsjdk.samtools.DuplicateSet
  - htsjdk.samtools.DuplicateSetIterator (implements htsjdk.samtools.util.CloseableIterator<T>)
  - htsjdk.samtools.GenomicIndexUtil
  - htsjdk.samtools.HtsgetBAMFileReader.BAMQueryMultipleIntervalsIteratorFilter (implements htsjdk.samtools.filter.SamRecordFilter)
  - htsjdk.samtools.IndexMerger<T>
    - htsjdk.samtools.BAMIndexMerger
    - htsjdk.samtools.SBIIndexMerger
  - htsjdk.samtools.LinearIndex
  - htsjdk.samtools.MergingSamRecordIterator (implements htsjdk.samtools.util.CloseableIterator<T>)
  - htsjdk.samtools.metrics.MetricBase
    - htsjdk.samtools.SamFileValidator.ValidationMetrics
  - htsjdk.samtools.util.PeekableIterator<Object> (implements htsjdk.samtools.util.CloseableIterator<T>)
    - htsjdk.samtools.SamPairUtil.SetMateInfoIterator
  - htsjdk.samtools.QueryInterval (implements java.lang.Comparable<T>)
  - htsjdk.samtools.ReservedTagConstants
  - htsjdk.samtools.SAMBinaryTagAndValue (implements java.io.Serializable)
    - htsjdk.samtools.SAMBinaryTagAndUnsignedArrayValue
  - htsjdk.samtools.SAMFileHeader.PgIdGenerator
  - htsjdk.samtools.SamFileHeaderMerger
  - htsjdk.samtools.SamFiles
  - htsjdk.samtools.SAMFileSource
  - htsjdk.samtools.SamFileValidator
  - htsjdk.samtools.SAMFileWriterFactory (implements java.lang.Cloneable)
  - htsjdk.samtools.SAMFileWriterImpl (implements htsjdk.samtools.SAMFileWriter)
    - htsjdk.samtools.BAMFileWriter
    - htsjdk.samtools.CRAMFileWriter
    - htsjdk.samtools.SAMTextWriter
  - htsjdk.samtools.SAMHeaderRecordComparator<T> (implements java.util.Comparator<T>, java.io.Serializable)
  - htsjdk.samtools.SamInputResource
  - htsjdk.samtools.SAMLineParser
  - htsjdk.samtools.SamPairUtil
  - htsjdk.samtools.SamReader.AssertingIterator (implements htsjdk.samtools.SAMRecordIterator)
  - htsjdk.samtools.SamReader.PrimitiveSamReaderToSamReaderAdapter (implements htsjdk.samtools.SamReader, htsjdk.samtools.SamReader.Indexing)
  - htsjdk.samtools.SamReader.ReaderImplementation (implements htsjdk.samtools.SamReader.PrimitiveSamReader)
    - htsjdk.samtools.BAMFileReader
    - htsjdk.samtools.CRAMFileReader (implements java.lang.AutoCloseable, htsjdk.samtools.SamReader.Indexing)
    - htsjdk.samtools.HtsgetBAMFileReader
  - htsjdk.samtools.SamReader.Type
  - htsjdk.samtools.SamReaderFactory
  - htsjdk.samtools.SAMRecord (implements java.lang.Cloneable, htsjdk.beta.plugin.HtsRecord, htsjdk.samtools.util.Locatable, java.io.Serializable)
    - htsjdk.samtools.BAMRecord
  - htsjdk.samtools.SAMRecord.SAMTagAndValue
  - htsjdk.samtools.SAMRecordCoordinateComparator (implements htsjdk.samtools.SAMRecordComparator, java.io.Serializable)
  - htsjdk.samtools.SAMRecordDuplicateComparator (implements htsjdk.samtools.SAMRecordComparator, java.io.Serializable)
  - htsjdk.samtools.SAMRecordQueryNameComparator (implements htsjdk.samtools.SAMRecordComparator, java.io.Serializable)
    - htsjdk.samtools.SAMRecordQueryHashComparator (implements java.io.Serializable)
  - htsjdk.samtools.SAMRecordSetBuilder (implements java.lang.Iterable<T>)
  - htsjdk.samtools.SAMSequenceDictionary (implements htsjdk.beta.plugin.HtsHeader, java.io.Serializable)
  - htsjdk.samtools.SAMSequenceDictionaryCodec
  - htsjdk.samtools.SAMSortOrderChecker
  - htsjdk.samtools.SamStreams
  - htsjdk.samtools.SAMTagUtil
  - htsjdk.samtools.SAMTestUtil
  - htsjdk.samtools.SAMTextHeaderCodec
  - htsjdk.samtools.SAMUtils
  - htsjdk.samtools.SAMValidationError (implements java.io.Serializable)
  - htsjdk.samtools.SBIIndex (implements java.io.Serializable)
  - htsjdk.samtools.SBIIndex.Header (implements java.io.Serializable)
  - htsjdk.samtools.SBIIndexWriter
  - htsjdk.samtools.SecondaryAlignmentSkippingIterator
    - htsjdk.samtools.NotPrimarySkippingIterator
  - htsjdk.samtools.SecondaryOrSupplementarySkippingIterator
  - htsjdk.samtools.SQTagUtil
  - htsjdk.samtools.TagValueAndUnsignedArrayFlag
  - htsjdk.samtools.TextCigarCodec
  - htsjdk.samtools.TextTagCodec
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - htsjdk.samtools.SAMException
          - htsjdk.samtools.FileTruncatedException
          - htsjdk.samtools.SAMFormatException
        - htsjdk.samtools.SAMTestUtil.SanityCheckFailedException

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.io.Closeable
    - htsjdk.samtools.BAMIndex
      - htsjdk.samtools.BrowseableBAMIndex
    - htsjdk.samtools.util.CloseableIterator<T> (also extends java.util.Iterator<E>)
      - htsjdk.samtools.SAMRecordIterator
    - htsjdk.samtools.SAMFileWriter
    - htsjdk.samtools.SamReader (also extends java.lang.Iterable<T>)
- htsjdk.samtools.BinningIndexBuilder.FeatureToBeIndexed
- java.lang.Cloneable
  - htsjdk.samtools.SAMFileSpan
- java.util.Comparator<T>
  - htsjdk.samtools.SAMRecordComparator
- htsjdk.samtools.CoordinateSortedPairInfoMap.Codec<KEY,REC>
- htsjdk.samtools.CRAMIndexer
- htsjdk.samtools.CustomReaderFactory.ICustomReaderFactory
- java.lang.Iterable<T>
  - htsjdk.samtools.SamReader (also extends java.io.Closeable)
- java.util.Iterator<E>
  - htsjdk.samtools.util.CloseableIterator<T> (also extends java.io.Closeable)
    - htsjdk.samtools.SAMRecordIterator
- htsjdk.samtools.SamReader.Indexing
- htsjdk.samtools.SamReader.PrimitiveSamReader
- htsjdk.samtools.SAMRecordFactory

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - htsjdk.samtools.BamIndexValidator.IndexValidationStringency
    - htsjdk.samtools.CigarOperator
    - htsjdk.samtools.DownsamplingIteratorFactory.Strategy
    - htsjdk.samtools.DuplicateScoringStrategy.ScoringStrategy
    - htsjdk.samtools.SAMFileHeader.GroupOrder
    - htsjdk.samtools.SAMFileHeader.SortOrder
    - htsjdk.samtools.SAMFlag
    - htsjdk.samtools.SamFlagField
    - htsjdk.samtools.SamIndexes
    - htsjdk.samtools.SamPairUtil.PairOrientation
    - htsjdk.samtools.SamReaderFactory.Option
    - htsjdk.samtools.SAMReadGroupRecord.PlatformValue
    - htsjdk.samtools.SAMTag
    - htsjdk.samtools.SAMValidationError.Severity
    - htsjdk.samtools.SAMValidationError.Type
    - htsjdk.samtools.SQTagUtil.SQBase
    - htsjdk.samtools.ValidationStringency