Class CRAMCodecV2_1

java.lang.Object
htsjdk.beta.codecs.reads.cram.CRAMCodec
htsjdk.beta.codecs.reads.cram.cramV2_1.CRAMCodecV2_1
All Implemented Interfaces:
HtsCodec<ReadsDecoderOptions,ReadsEncoderOptions>, ReadsCodec, Upgradeable

public class CRAMCodecV2_1 extends CRAMCodec
CRAM v2.1 codec
  • Field Details

    • VERSION_2_1

      public static final HtsVersion VERSION_2_1
  • Constructor Details

    • CRAMCodecV2_1

      public CRAMCodecV2_1()
  • Method Details

    • getVersion

      public HtsVersion getVersion()
      Description copied from interface: HtsCodec
      Get the version of the file format returned by HtsCodec.getFileFormat() that is supported by this codec.
      Returns:
      the file format version (HtsVersion) supported by this codec
    • getSignatureLength

      public int getSignatureLength()
      Description copied from interface: HtsCodec
      Get the number of bytes in the format and version signature used by the file format supported by this codec.
      Returns:
      if the file format supported by this codecs is not remote, and is accessible via a local file or stream, the size of the unique signature/version for this file format. otherwise 0.

      Note: Codecs that are custom URI handlers (those that return true for HtsCodec.ownsURI(htsjdk.io.IOPath)), should always return 0 from this method. Since this method is used during codec resolution, implementations should avoid calling methods that may throw exceptions.
    • getDecoder

      public CRAMDecoder getDecoder(Bundle inputBundle, ReadsDecoderOptions readsDecoderOptions)
      Description copied from interface: HtsCodec
      Get an HtsDecoder to decode the provided inputs. The input bundle must contain resources of the type required by this codec. To find a codec appropriate for decoding a given resource, use an HtsCodecResolver obtained from an HtsCodecRegistry.

      The framework will never call thi* method unless either HtsCodec.ownsURI(IOPath), or HtsCodec.canDecodeURI(IOPath) and HtsCodec.canDecodeSignature(SignatureStream, String) (IOPath)} return true for inputBundle.

      Parameters:
      inputBundle - input to be decoded. To get a decoder for use with index queries that use HtsQuery methods, the bundle must contain an index resource.
      readsDecoderOptions - options for the decoder to use
      Returns:
      an HtsDecoder that can decode the provided inputs
    • getEncoder

      public CRAMEncoder getEncoder(Bundle outputBundle, ReadsEncoderOptions readsEncoderOptions)
      Description copied from interface: HtsCodec
      Get an HtsEncoder to encode to the provided outputs. The output bundle must contain resources of the type required by this codec. To find a codec appropriate for encoding a given resource, use an HtsCodecResolver obtained from an HtsCodecRegistry.

      The framework will never call this method unless either HtsCodec.ownsURI(IOPath), or HtsCodec.canDecodeURI(IOPath) returned true for outputBundle.
      Parameters:
      outputBundle - target output for the encoder
      readsEncoderOptions - encoder options to use
      Returns:
      an HtsEncoder suitable for writing to the provided outputs
    • getSignatureString

      protected String getSignatureString()
      Description copied from class: CRAMCodec
      Get the signature string for this codec.
      Specified by:
      getSignatureString in class CRAMCodec
      Returns:
      the signature string for this codec